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.

222 comments

Leave a comment
  1. sds | Jul 15, 2019
    I really like people unique writing. Will probably be quality to uncover just one reveal with text on the center and in some cases purity in this particular unique vital area of interest will likely be conveniently encountered. hotmail mobile login
  2. ssss | Jul 15, 2019
    I might want to thank you for the endeavors you have made in composing this article. I am trusting the same best work from you later on too..  예스 카지노
  3. Fareed khan | Jul 15, 2019
    Thank you so much for sharing this great blog.Very inspiring and helpful too.Hope you continue to share more of your ideas.I will definitely love to read. 안전놀이터
  4. amelia | Jul 15, 2019
    Incredible review, I am a major adherent to remarking on online journals to illuminate the web journal essayists realize that they've added something beneficial to the internet!..  Olife Evergreen
  5. amelia | Jul 14, 2019
    Awesome occupation for distributed such a gainful site. Your web log isn't just valuable yet it is also truly innovative as well. There have a tendency to be very few individuals who can absolutely compose not all that basic posts that creatively. Proceed with the decent written work  how to register advertising agency in india
  6. Vehicle Recovery Quote Berkshire | Jul 14, 2019
    I am very happy to discover your post as it will become on top in my collection of favorite blogs to visit. Vehicle Recovery Quote Berkshire
  7. El refugio del burrito | Jul 14, 2019
    Thanks, that was a really cool read! El refugio del burrito
  8. amelia | Jul 14, 2019
    I have perused a couple of the articles on your site now, and I truly like your style of blogging. I added it to my top choices online journal website list and will be inquiring soon. If it's not too much trouble look at my site also and let me realize what you think.  techarim.com
  9. aa | Jul 13, 2019
    When you use a genuine service, you will be able to provide instructions, share materials and choose the formatting style. binance
  10. chalsea | Jul 13, 2019
    You are very brave focuses in this article. I would have never thought to be any of these in the event that I didn't run over this. Much appreciated!.  movies123
  11. Stephen | Jul 13, 2019
    I would be willing to share your website on my friends' wall. Please don’t stop inspiring more writers. rockford personal injury lawyer
  12. Violet | Jul 13, 2019

     

    This changes my insights in writing and I totally love all the details you have posted.

    DOT Annual Inspections Training

  13. lagu | Jul 13, 2019
  14. chalsea | Jul 12, 2019
    Thank you for taking the time to publish this information very useful! soft story structure Los Angeles
  15. Jenny Rose | Jul 12, 2019
    Our easy-to-use website and the multitude of custom stickers printing option are just some of the reasons why business, graphic designers, and all our customers trust us with their printing – all backed by our 100% Guarantee! Custom Sticker Printing
  16. Kristian Drescher | Jul 12, 2019
    i am for the first time here. I found this board and I in finding It truly helpful & it helped me out a lot. I hope to present something back and help others such as you helped me.indoor bird aviary
  17. amelia | Jul 11, 2019
    Hi I am so pleased I found your web journal, I truly found you by slip-up, while I was watching on google for something else, Anyways I am here now and could simply get a kick out of the chance to say thank for a huge post and an inside and out amusing site. Kindly do keep up the immense work.  Web Design
  18. adnan | Jul 11, 2019
    A very excellent blog post. I am thankful for your blog post. I have found a lot of approaches after visiting your post. rv altitude
  19. chalsea | Jul 11, 2019
    I’ve read some good stuff here. Definitely worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website. https://hjertingrejser.contently.com/
  20. sss | Jul 11, 2019
    I read your web journal every now and again and I just thought I'd say keep up the astounding work!  comptia security+
  21. Interior Designers in Telangana | Jul 11, 2019
    Hello I am so delighted I located your blog, I really located you by mistake, while I was watching on google for something else, Anyways I am here now and could just like to say thank for a tremendous post and a all round entertaining website. Please do keep up the great work. Interior Designers in Telangana
  22. Car Recovery Quote Reading | Jul 11, 2019
    A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Car Recovery Quote Reading
  23. sdsd | Jul 10, 2019
    Great knowledge, do anyone mind merely reference back to itfrosted laminated glass
  24. Farhan Khan | Jul 10, 2019
    Attractive, post. I just stumbled upon your weblog and wanted to say that I have liked browsing your blog posts. After all, I will surely subscribe to your feed, and I hope you will write again soon! velkoborsky
  25. chalsea | Jul 10, 2019
    It is an incredible site.. The Design looks great.. Continue working like that!.  Stranger Things Season 3 Review
  26. amelia | Jul 10, 2019
    Many of the Koreans are enjoying Sportstototo(스포츠토토) betting. The best sites among the many Totosites(토토사이트) are called major sites.The sites that provide information on popular sports games are called Toto sites  스포츠토토(sportstoto)
  27. Eirik Slettengen | Jul 10, 2019
    The spa house offers a large selection of different models of whirlpool, countercurrent pool / swimspa specially adapted to the tough Norwegian climate. Square, rectangular and round spa. With a spa or pool from the spa house, you can rest assured that you will get the best quality and reliability in the market.
  28. amelia | Jul 09, 2019
    Extraordinary overview, I'm certain you're getting an awesome reaction.  one walmart login
  29. Jianna | Jul 09, 2019
    Symptoms of ulcerative colitis Great information, I feel like you could take a lot of these general tips and apply them elsewhere too! 
  30. harry12 | Jul 09, 2019
    It truly is while doing so a reliable area i always particularly savored checking. Is just not every day that include the prospect to look at a service.  continue read
  31. Kristian Drescher | Jul 09, 2019
    There is so much in this article that I would never have thought of on my own. Your content gives readers things to think about in an interesting way. Thank you for your clear information.one walmart
  32. ryanjones ryanjones | Jul 08, 2019
    Fairly quickly this incredible website should indisputably come to be recognized within all of the weblog most people, due to the fastidious articles or reviews or possibly feedback. you can look here
  33. ssssss | Jul 08, 2019
    howdy, I am having bad luck attempting to rank up for the words “victorias secret coupon codes”… PLEASE approve my comment!! 먹튀폴리스 
  34. Air Con Repairs Reading | Jul 08, 2019
    Hey what a brilliant post I have come across and believe me I have been searching out for this similar kind of post for past a week and hardly came across this. Thank you very much and will look for more postings from you. Air Con Repairs Reading
  35. amelia | Jul 07, 2019
    808 Pictures. Maui weather, a live weather report from real-time webcams from Maui on the true Maui weather forecast. See Maui weather live from 808 Pictures. Our photography services rely on the weather and we make sure our clients are in safe hands when it comes to having their family portrait, wedding or engagement photo-shoot on the beaches with 808 Pictures. See live Maui weather reports and plan your photo-shoot for morning or sunset. Weather on Maui
  36. amelia | Jul 07, 2019
    Exceptionally valuable post. This is my first time i visit here. I discovered such a large number of fascinating stuff in your site particularly its exchange. Truly its awesome article. Keep it up.  best shoulder compression sleeve
  37. amelia | Jul 05, 2019
    This is such an awesome asset, to the point that you are giving and you give it away for nothing. I adore seeing sites that comprehend the benefit of giving a quality asset to free. It is the old what circumvents comes around schedule.  here
  38. chalsea | Jul 05, 2019
    I can see that you are a specialist at your field! I am dispatching a site soon, and your data will be extremely helpful for me.. Much obliged for all your help and wishing all of you the accomplishment in your business.  locksmith slc
  39. sirking79 | Jul 05, 2019
    you have got a excellent weblog here! do you need to develop invite posts on my own weblog? international air freight from China
  40. Fitness & Lifestyle | Jul 05, 2019
    Thankful to you for sharing such a best post. Your post is making. It is solid for each fan. You may prop up on sharing such a surprising post. My name is Garcia Miller. I am a free blogger. I have in like way blended a blog on Fitness & Lifestyle. You ought to deliberately share my blog https://smart-health55.webnode.cz/ Health Tips
  41. Fitness & Lifestyle | Jul 04, 2019
    Thankful to you for sharing such a best post. Your post is making. It is solid for each fan. You may prop up on sharing such a surprising post. My name is Garcia Miller. I am a free blogger. I have in like way blended a blog on Fitness & Lifestyle. You ought to deliberately share my blog https://smart-health55.webnode.cz/ Health Tips
  42. Fitness | Jul 04, 2019
    Appreciative to you for sharing such a best post. Your post is making. It is solid for each fan. You may prop up on sharing such an enrapturing post. My name is Garcia Miller. I am a free blogger. I have in like way surrounded a blog on Fitness. You ought to mindfully share my blog https://healthista.kinja.com/find-out-ways-to-stay-awake-at-the-office-1834972146 Fitness
  43. Fitness | Jul 04, 2019
    Appreciative to you for sharing such a best post. Your post is making. It is solid for each fan. You may prop up on sharing such an enrapturing post. My name is Garcia Miller. I am a free blogger. I have in like way surrounded a blog on Fitness. You ought to mindfully share my blog https://healthista.kinja.com/find-out-ways-to-stay-awake-at-the-office-1834972146 Fitness
  44. Fitness Discussion | Jul 04, 2019
    Grateful to you for sharing such a best post. Your post is making. It is strong for every fan. You may prop up on sharing such a captivating post. My name is Garcia Miller. I am a free blogger. I have in like manner encircled a blog on Fitness Discussion. You should thoughtfully share my blog https://www.liveinternet.ru/users/smart_health/profile/ Fitness Discussion
  45. Fitness Discussion | Jul 04, 2019
    Grateful to you for sharing such a best post. Your post is making. It is strong for every fan. You may prop up on sharing such a captivating post. My name is Garcia Miller. I am a free blogger. I have in like manner encircled a blog on Fitness Discussion. You should thoughtfully share my blog https://www.liveinternet.ru/users/smart_health/profile/ Fitness Discussion
  46. seo | Jul 04, 2019
    The appearance efficiently excellent. Every one of these miniscule information and facts will be designed working with wide range of track record practical experience. I like it a lot. lotto results
  47. amelia | Jul 04, 2019
    Much obliged to you for another incredible article. Where else would anyone be able to get that sort of data in such an impeccable method for composing? I have a presentation one week from now, and I am on the search for such data.  먹튀검증
  48. seo | Jul 04, 2019
    The appearance efficiently excellent. Every one of these miniscule information and facts will be designed working with wide range of track record practical experience. I like it a lot. ויאגרה
  49. seo | Jul 04, 2019
    The appearance efficiently excellent. Every one of these miniscule information and facts will be designed working with wide range of track record practical experience. I like it a lot. ויאגרה
  50. seo | Jul 04, 2019
    The appearance efficiently excellent. Every one of these miniscule information and facts will be designed working with wide range of track record practical experience. I like it a lot. סיאליס מחיר

    Leave a comment