0

installshield 2011を使用しています。マージモジュールがあり、マージモジュールのインストール後に特定のexeを実行したいと考えています。このexeファイルはマージモジュールファイルの一部です。マージモジュールでカスタムアクションを作成すると、ファイルがコピー先の場所にコピーされる前にアクションが実行されます。ファイルが操作された後にこのカスタムアクションを実行して、その場所でexeを見つけることができるようにする方法はありますか?または、この問題を解決する他の方法はありますか?

4

1 に答える 1

2

マージモジュールは「インストール」されず、インストーラデータベースにマージされ、それがインストールされます。つまり、基本MSIプロジェクトで作成されたコンポーネント/カスタムアクションとMSMプロジェクトで作成されたコンポーネント/カスタムアクションは同じように動作します。

MSIまたはMSMプロジェクトでカスタムアクションを作成していますか。違いは、前者はInstallExecuteSequenceテーブルを使用し、後者はModuleExecuteSequenceテーブルを使用することです。他のすべてのルールが適用されます。InstallFilesの後に、偽装なしの遅延(SYstem Context)としてこれをスケジュールすることをお勧めします。また、コンポーネントのキーファイルがインストールされているときにのみ実行されるように、コンポーネントのアクション状態を条件で使用することもできます。

また、ロールバックとアンインストールのシナリオで何かを行う必要があるかどうかを検討してください。それと、このEXEが実行していることをMSIでネイティブに実行できないことを確認してください。(SelfRegパターンは、ネイティブの宣言型トランザクションMSIパターンよりも劣ります。)

于 2011-04-06T22:32:30.523 に答える