Dam*_*yan 8 windows-installer wix
我有一个安装程序,根据是否设置了属性,将网站部署为SSL或非SSL IIS站点.我被要求添加设置端口的选项,这不是问题,但如果未设置该值,我想将端口设置为默认值(80或443).
我尝试过类似的东西:
<SetProperty Id="OUTPORT" Before="InstallFiles" Value="80"><![CDATA[SSL=0]]></SetProperty>
<SetProperty Id="OUTPORT" Before="InstallFiles" Value="443"><![CDATA[SSL=1]]></SetProperty>
Run Code Online (Sandbox Code Playgroud)
但是,显然,WiX抱怨具有重复ID SetOUTPORT的自定义操作.
我在这里跳下另一个WiX形的兔子洞吗?
Gre*_*jan 18
接受的答案是不正确的,需要转换为完全写出自定义动作和排序(不再?).
根据WiX 3,SetProperty元素的文档
不设置SetProperty\@Action
<SetProperty Id="OUTPORT" Before="InstallFiles" Value="80"><![CDATA[SSL=0]]></SetProperty>
<SetProperty Id="OUTPORT" Before="InstallFiles" Value="443"><![CDATA[SSL=1]]></SetProperty>
Duplicate symbol 'CustomAction:SetInstallFiles' found
Run Code Online (Sandbox Code Playgroud)
行动.字符串.默认情况下,操作为"设置"+ Id属性的值.在多个SetProperty元素以相同的Id(可能具有互斥条件)为目标的情况下,此可选属性可以覆盖操作名称.
以下工作无需更改为写出自定义操作.
<SetProperty Action="SetInstallFiles0" Id="OUTPORT" Before="InstallFiles" Value="80"><![CDATA[SSL=0]]></SetProperty>
<SetProperty Action="SetInstallFiles1" Id="OUTPORT" Before="InstallFiles" Value="443"><![CDATA[SSL=1]]></SetProperty>
Run Code Online (Sandbox Code Playgroud)
它适用于WiX 3.7,我不确定它可用的第一个版本.
SetProperty现在支持Action属性,当您希望为具有不同条件的同一属性提供多个SetProperty元素时,可以指定自定义操作ID.
归档时间: |
|
查看次数: |
11291 次 |
最近记录: |