【发布时间】:2011-05-09 05:32:07
【问题描述】:
我在维护模式下的安装条件存在问题,该问题仅发生在具有 UAC 的系统中。我正在进行注册表搜索以设置安装条件中使用的几个属性。这在初始安装期间有效,但是当我尝试进行修复或修改功能选择时,安装条件失败,并且我收到安装条件失败的消息。
这就是我的 wix 源代码的样子:
<Product Id="MyProduct" ... >
<Package InstallPrivileges="elevated" ... />
<Condition Message="This installtion requires product X or Y.
Setup will now quit.">
<![CDATA[(MYPROPERTY1 OR MYPROPERTY2)]]>
</Condition>
<Property Id="MYPROPERTY1">
<RegistrySearch Id="MySearch1"
Root="HKLM"
Key="Software\Company\ProductX"
Name="Installed"
Type="raw"
Win64="no"/>
</Property>
<Property Id="MYPROPERTY2">
<RegistrySearch Id="MySearch2"
Root="HKLM"
Key="Software\Company\ProductY"
Name="Installed"
Type="raw"
Win64="no"/>
</Property>
<!-- ... Features and components and stuff ... -->
</Product>
我假设 UAC 正在阻止我的注册表搜索发生,但我认为将 InstallPrivileges 设置为“提升”会导致修复期间出现 UAC 提示。我从来没有收到过 UAC 提示,只是修复失败了。如果我禁用 UAC,则修复按预期进行。我在这里错过了什么吗?
编辑:我应该指出,只有当我从 ARP 中选择“更改”,然后选择修复时才会发生故障。如果我直接从 ARP 中选择“修复”,它会按预期工作。
【问题讨论】:
标签: installation wix uac