一連の個々の MSI を同期的に起動するカスタム setup.exe プログラムがあります。msi を起動するために使用するスキームとコマンドは次のとおりです。
msiexcehandle = CreateProcess("msiexec.exe /i product.msi /qr")
WaitForSingleObject(msiexechandle, INFINITE)
ここで、次のことを行います。ユーザーが setup.exe プログラムで [停止] ボタンを押したときに、インストールを完全に停止します。まだ開始されていない製品 msi のインストールを制御できますが、既に実行中のインストール (CreateProcess を使用して既に起動されている) にイベントを送信する方法が見つかりませんでした。setup.exe から msiexec.exe の作成した進行状況ダイアログに Cancel イベントを送信します。
このアクションを実行するためのテクニックを提案してください。コマンドラインからインストールを実行しているときにロールバックを呼び出すことはできますか?
参考までに、Wise を使用して MSI を作成し、VS 2008 MFC を使用して setup.exe を作成します。
-カートリー