product information in converted VO application
Posted: Wed Jan 08, 2020 11:56 am
It is not so weird, I think it is all explained in the links posted above. In short, what the compiler does in order to include version info in the exe/dll files it produces, is to read the assembly info code, translate it to a native resource version information (which is required by the OS) and then embed it into the output. That's what also the c# compiler does.
Problem is that it's allowed to have only one native (Win32) resource per assembly, so if there are other resources already included in the app (like for windows etc), then this mechanism cannot work, and, instead, you need to supply a version info native resource manually, as discussed before. This is never a problem in c#, because c# apps typically do not use native resources for anything else, while those are absolutely necessary in VO ported apps, for DataWindows, Menus end similar VO entities to work at runtime.
Having said that, we have been discussing this today and decided that Robert will give it a try to make the compiler actually merge the assembly info resource with the other native resources needed for VO style apps. This is quite complicated and not guaranteed to work, but will give it a try and if the result is successful, then in one of the next X# builds it will be possible to always provide just the AssemblyInfo.prg attributes for version info. No promises yet, though!
Problem is that it's allowed to have only one native (Win32) resource per assembly, so if there are other resources already included in the app (like for windows etc), then this mechanism cannot work, and, instead, you need to supply a version info native resource manually, as discussed before. This is never a problem in c#, because c# apps typically do not use native resources for anything else, while those are absolutely necessary in VO ported apps, for DataWindows, Menus end similar VO entities to work at runtime.
Having said that, we have been discussing this today and decided that Robert will give it a try to make the compiler actually merge the assembly info resource with the other native resources needed for VO style apps. This is quite complicated and not guaranteed to work, but will give it a try and if the result is successful, then in one of the next X# builds it will be possible to always provide just the AssemblyInfo.prg attributes for version info. No promises yet, though!