Consultingwerk Blog

A few words on OpenEdge UltraControls and deployment…

by Marko Rüterbories | Jul 15, 2011

Very often we are faced with questions about deployment of OpenEdge GUI for .NET based applications and references to .NET Assemblies.

End users might run into error messages like this when starting forms using the OpenEdge Ultra Controls (Infragistics NetAdvantage for WinForms):

Assembly-load-error

In particular this message is an indication for running R-Code that was compiled with OpenEdge 10.2A on an OpenEdge 10.2B runtime.  The 10.2A compiler has generated references to an Infragistics Assembly with the version number 8.1.20081.1000 (the Infragistics release shipped with OpenEdge 10.2A) and the 10.2B runtime does only find Infragistics Controls of a 9.2.20092 (2009.2) release. These assemblies are by default not a substitute for each other.

To my knowledge the only way to check which versions of Infragistics were used to compile a certain R-Code is by looking at the R-Code using a binary or text editor. Near the end of the file (search for Infragistics) you will find references to the used .NET Assemblies:

Assembly-references-in-R-Code

Here’s a list of the Infragistics Versions that Progress shipped with past OpenEdge releases:

OpenEdge Release Version of UltraControls
10.2A 8.1.20081.1000
10.2A01 8.1.20081.1000
10.2A02 8.1.20081.2150
10.2B 9.2.20092.2017
10.2B01 9.2.20092.2058
10.2B02 9.2.20092.2090
10.2B03 9.2.20092.2119
10.2B04 9.2.20092.2119
10.2B05 9.2.20092.2119

This list is also available in the Progress K-Base: https://knowledgebase.progress.com/articles/Article/P187231

As you can see Progress is updating the Infragsitics/OpenEdge UltraControls Version also between Service Packs. And for OpenEdge 11 another update of the OpenEdge UltraControls is announced (shipping a 2011 release of Infragistics). So this is probably going to become a continuous topic…

How does Progress solve Assembly compatibility in Service Packs?

The .NET Framework uses a technique called “Assembly Probing” that allows to define .NET Assemblies that are a valid substitute for another. Progress uses Assembly Probing when running R-Code and loading the required Assemblies. Assembly probing is defined in a file called prowin32.exe.config. This file must reside in the same directory as the prowin32.exe file itself (%DLC%\bin directory). This is a .NET convention that Progress has to follow.

The prowin32.exe.config file shipped with any Progress Service pack will define the current versions of Infragistics as a valid substitute for any version shipped with a previous service pack of that OpenEdge version or that OpenEdge version itself. This allows executing OpenEdge 10.2B01 compiled R-Code on OpenEdge 10.2B04 without seeing the above issues when loading .NET assemblies.  Assembly probing is not defined between OpenEdge versions. Probably because the Infragistics major Versions are also expected to deliver new functionality and possibly breaking changes so that Progress Software cannot necessary guarantee full compatibility (without testing the application) when upgrading. I think this is reasonable.

So this leads to higher restrictions for R-Code compatibility when referencing Infragistics .NET Assemblies:

  • There is no cross version R-Code compatibility. R-Code compiled against 10.2A will not find it’s assemblies on a 10.2B runtime and vice versa (unless you have manually installed those assemblies in the GAC)
  • To achieve R-Code compatibility within a single OpenEdge release it is very important to compile on the lowest supported service pack level. When R-Code was compiled on Service Pack 1 of 10.2B it will contain references to the Infragistics Controls with the version 9.2.20092.2058. A 10.2B runtime (no service pack) will find an Infragistics Version 9.2.20092.2017 and has no information that 9.2.20092.2058 and 2017 are interexchangeable. However a 10.2B02 client will find an Infragistics Version 9.2.20092.2090 and the %DLC%\bin\prowin32.exe.config file contains the necessary information to allow substituting 9.2.20092.2058 with the 9.2.20092.2090.

The good thing that results from this is that end users can apply OpenEdge Service Packs without having to get new R-Code from the vendor for the whole application.

Another thing to consider is that Progress has used the 10.2B Service Packs to add a couple of new properties to the OpenEdge GUI for .NET classes used in ABL code like the Progress.Data.BindingSource or the Progress.Windows.Form. If your R-Code is using those additional Properties (like the MapNullToEmptyString property of the ProBindingSource introduced with 10.2B03) it’s very likely to fail on releases prior to that service pack.

Within an OpenEdge release it seems like a wise idea to define a minimum supported Service Pack level (might be the initial release with no service pack) and use this for building the software that will be deployed to your users. Developers that have the (understandable) urge to develop using the latest service pack available should always make sure that another machine for building and testing against the minimum supported Service Pack level is available in the organization. When you have to use properties of the mentioned ABL .NET objects, I do recommend to use .NET reflection to test if those properties are available and set the desired values dynamically.

Progress Installs the Infragistics Controls in the folder %DLC%\bin\infragistics\winforms. These are the freely distributable Assemblies. You can use the Windows Explorer to check the version on an assembly using the dll file’s properties:

Assembly-version-in-Windows-Explorer

The developers version of the Infragistics Controls is typically installed in a folder like this: c:\Program Files (x86)\Infragistics\NetAdvantage 2009.2\Windows Forms

Of course a developer may deploy his own version of the Infragistics Controls either to the application working directory, the directory located by the –assemblies parameter or the GAC.

122 comments

Leave a comment
  1. Zafar | Mar 22, 2019
  2. master | Mar 21, 2019
    I use only high quality materials - you can see them at:  Webdesign
  3. Asad | Mar 21, 2019
    Very interesting information, worth recommending. However, I recommend this:  Website designer
  4. master | Mar 21, 2019
    Your texts on this subject are correct, see how I wrote        this site is really very good. Pur isolatie
  5. Jens Eberhart | Mar 21, 2019
    I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.herbal potpourri
  6. master | Mar 21, 2019
    These things are very important, good think so - I think so too...  Webdesign
  7. master | Mar 20, 2019
    Very good topic, similar texts are       I do not know if they are as good as your work out. Webdesign
  8. master | Mar 20, 2019
    The most interesting text on this interesting topic that can be found on the net ...  Chape
  9. master | Mar 20, 2019
    I personally use them exclusively high-quality elements : you will notice these folks during: Webdesign
  10. Jens Eberhart | Mar 20, 2019
    I appreciate everything you have added to my knowledge base.Admiring the time and effort you put into your blog and detailed information you offer.Thanks.โปรแกรมขายหน้าร้าน
  11. alia | Mar 19, 2019

    A debt of gratitude is in order for your understanding for your awesome posting. 

    company registration in Nigeria

  12. Alex | Mar 19, 2019
    *Aw, this was a really nice post. In idea I would like to put in writing like this additionally — taking time and actual effort to make a very good article… but what can I say… I procrastinate alot and by no means seem to get something done. voyance directe
  13. master | Mar 19, 2019
    For this web site, you will see our account, remember to go through this info. dys medical definition
  14. master | Mar 19, 2019
    Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have. recording school
  15. Alex | Mar 18, 2019
    Oh my goodness! an amazing write-up dude. Many thanks Even so My business is experiencing trouble with ur rss . Do not know why Struggle to sign up to it. Can there be everyone getting identical rss dilemma? Anyone who knows kindly respond. Thnkx Building security camera system installation
  16. asd | Mar 18, 2019
    I’m not sure why but this weblog is loading incredibly slow for me. Is anyone else having this issue or is it a problem on my end? I’ll check back later and see if the problem still exists. discount mattress stores near me
  17. asd | Mar 18, 2019
    Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming. Thanks again and good luck! https://www.forexfactory.com/markcwilliam
  18. Sven Sankt | Mar 18, 2019
    Please share more like that.Garage Door Replacement Grovetown
  19. asd | Mar 17, 2019
    Interesting point of view. I’m curious to think what type of impact this would have globally? Sometimes people get a little upset with global expansion. I’ll be around soon to check out your response. mattress discounters
  20. Robinjack | Mar 17, 2019
    I only wish that I had the ability to convey what I wanted to say in the manner that you have presented this information.  Thanks. https://visual.ly/community/Infographics/lifestyle/mattress-firm-lone-tree
  21. Jaipur Escort Service | Mar 16, 2019
    This content is simply exciting and creative. I have been deciding on a institutional move and this has helped me with one aspect. Jaipur Escort Service
  22. asd | Mar 16, 2019
    i do a lot of heavy exercise  twice a week and it really helped my health to be on excellent condition; weblink
  23. asad | Mar 14, 2019
    Can nicely write on similar topics! Welcome to      here you'll find out how it should look. fpsc
  24. robert | Mar 14, 2019
    I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post. Hats off to you! The information that you have provided is very helpful.  Flange stampate
  25. ashly doll | Mar 14, 2019
    Hi there, I discovered your blog per Google bit searching for such kinda educational advise moreover your inform beholds very remarkable for me. aulas de japones
  26. ads | Mar 14, 2019
    I wish to show my appreciation to you for rescuing me from this particular instance. As a result of scouting through the search engines and coming across ideas that were not helpful, I thought my entire life was gone. Being alive minus the strategies to the issues you’ve sorted out through your entire blog post is a critical case, and those which might have in a negative way affected my career if I hadn’t encountered your blog post. Your own personal expertise and kindness in dealing with the whole lot was crucial. I don’t know what I would’ve done if I hadn’t discovered such a stuff like this. I can at this moment relish my future. Thanks a lot very much for your professional and result oriented guide. I will not hesitate to propose your web site to anyone who wants and needs care on this issue. dpboss matka
  27. asd | Mar 14, 2019
    Awsome submit as well as right to the idea. I am not sure if this is actually the best place to inquire about however would you individuals have any thoughts on where you’ll get a few ghost writers? Thx kalyan matka
  28. asd | Mar 14, 2019
    hello your own weblog design is quite good, clean as well as clean so with updated content material, make men and women really feel serenity and i also constantly get pleasure from searching the site. indianmatka.mobi
  29. asd | Mar 14, 2019
    I am always  thought about this, thanks  for  putting up. matka tips
  30. asd | Mar 14, 2019
    I’m impressed, I have to admit. Genuinely rarely must i encounter a weblog that’s both educative and entertaining, and without a doubt, you may have hit the nail about the head. Your notion is outstanding; the thing is something which too few everyone is speaking intelligently about. I will be happy that we found this at my seek out some thing relating to this. matka guessing
  31. robert | Mar 14, 2019
    You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!  Link Alternatif GudangPoker
  32. james jack | Mar 14, 2019
    It should be noted that whilst ordering papers for sale at paper writing service, you can get unkind attitude. In case you feel that the bureau is trying to cheat you, don't buy term paper from it.  Agence spécialisée e-influenceurs
  33. max | Mar 13, 2019

    Chirii in Londra: inchirieri camere, single, dubla, casa, studio flat, oferte de la romani si moldoveni in Londra. Anunturi cu chirie ieftina fara depozit

    chirii londra fara depozit

  34. Robinjack | Mar 13, 2019
    countries that do need lots of financial aids are those coming from Africa. i could only wish that their lives would become better* 토토사이트
  35. robert | Mar 13, 2019
    You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!  baby bodysuits
  36. Asad | Mar 12, 2019
    I have a similar interest this is my page    read everything carefully and let me know what you think. cowhide leather jacket
  37. ALI ALI | Mar 12, 2019
    I came onto your blog while focusing just slightly submits. Nice strategy for next, I will be bookmarking at once seize your complete rises... Basutes
  38. robert | Mar 12, 2019
    Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work! Campagne influenceur instagram
  39. ALI ALI | Mar 12, 2019
    I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.  Jkbose Result
  40. Asad | Mar 11, 2019
    In this case you will begin it is important, it again produces a web site a strong significant internet site: Batai vilniuje
  41. ALI ALI | Mar 11, 2019
    I prefer merely excellent resources - you will see these people in: CCNA
  42. ALI ALI | Mar 11, 2019
    I prefer merely excellent resources - you will see these people in: CCNA
  43. gourav pahuja | Mar 10, 2019
    THIS IS SUCH AN IMPORTANT ARTICLE. GREAT CONTENT WRITING. I WANT MORE POSTS.DIGITAL MARKETING COURSE IN DELHI
  44. MERRY Jyoti | Mar 10, 2019
  45. ibmseo | Mar 10, 2019
    Thank you for such a well written article.  It’s full of insightful information and entertaining descriptions.  Your point of view is the best among many. lightweight knee scooter
  46. ALI ALI | Mar 10, 2019
    Initial You got a awesome blog .I determination be involved in plus uniform minutes. i view you got truly very functional matters , i determination be always checking your blog blesss. Pagina web girona
  47. james jack | Mar 10, 2019
    I simply want to tell you that I am new to weblog and definitely liked this blog site. Very likely I’m going to bookmark your blog . You absolutely have wonderful stories. Cheers for sharing with us your blog. Management of Assaultive Behavior certification online
  48. misbah | Mar 10, 2019
    Hi there, I discovered your blog per Google bit searching for such kinda educational advise moreover your inform beholds very remarkable for me. music production school
  49. robert | Mar 10, 2019
    Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate.  t-shirt
  50. Asad | Mar 10, 2019
    It is somewhat fantastic, and yet check out the advice at this treat. cpi certification for nurses

    Leave a comment