如何在'程序和功能'中设置版本?

时间:2014-04-22 01:29:24

标签: wix

我需要在Windows的“程序和功能”对话框中设置可见的版本。我知道这个版本不必遵循 major minor build revision 限制(对于例如,wxPython在其“版本”列中显示“2.8.12.1-unicode”,但是当我尝试在Product元素中设置Version属性时,我收到以下错误:

Product.wxs(50,0): error CNDL0108: The Product/@Version attribute's value, '2.3.4.0-55628f206205451282ae6060d9305254bd79cb87', is not a valid version.  Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.

必须有不同的属性,但我在Wix文档中找不到它。

如何在Wix中将此版本设置为任意字符串?

编辑:

请参阅下图,查看一些不遵循Windows Installer标准的不同版本方案(wxPython,Windows Driver Package *,Windows Mobile 5.0 SDK)。 enter image description here

4 个答案:

答案 0 :(得分:4)

Windows Installer不支持具有单独的产品版本和显示版本。

答案 1 :(得分:1)

如果您正在使用.Net安装项目,请在“部署项目属性”下查找版本。

答案 2 :(得分:0)

我不完全确定你所说的“程序和功能”是什么?您是在谈论Windows中的“添加/删除程序”,还是在谈论设置中的对话框?

我想你可以看看Configuring Add/Remove Programs with Windows Installer,但不知道更多我不知道这是不是你要问的。

请注意,此程序和应用程序列表并非仅来自一个注册表位置。我确实认为不可能覆盖Windows Installer程序包的版本字段,无论它们是使用Wix还是其他工具构建的。如果使用非MSI设置完成安装,我认为他们可以根据需要设置版本字段,但Windows Installer会强制执行限制。也许您可以将 ARPCOMMENTS 属性设置为一个值,指示您要指示的内容。

答案 3 :(得分:0)

在添加/删除程序(即程序和功能)中显示的基础MSI属性是ProductVersion属性,它必须遵循数字格式:

http://msdn.microsoft.com/en-us/library/aa370859(v=vs.85).aspx

如果您在Uninstall注册表项中创建DisplayVersion文本字符串,则可能会显示一个文本版本。我建议您查看Uninstall键中的wxPython条目,以查看DisplayVersion中的内容,而不是二进制Version值。