我需要的是在用户第一次选择的更新期间安装相同的模块。我只是试图传递wix的参数,但失败了https://stackoverflow.com/questions/27291103/to-start-process-passing-parameters-to-wix-installer。
我已将变量添加到bootstrapper,以便将参数从命令行传递到msi。但它没有正常工作。 代码,添加到捆绑包:
<Variable Name="INSTALL_SOFTWARE" bal:Overridable="yes"/>
<MsiProperty Name="INSTALL_SOFTWARE" Value="[INSTALL_SOFTWARE]"/>
要更改的属性,默认为1。我还应该说可以从ui(radiobuttons)设置
<Property Id="INSTALL_SOFTWARE">1</Property>
我正在使用此命令:
InstallerBundle.exe INSTALL_SOFTWARE=2
在GUI对话框中没有选择任何内容:
<Control Id="SoftwareChoseButton" Type="RadioButtonGroup" Width="55" Height="128" X="34" Y="71" Property="INSTALL_SOFTWARE">
<RadioButtonGroup Property="INSTALL_SOFTWARE">
据我所知,参数未通过....如何解决?
答案 0 :(得分:0)
我认为您只需在捆绑包中指定这样的MsiProperty:
<MsiPackage Id='MyApp' Description='My Application' SourceFile="$(var.SetupMyApp.TargetPath)">
<MsiProperty Name="INSTALLFOLDER" Value="[MyAppInstallLocation]"/>
</MsiPackage>
然后,假设myBootStrapper
是您的BootstrapperApplication
对象:
myBootstrapper.Engine.StringVariables["MyAppInstallLocation"] = "C:\MyApp";
在自定义引导程序代码中的某处,显然是在开始安装之前。