gpt4 book ai didi

command-line - WiX Bootstrap : How do I set burn variables from the command line?

转载 作者:行者123 更新时间:2023-12-03 01:48:10 24 4
gpt4 key购买 nike

使用 WiX 3.7 和 .NET 4.0。

从命令行运行 WiX Bootstrap EXE 时,一组如何烧录变量?

最佳答案

首先,您要设置的刻录变量需要设置为Overridable。为此,您必须在 WXS 中包含以下命名空间: xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" 如果您像我一样使用 Visual Studio,那么您需要在项目引用中包含 WixBalExtension.dll。接下来,您需要将以下属性添加到要通过命令行设置的所有刻录变量:bal:Overridable="yes"

现在您可以通过命令行以这种方式设置变量:

BootstrapperSetup.exe /i /passive MyBurnVariable1=1 MyBurnVariable2=2


下面是满足上述所有条件的 WXS 文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">

<Bundle Name="MyProduct" Version="1.0.0" Manufacturer="MyManufacturer" UpgradeCode="PUT-UPGRADE-CODE-HERE">

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl="MyLicense.htm" ThemeFile="MyThemeFile.xml" LocalizationFile="MyLocFile.wxl" />
</BootstrapperApplicationRef>

<Variable Name="MyBurnVariable1" bal:Overridable="yes" Type="numeric" Value="0" />
<Variable Name="MyBurnVariable2" bal:Overridable="yes" Type="numeric" Value="0" />

<Chain>
<MsiPackage Id="MyFirstMsiPackage"
SourceFile="first.msi"
InstallCondition="MyBurnVariable1 = 1" />

<MsiPackage Id="MySecondMsiPackage"
SourceFile="second.msi">
<MsiProperty Name="MY_PROPERTY" Value="[MyBurnVariable2]" />
</MsiPackage>
</Chain>
</Bundle>
</Wix>

关于command-line - WiX Bootstrap : How do I set burn variables from the command line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14762617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com