コンポーネントの状態を説明している他の記事では、機能の状態に基づいて評価されていませんが、私の質問ははるかに簡単です。Wixコンポーネントの条件が期待どおりに機能しない
次のことを考える:
<Property Id="WORDISINSTALLED" Secure="yes">
<RegistrySearch Id="FindWordIsInstalled" Root="HKCR" Key="Word.Application" Type="raw" Win64="$(var.Win64)"/>
</Property>
<Property Id="WORDVERSION" Secure="yes">
<RegistrySearch Id="WordVersion" Root="HKCR" Key="Word.Application\CurVer" Type="raw"/>
</Property>
<SetProperty Id="MIN_WORD_VERSION_INSTALLED" After ="AppSearch" Value="1">
<![CDATA[WORDVERSION <> "Word.Application.11" AND WORDVERSION <> "Word.Application.12" AND WORDISINSTALLED]]>
</SetProperty>
私はこれを行うことができるはず:MIN_WORD_VERSION_INSTALLEDが非NULLかつTRUEである場合、コンポーネントvar.SOFFWordAddinReg_Idにのみインストールされることを期待して
<Component Id="$(var.SOFFWordAddinReg_Id)" DiskId="1" Guid="$(var.SOFFWordAddinReg_Guid)" Win64="$(var.Win64)">
<Condition>MIN_WORD_VERSION_INSTALLED</Condition>
<RegistryValue Root="HKLM" Key="Software\Microsoft\Office\Word\AddIns" Name="Description" Value="yada" Type="string" Action="write"/>
</Component>
を。
私はWORDISINSTALLEDは、「Microsoft Wordのアプリケーション」に設定されているとWORDVERSIONが(AppSearch中)に「Word.Application.14」に設定されていますが、MIN_WORD_VERSION_INSTALLEDが設定されていないログから見る:
アクションをスキップ:SetMIN_WORD_VERSION_INSTALLED .FA651678_2CA2_423F_9FE0_FE10237B33F6
ログも成分 コンポーネントを示す(条件が偽である):SOFFWordAddinReg.7D199B30_06E3_488C_9EDF_4B8188026E9Cと、インストール済み:不在。リクエスト:ローカル。処置:NULL。クライアントの状態:不明
ただし、その理由はわかりません。 (私は条件のために仮定する)
私は何かをしなければならない非常に基本的が間違っています。どんな助けでも大歓迎です。