Bob*_*son 12
为每个MsiPackage 使用MsiProperty子项指定INSTALLLOCATION = [BurnVariable].然后使用Engine.StringVariables设置BurnVariable.
例如,在您的包中设置:
<Bundle ...>
<Variable Name='BurnVariable' Value='bar' />
...
<Chain>
<MsiPackage Source='path\to\your.msi'>
<MsiProperty Name="INSTALLLOCATION" Value="[BurnVariable]" />
</MsiPackage>
</Chain>
</Bundle>
Run Code Online (Sandbox Code Playgroud)
另请参阅有关此主题的FireGiant说明.
然后在托管引导程序中,您可以执行与此类似的操作:
Engine.StringVariables["BurnVariable"] = "C:\program files\MyApp";
Run Code Online (Sandbox Code Playgroud)