1

InstallShield 2012 Spring Express を使用しています。最終的に、アプリのインストール中に、「スクリプト内実行」プロパティを「システムでの遅延実行」に設定すると、昇格したプロセス EXE (アプリケーション マニフェストを「requireAdministrator」に設定) でカスタム アクションを実行できることがわかりました。環境。"

それはすばらしい。

しかし今は、アンインストール中にまったく同じことを実行できる必要があります。今のところ、InstallShield 2012 Spring Express の有料版でも動作しません。

まず、「アンインストール中のカスタム アクション」セクションには、「システム変更前」と「システム変更後」の 2 つのエントリしかありません。

カスタム アクションを「システム変更後」に追加しようとはしませんでした。これは、実行する必要がある EXE がパッケージの一部であるためです (したがって、それまでに削除されていたはずです)。そして、「システム変更前」に追加しました。 ." 何らかの理由で、「システム変更前」に追加すると、「スクリプト内実行」オプションがありません。また、このオプションがないため、アンインストールで昇格したプロセス EXE を実行しようとすると、エラー 1721 で失敗します...これは、インストール中に発生したエラーとまったく同じです。 -スクリプト実行」オプションを「システム コンテキストでの遅延実行」に変更します。

では、アンインストール中に昇格したプロセス EXE を正しく実行するにはどうすればよいでしょうか? InstallShield はこれを適切に処理できませんか?

ありがとう、JP

4

1 に答える 1

0

Windows インストーラー XML を使用してマージ モジュールを作成し、カスタム アクションを正しくスケジュールおよび順序付けできます。その後、InstallShield Express はそのモジュールを使用できます。見る:

Windows Installer XML を使用した InstallShield の拡張 - 証明書

ツールの混合に慣れていない場合 (これは、VB.NET で DLL を作成し、C# で作成された EXE でそれを参照するようなものです)、InstallShield Professional にアップグレードする必要があります。

于 2013-03-18T17:43:55.533 に答える