Reputation: 16695
I’m trying to add a feature to my winforms app that prints the version number on the main screen. I currently have this:
txtVersion.Text = ProductVersion.ToString();
Which tells me the version of the program – all well and good.
However, what I’d ideally like it to do is to pick up the version of the installer program that was used to create the msi. Is there a way to either interrogate this from within the installed program, or to transfer the information during installation somehow?
Upvotes: 9
Views: 1837
Reputation: 35901
It sounds like you want the ProductVersion property. You can get that at run time by calling the ::MsiGetProductInfo() function providing the ProductCode for the MSI that installed you.
If doesn't work out for you, then writing the ProductVersion to a registry key and reading that at run-time is fairly popular. You can use that registry key to solve the ICE38 troubles described here as well: http://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the
Upvotes: 4
Reputation: 100268
It's better not take app version from installer, but take installer version from app (AssemblyInfo.cs), imo.
Upvotes: 1
Reputation: 17931
You can very well do from your installation program (MSI) through custom actions using Wix3
Following links can get you started
Upvotes: 0
Reputation: 5614
You can save the version in a registry key during installation, and than query the registry key from the program.
Upvotes: 0