WiX tutorial の
Lesson 3 Events and actions
3.1 Queueing up にあるように、Condition が 求めている様には
行かない事があります。
よって、ここの英語をよく読んで下さい。
・・・とは言いながら、説明します。
これをセットして、
<Property Id="INSTALLDIR"> <RegistrySearch Id='AcmeFoobarRegistry' Type='raw' Root='HKLM' Key='Software\Acme\Foobar 1.0' Name='InstallDir' /> </Property>この様にしても アプリケーションのインストールチェックがうまく行きません。
<Condition Message='This module can only be installed if Acme Foobar 1.0 has been installed first.'> INSTALLDIR </Condition>
シーケンステーブルの使用 (
Using a Sequence Table ) からリンクされている
Suggested InstallExecuteSequence にあるように、シーケンス番号順に実行されて
LaunchConditions が AppSearch より先に実行される為です。
よって Action Sequence をカスタマイズします。
よって、例えばこの様に カスタマイズすれば良いそうです。
<InstallExecuteSequence> <LaunchConditions After='AppSearch' /> <RemoveExistingProducts After='InstallFinalize' /> </InstallExecuteSequence>LaunchConditions Action にも 入れ替えて良いって書いてありますね。