我目前正在开发一个Installshield 2013 Basic MSI项目,并且在修复过程中遇到设置属性值的麻烦。安装程序后,我希望用户能够在修复过程中更改属性的值。
我已经发现我无法在/ f修复期间设置公共属性值。
msiexec.exe /f project.msi PROPERTY1=VALUE1 PROPERTY2=VALUE2
这不起作用,PROPERTY1
和PROPERTY2
仍会设置为默认值。如果我使用UI进行/ i修复,我可以更改值。
msiexec.exe /i project.msi PROPERTY1=VALUE1 PROPERTY2=VALUE2
这会将公共属性设置为正确的值。如何设置静默安装以默认修复安装?
答案 0 :(得分:0)
好的,我已经在这方面工作了一段时间,我知道其他人可能会遇到我遇到的同样问题。以下是我必须采取的步骤列表,以便使用相同的命令行/ i installer.msi安装和重新安装msi PROP1 = Val1 PRRP2 = Val2 ... / qn。
将REINSTALL
添加到属性表并将其设置为空。如果保留默认值0,则安装程序将出错,因为它将尝试重新安装名为0的功能。
将ReinstallModeText
从omus
更改为vamus
创建一个将调用MsiSetProperty(hMSI,"REINSTALL","ALL");
将该功能添加到自定义操作,该操作将在AppSearch
之后执行,其中条件= Installed