Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 组件状态为';没有用户界面就不能工作_Wix - Fatal编程技术网

Wix 组件状态为';没有用户界面就不能工作

Wix 组件状态为';没有用户界面就不能工作,wix,Wix,当我在没有ui的情况下进行更新时,wix中的组件有问题 <Component Id="PrinterConfEnable" Guid="911F0032-A217-4B1F-B973-29DB6DC06952"> <util:XmlFile Id="PrinterEnabled" Action="setValue" Permanent="yes" File="[INSTALLFOLDER]\config.xml" ElementPath="/printer/enabl

当我在没有ui的情况下进行更新时,wix中的组件有问题

<Component Id="PrinterConfEnable" Guid="911F0032-A217-4B1F-B973-29DB6DC06952">

    <util:XmlFile Id="PrinterEnabled" Action="setValue" Permanent="yes" File="[INSTALLFOLDER]\config.xml" ElementPath="/printer/enabled" Value="true" />

    <Condition>
        <![CDATA[ USE_PRINTER_VAL = "1" and USE_PRINTER_0_VAL = "1" ]]>
    </Condition>

</Component>

<Component Id="PrinterConfDisable" Guid="56AD5D4B-3700-44E1-9A0F-03E3A2A5D88F">

    <util:XmlFile Id="PrinterDisabled" Action="setValue" Permanent="yes" File="[INSTALLFOLDER]\config.xml" ElementPath="/printer/enabled" Value="false" />

    <Condition>
        <![CDATA[ USE_PRINTER_VAL <> "1" or USE_PRINTER_0_VAL <> "1" ]]>
    </Condition>

</Component>

“1”或使用打印机\u 0\u VAL“1”]>
更新属性时,USE_PRINTER_VAL和USE_PRINTER_0_VAL等于1,但在config.xml中已写入

<printer> 
    <enabled>false</enabled>
</printer>

假的

但是,当我使用UI更新时,它可以正常工作

假设这些值在UI中设置,“无UI更新”表示功能更改或补丁(或类似内容),然后:

您可能假设一旦在UI中设置了属性值,它们就会保存在某个地方以供以后使用。除非保存它们,否则不会保存它们,因此它们将恢复为默认值。WiX有一个“记住属性”模式,您可以使用它来保存值,以便最初输入的值将在其他服务活动(如修补程序、更新等)上保存和恢复


即使它们被设置在某个地方,也需要将它们标记为安全的,以确保它们正确地传递到执行序列中

假设这些值在UI中设置,“无UI更新”表示功能更改或补丁(或类似内容),则:

您可能假设一旦在UI中设置了属性值,它们就会保存在某个地方以供以后使用。除非保存它们,否则不会保存它们,因此它们将恢复为默认值。WiX有一个“记住属性”模式,您可以使用它来保存值,以便最初输入的值将在其他服务活动(如修补程序、更新等)上保存和恢复


即使它们被设置在某个地方,也需要将它们标记为安全的,以确保它们正确地传递到执行序列中

在安装初始化之前,我从旧的config.xml中获取值,并将其设置为USE\u PRINTER\u VAL和USE\u PRINTER\u 0\u VAL以确保这些属性相等1我添加以下
,得到以下
false 1 1
“在安装初始化之前”可能意味着自定义操作,但是没有证据表明这个CA正在被调用,或者它正在设置值,显然它不是。您应该执行更新以生成详细日志,并查看调用了什么以及何时调用,以及设置值的原因。在安装初始化之前,我从旧config.xml中获取值,并将其设置为“使用打印机”值,然后使用“打印机”值确保这些属性相等1我添加以下
,得到以下
false 1
“在安装初始化之前”可能意味着自定义操作,但没有证据表明正在调用此CA或它正在设置值,而且显然不是。您应该执行更新,生成详细日志,并查看调用的内容、值的设置时间以及设置的原因。