如何在VS.NET部署项目中显示应用程序版本?

5
我已经为我的应用程序设置了一个部署项目。问题是我想在安装过程中显示应用程序的版本(例如MyApplication 1.2.3.1),以便用户在安装之前可以看到版本号。
我能想到的唯一方法是修改欢迎对话框中的WelcomeText。有没有更简单或更优雅的方法来实现这一点?
2个回答

6
你可以使用Windows Installer的ProductVersion属性来实现此功能。如果你将欢迎对话框的WelcomeText属性更改为:
The installer will guide you through the steps required to install [ProductName] [ProductVersion] on your computer.

然后,您可以更改部署项目的版本属性,并自动显示该值。任何基于字符串的属性都可以实现此功能;只需使用[]语法将该值插入。

对于其他提供的开箱即用的属性,请参阅Windows Installer Property Reference


[ProductVersion] 数字是在哪里设定的?我已经设置了应用程序的 AssemblyVersionAssemblyFileVersion 属性,当我构建我的应用程序并检查详细信息选项卡时,它告诉我版本号是 1.1.0,但是当我运行我的安装程序时,它显示为 1.0.0。有任何想法吗? - James
没事了,我找到了,我没有意识到安装程序本身就是我设置版本的地方,我以为它会从应用程序中获取。 - James

2
你可以使用以下代码获取执行的AssemblyInfo.cs中设置的版本号。
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()

如果你想获取特定程序集的版本号,可以使用如下方式:

System.Reflection.Assembly.GetAssembly([type in my assembly]).GetName().Version.ToString()

您可以在运行时自动更改欢迎文本。

谢谢回复。然而,在部署项目 - 用户界面中,我有类似于http://www.codeproject.com/KB/install/SetupAndDeployment/userInterfaceWindow1.JPG的东西。因此,我看不到自定义修改对话框或输入任何C#代码的可能性。 - Zefo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接