我遇到了下一个问题,我定义了一个新属性:
<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>
定期安装时,该属性已正确分配,并且条件正常。
但是在静默安装时,组件总是被安装,如果条件应该为假的话。
在详细日志中,这两个属性似乎都是正确的……</p>
评论:
经过进一步调查,并根据下一个链接:
msdn.microsoft.com/en-us/library/aa368007%28VS.85%29.aspx
我知道 INSTALLDIR 仅在 CostFinialize 操作之后才被初始化,并且在该操作期间启用或禁用条件字段,这意味着该属性在该阶段为空......
您对如何更早地初始化属性有任何想法吗?