Installshield:是否可以在MSI Upgrade表中使用ProductVersion属性?

gri*_*yvp 3 installshield

InstallShield MSI安装的典型"升级表"包含两个记录:"从任何版本到当前升级"和"从当前到任何降级".这需要在每次更改主要,次要或内部版本号时手动复制粘贴"当前版本"编号,这不是很好.

目前我正在使用一个脚本来解析.ism项目文件并在构建之前替换升级表中的版本号.但这是一个肮脏的黑客.也许可以使用"的ProductVersion" MSI属性在升级表,所以产品版本存储只有在这个属性?我试图以多种方式输入此属性名称,例如[ProductVersion]##ProductVersion##,但没有任何帮助 - 它不会被属性值替换,并且生成的MSI包含"## ProductVersion ##"文本而不是"1.30.1264"属性值.

Mic*_*man 7

新项目应包含两个旨在表现得像您描述的记录.然而,它们不应该存储实际的产品版本,而应该有一个标记令牌,***ALL_VERSIONS***(对不起,我现在不在我的InstallShield副本附近).此令牌的名称并不是很好,因为实际发生的是当前的ProductVersion在构建时替换它.

如果您已将令牌更改为实际版本,则可以通过选择引用"我的版本"而非实际版本的单选按钮,使用"友好"视图将其更改回来.或者您可以创建一个新项目来查看它,然后将其复制进去.该令牌可以在InstallShield的所有最新版本(但只是在某些旧版本的最大字段中)的最小或最大字段中工作.