Paul Michaels
Paul Michaels

Reputation: 16695

.NET Version Number (Installer Version)

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

Answers (4)

Rob Mensching
Rob Mensching

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

abatishchev
abatishchev

Reputation: 100268

It's better not take app version from installer, but take installer version from app (AssemblyInfo.cs), imo.

Upvotes: 1

ajay_whiz
ajay_whiz

Reputation: 17931

You can very well do from your installation program (MSI) through custom actions using Wix3

Following links can get you started

WIX at Sourceforge

Wix Tutorial

Upvotes: 0

Andrea Parodi
Andrea Parodi

Reputation: 5614

You can save the version in a registry key during installation, and than query the registry key from the program.

Upvotes: 0

Related Questions