WiX4 bootstrapper:定义布尔命令行参数的正确方法

问题描述 投票:0回答:1

我的目标是设置像

/DefaultMode
这样的参数,只是一个哈希+命令名称,而不传递像
DefaultMode=1
这样的值。我的动机是默认 wix 参数,例如:
/install | /repair | /uninstall

案例1:

<Variable Name="/DefaultMode" bal:Overridable="yes" Value="NotSet" Type="string" />

返回错误:
error WIX0014: The Variable/@Name attribute's value, '/DefaultMode  ', is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier  must begin with either a letter or an underscore.

案例2:

<Variable Name="DefaultMode" bal:Overridable="yes" Value="NotSet" Type="string" />

不幸的是,但传递参数
.\Bundle.exe DefaultMode
等于
Variable: DefaultMode = NotSet

wix bundle burn wix4
1个回答
0
投票

您需要一个自定义的 BoostrapperApplication 来处理您的自定义命令行。标准 BoostrapperApplication 处理命令行上的设置变量,如

DefaultMode=1

© www.soinside.com 2019 - 2024. All rights reserved.