我正在尝试为我的WinForms应用程序添加一个功能,该功能会在主屏幕上打印版本号。目前我已经有以下代码:
txtVersion.Text = ProductVersion.ToString();
这告诉我程序的版本 - 一切都很好。
然而,我理想中希望它能够获取用于创建msi的安装程序的版本。有没有办法从安装的程序内部查询此信息,或在安装过程中以某种方式传输信息?
我正在尝试为我的WinForms应用程序添加一个功能,该功能会在主屏幕上打印版本号。目前我已经有以下代码:
txtVersion.Text = ProductVersion.ToString();
这告诉我程序的版本 - 一切都很好。
然而,我理想中希望它能够获取用于创建msi的安装程序的版本。有没有办法从安装的程序内部查询此信息,或在安装过程中以某种方式传输信息?
看起来你想要ProductVersion property。你可以在运行时通过调用::MsiGetProductInfo() function并提供安装了你的MSI的ProductCode来获取它。
如果这对你不起作用,那么将ProductVersion写入注册表键并在运行时读取它是相当流行的。你也可以使用该注册表键来解决这里描述的ICE38问题:http://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the
我认为最好不要从安装程序中获取应用程序版本,而是从应用程序的 AssemblyInfo.cs 文件中获取安装程序版本。