WiX first timer here。WiX:条件付き内部テキストが正しく評価されていない
WiXを使用して私の製品のインストーラをビルドしていますが、インストールを続行する前にMSMQがインストールされていることを確認しています。this SO answerに従ってください。私はこのように定義された条件要素を、使用しています:
<Condition Message="MSMQ must be installed in order to proceed.">
<![CDATA[MSMQ_INSTALLED<>"false"]]>
</Condition>
私の財産とRegistrySearchは、次のようになります。
<Property Id="MSMQ_INSTALLED" Value="false" Secure="yes">
<RegistrySearch Id="Msmq.RS"
Root="HKLM"
Key="SOFTWARE\Microsoft\MSMQ"
Name="Values"
Type="raw"/>
</Property>
しかし、それは適切に評価しません。レジストリキーが存在するかどうかにかかわらず、インストールはメッセージと共に停止します。だから私の質問は:
- 私は条件要素を正しく使っていますか?
- 私は評価で間違って定義したことはありますか?
さらにテストすると、検索するレジストリキーに関係なく、MSMQ_INSTALLEDプロパティに「1:0 2:」という値が含まれていることがわかりました。
EDIT:Condition要素はProduct要素内に存在します。それは重要な区別であるas the Condition element is overloadedです。
EDIT:CDATA指令を使用し、インナーコンディションロジックを反転するための条件を変更して、より正確に問題を反映させます。
なぜこれが下落したのか分かりません。この投稿を明確にするか曖昧さをなくすことができれば、私にコメントを残してください。 – grefly