How to pass a PROPERTY=VALUE from Wix boostraper to setup?

huangapple go评论61阅读模式
英文:

How to pass a PROPERTY=VALUE from Wix boostraper to setup?

问题

我正在尝试创建一个包含接受自定义属性 ENABLE_TOGGLE 的 WiX 安装程序的 WiX 引导程序,但是当从命令提示符调用引导程序时,

boostrapper.exe /q ENABLE_TOGGLE=1

它没有效果,而调用安装程序

setup.msi /q ENABLE_TOGGLE=1

则按预期工作。

如果我在 &lt;MsiPackage &gt;...&lt;/MsiPackage&gt; 内部指定 <MsiProperty Name="ENABLE_TOGGLE" Value="1" />,它可以工作,但我希望在安装时指定这个值。
我尝试过将其引用为 [ENABLE_TOGGLE],但似乎不起作用。

我正在使用 WiX 3.11.2。

英文:

I'm trying to create a WiX boostrapper that includes a WiX setup that accepts a custom property ENABLE_TOGGLE, but when calling the bootstrapper from the command prompt as

boostrapper.exe /q ENABLE_TOGGLE=1

it has no effect, while calling the setup

setup.msi /q ENABLE_TOGGLE=1

works as expected.

If I specifiy &lt;MsiProperty Name=&quot;ENABLE_TOGGLE&quot; Value=&quot;1&quot; /&gt; inside &lt;MsiPackage &gt;...&lt;/MsiPackage&gt; it works, but I would like this value to be specified at install time.
I've tried to reference it as [ENABLE_TOGGLE] but that doesn't seem to work.

I'm using WIX 3.11.2

答案1

得分: 2

如果您正在使用WixStdBA,您可以使用Overridable="yes"标记Variable,以便用户可以在命令行设置该变量。

https://wixtoolset.org/docs/v3/xsd/wix/variable/

然后,MsiProperty将按您的期望与Value=[Variable]一起工作。

英文:

If you're using WixStdBA, you can mark a Variable with Overridable=&quot;yes&quot; to let the user set the variable at the command line.

https://wixtoolset.org/docs/v3/xsd/wix/variable/

Then MsiProperty will work as you expect with Value=[Variable].

huangapple
  • 本文由 发表于 2023年4月13日 23:53:42
  • 转载请务必保留本文链接:https://go.coder-hub.com/76007463.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定