默认安装时的Installdir

时间:2010-11-25 07:28:39

标签: properties wix silent

我遇到了下一个问题,我定义了一个新属性:

<Property Id="TEMP_DIR" Secure="yes" >
    <RegistrySearch Id="TEMP_DIR" Root="HKLM" Key="SOFTWARE\$(Company)" Name="InstallDir" Type="directory"></RegistrySearch>
</Property>

然后我定义了一个新组件:

<Component Id="PerformAction" Guid="E2E4E3E5-FBEC-4051-B47B-9347B78105C2">
   <Condition><![CDATA[TEMP_DIR<>INSTALLDIR]]></Condition>
       …
</Component>

在常规安装中,属性已正确分配,条件正常。

但是在静默安装时,组件始终安装,如果条件应为false,则为event。

在详细日志中,似乎两个属性都是正确的......

注释

经过进一步调查,并根据下一个链接:

msdn.microsoft.com/en-us/library/aa368007%28VS.85%29.aspx

我了解INSTALLDIR仅在CostFinialize操作后进行初始化,并且条件字段在该操作期间启用或禁用,这意味着该属性在该阶段为空...

您对如何初步初始化该属性有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我怀疑INSTALLDIR属性是根据UI序列中某处的用户输入设置的,该序列不在静默安装中运行。如果是这种情况,您可能希望将INSTALLDIR的值作为msiexec.exe的参数传递。