【问题标题】:Installdir on silent installationInstalldir 静默安装
【发布时间】:2011-05-15 13:08:59
【问题描述】:

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

<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>

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

但是在静默安装中,组件总是被安装,如果条件应该为假的话。

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

评论

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

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

我知道 INSTALLDIR 仅在 CostFinialize 操作之后才被初始化,并且条件字段在该操作期间启用或禁用,这意味着该属性在该阶段为空...

您对如何更早地初始化属性有任何想法吗?

【问题讨论】:

    标签: properties wix silent


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-27
      • 2023-04-06
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      相关资源
      最近更新 更多