私が取り組んでいるアプリケーションの以前のバージョン (およびそのインストーラー) は、他の誰かによって作成されました。更新機能を動作させるのに苦労しているので、インストールの前に以前のバージョンをアンインストールしたいのですが、インストールが確実に進むことを確認した後でした。
私は明らかに何か間違ったことをしています。インストールを開始する前に、インストーラーから次のコマンド ラインを実行したい。インストーラーを実行すると、アプリケーションはインストールされますが、コマンド ラインが実行されません。どんな助けでも大歓迎です。
実行したいコマンドラインは次のとおりです。
start /wait MsiExec.exe /quiet /x{MyGuid-0F4A-4F53-8639-0BEE6018EAD6}
私の WiX XML の関連部分:
<Property Id="QtExecCmdLine" Value="start /wait MsiExec.exe /x{MyGuid-0F4A-4F53-8639-0BEE6018EAD6}"/>
<CustomAction Id="UninstallOldVersion" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="ignore"/>
<InstallExecuteSequence>
<Custom Action="UninstallOldVersion" Before="InstallInitialize"/>
</InstallExecuteSequence>
プロンプトから実行すると、コマンドは期待どおりに機能します。また、インストーラーのコンパイルまたは実行中に、エラーや警告は表示されません。