PR# 13486 Version Info is not embedded into Windows Exe or DLL
Problem Report Summary
Submitter: peter_gummer
Category: EiffelStudio
Priority: Medium
Date: 2007/10/21
Class: Bug
Severity: Serious
Number: 13486
Release: 6.0.6.9618
Confidential: No
Status: Analyzed
Responsible:
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8
Synopsis: Version Info is not embedded into Windows Exe or DLL
Description
I've tried this with both a classic Windows exe and a .NET DLL. In Project Settings, I set the target's Version (major number, company, copyright, etc.). After finalizing, I expect to be able to right-click on the exe or DLL in Windows Explorer, select Properties, and see a "Version" tab in the Properties window. The Version tab isn't there. It looks like the version info supplied in the Project Settings is discarded.
To Reproduce
Problem Report Interactions
A quick comment to say that Windows Explorer is clueless about .NET assemblies. When C# or VB assemblies display that in Windows Explorer, it is because the .exe or .dll has a native resource section like the one Larry described. I think we can do it for .NET, but some research has to be done on how to do it properly.
To get the version to appear for a .NET DLL, I tried adding this to the indexing clause of the project's root class: assembly_metadata: create {ASSEMBLY_FILE_VERSION_ATTRIBUTE}.make ("1.4.1.444") end According to Reflector, the attribute is in there: [assembly: AssemblyFileVersion("1.4.1.444")] But I still don't get a Version tab in Windows Explorer.
That's working, Larry. Thanks for figuring that out: it saved me the trouble of having to figure it out for myself. It doesn't work for a .NET DLL, however. I can research that myself, but do you have a solution for that already?
Hi, Manu, The way to embed version info into our ex.exe is here: http://msdn2.microsoft.com/en-us/library/aa381058.aspx I have tested with attached `ec.rc'. Successfully got the a version information embedded `ec.exe' as shown in attached snapshot. Then we can have Version Info embedded ec.exe from now on. :) Thanks, Larry
If it's only for .NET, then in order to avoid confusion, it should be categorised under .NET.
On classic, it is indeed not applicable. It was added for .NET systems where you can specify it, however it won't show in explorer. It is only for the .NET runtime so that it can load the right version of the assembly.