我需要在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)。
答案 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值。