2012-04-17 21 views
1

InstallShield 2012 Professionalを使用して、基本的なMSIプロジェクトを作成しています。私の質問は、ダイアログとのユーザーのやりとりによって引き起こされるカスタムアクションの実行方法に関するものです。InstallShield(基本MSIプロジェクト)のユーザー対話からカスタムアクションを実行

私は研究を行ってきましたが、私はそれを機能させるための適切な設定の組み合わせを得ていません。実行するカスタムアクションを取得しましたが、それ以前にもユーザーとのやりとりが行われます。

インストールが完了し、標準の "SetupCompleteSuccess"ダイアログが表示されたら、ユーザーはプログラムの起動に加えて終了ボタンをクリックするといくつかのHTMLリリースノートを表示するようにチェックボックスを追加しました。プログラムの起動は完全に機能し、プロジェクトアシスタントウィザードで設定されました。ダイアログで

Checkbox setup in dialog

、私はカスタムアクション「OpenReleaseNotes」の場合を実行するための仕上げ(別名OK)ボタンでDoActionに設定ダイアログの行動を1に、プロパティLAUNCHRELEASENOTESを設定するには、チェックボックスを設定します条件LAUNCHRELEASENOTES = 1が真です。私はおそらく、私はそれが実行可能ファイルを起動作っています、レシピをめちゃくちゃにしています、私が作成した「OpenReleaseNotes」カスタムアクションでは、

Button behavior.

(この場合はcmd.exeのはちょうどDOSコマンドを呼び出すために)へhtmlリリースノートを開きます。私は完全には、カスタムアクションの設定の組み合わせは、インストールの最後にユーザーのやりとりによって実行する必要が設​​定する必要がありますが不明です。これらは、カスタムアクション用に設定する必要がありますどのように

Custom Action

  • 復帰処理
  • で、スクリプトの実行
  • 実行スケジュール

答えて

2

ControlEventsを持っている(該当する場合)の条件を実行して、インストールし

  • シーケンスを実行しインストールUIシーケンス
  • をインストールします。操作の順序"EndDialog"コントロールイベントを右クリックし、下へ移動を選択すると、カスタムアクションの後に実行されます。

  • +0

    実際そうです。ダイアログビヘイビアセクションの "OK"ボタンコントロールイベントのシリーズでは、下部に "EndDialog"を置くことがトリックでした。リストが操作の順番になっていることを知ることは非常に貴重です。どうもありがとうございます。私のカスタムアクションの条件を単にLAUNCHRELEASENOTESではなくLAUNCHRELEASENOTES = 1にするという、もう少しミスを犯しました。カスタムアクションの私のコマンドラインにもいくつかの助けが必要でした。ありがとうございました。 – GNat

    +0

    FWIW、InstallshieldのUIが悪いです。基本となるControlEvent表にはOrder列がありますが、InstallShieldはそれを順序付きリストとして表し、実際の順序を隠します。それは直感的ではなく、誰かがあなたを見せない限り、壁に頭を打つことができます。私は彼らが今持っている機能を保持していただけでなく、Order列を表示し、編集可能にします。 –