InstallShield MSI安装的典型“升级表”包含两条记录:“从任何版本到当前都是升级”和“从当前到任何正在降级”。这需要每次修改主要版本号,次要版本号或内部版本号时手动复制粘贴“当前版本”号码,这并不是很好。Installshield:是否可以在MSI升级表中使用ProductVersion属性?
当前我正在使用脚本解析.ism项目文件并在构建之前替换升级表中的版本号。但这是一个肮脏的黑客。也许可以在升级表中使用“ProductVersion”MSI属性,因此产品版本仅在存储在此属性?我曾尝试以多种方式输入此属性名称,例如[ProductVersion]
或##ProductVersion##
,但没有任何帮助 - 它不会被属性值取代,并且生成的MSI包含“## ProductVersion ##”文本而不是“1.30.1264”属性值。
谢谢!它像一个魅力! – grigoryvp 2013-02-13 13:32:06
仅供参考,如果放在输入中,说明产品名称,*** ***这个*** ALL_VERSIONS ***是否也解析为[ProductVersion]? – Sid 2014-08-28 13:04:30
@Sid,no - InstallShield仅在[升级表](http://msdn.microsoft.com/zh-cn/library/aa372379.aspx)中的版本列中执行此特定替换。如果你在一个属性中需要它,你最好从你的构建系统中设置它,或者在运行时使用set-property自定义操作。 – 2014-08-29 12:14:01