1

InstallShield-2009 Premier: 基本的な msi プロジェクト:

アンインストール中にユーザーがキャンセル ボタンをクリックしたときにカスタム アクションを実行するにはどうすればよいですか?

カスタムアクション(メッセージボックスを表示するだけのC#exe)を入れました

アクションタイプ:

Type: Launch an executable

Location: Stored in the Binary table

アクション パラメータ:

Source: exe path

Target: a b c (doesn't matter, I don't need it)

追加オプション:

Return Processing: Synchronous (Check exit code)

Run Only During Path Uninstall: unchecked

応答オプション:

In-Script Execution: Rollback Execution in System Context

Executing Scheduling: disabled

シーケンスに挿入:

Install UI-Sequence: <Absent from sequence>

Install Execute Sequence: After InstallServices (what should I set here?)

Install Execute Condition: (do I need to set? I left it blank)

しかし、アンインストールをキャンセルしたときにメッセージ ボックスが表示されませんでした。どのように?

4

2 に答える 2

1

イベントをダイアログの [キャンセル] ボタンに結び付けたいと思うかもしれません。インストール デザイナーで、[ユーザー インターフェイス] > [ダイアログ] に移動し、[SetupProgress] を見つけて、[Cancel PushButton] にイベントを追加します。試したことはありませんが、試してみる価値はあります。

于 2011-05-12T16:37:33.910 に答える
0

ロールバック カスタム アクションは、ロールバックするアクションの前にスケジュールする必要があります。ロールバックを処理したいので、InstallExecuteSequence で InstallInitialize の後にアクションをスケジュールできます。

この方法では、実際にインストールを開始した後にユーザーがインストールをキャンセルしたときに常に実行されます。

プロセスが実際に開始される (進行状況バーが表示される) 前にインストールをキャンセルする場合、ロールバック カスタム アクションは使用できないことに注意してください。このためには、その特定のキャンセル ボタンにコントロール イベントが必要です。

于 2011-05-13T06:05:39.930 に答える