1

Windowsインストーラーは通常のアプリケーションのようにロジックを実行できますか?

例:プラグインファイルをCドライブ上のサードパーティアプリケーションのディレクトリにインストールするインストーラーを作成しています。ただし、ユーザーが古いバージョンのサードパーティアプリケーションを使用している場合、宛先ディレクトリは異なります。

したがって、インストーラーは、Cドライブにあるサードパーティアプリケーションのバージョンを判別する必要があります。新しいバージョンの場合はプラグインファイルをC:// Program Files // 3rdPartyApplication //にインストールし、古いバージョンの場合はC://3rdPartyApplication//にインストールします

では、Windowsインストーラーはロジックを実行できますか?実行できない場合は、これを実行できるバッチファイルを実行できますか?

4

4 に答える 4

1

「インストーラー」は、そのコンテンツを個人のハード ドライブに解凍し、場合によってはレジストリの変更などのアクションを実行するように設計された通常のアプリケーションです。

たとえば、installShield のようなインストーラーを使用する場合は、そのインストーラーのドキュメントを参照して、何ができるかを確認する必要があります。ほとんどのインストーラー アプリケーションには、カスタム スクリプトを作成するための何らかの領域があります。

独自のものを作成することもできますが、実際にはそれほど難しくありません。

于 2012-04-29T02:44:32.167 に答える
1

はい、インストーラーは通常のアプリケーションと同じようにロジックを実行できます。この観点から、インストーラーは通常のアプリケーションです。

インストーラ ロジックのプログラミング方法は、使用するインストーラ スイートによって異なります。アプリケーションが内またはC:\Program Files\3rdPartyApplication内に存在するかどうかを検出するには、 WiX Toolsetの要素をC:\3rdPartyApplication使用し、Windows インストーラのドキュメントを参照してください: Searching for Existing Applications, Files, Registry Entries or .ini File Entries .FileSearch

カスタム アクションによって、より高度なロジックを実装できます。[カスタム アクション}(http://msdn.microsoft.com/en-us/library/aa368066.aspx) は、JScript、VBScript、C/C++ (DLL または EXE) で記述できますが、EXE はWindows インストーラー セッション)。

于 2012-04-30T09:18:57.123 に答える
0

はい、Windows インストーラーは通常のアプリケーションと同じようにロジックを実行できます。

Alexey が提案するように、WiX Toolset を使用して仕事を終わらせることができます。

FileSearch 要素 ( http://wix.sourceforge.net/manual-wix3/wix_xsd_filesearch.htm ) を使用して、ファイルまたは RegistrySearch 要素 ( http://wix.sourceforge.net/manual-wix2 ) の存在を確認できます。 /wix_xsd_registrysearch.htm ) レジストリ キーを使用して確認する場合。

または、検索がファイルまたはレジストリのチェックほど単純でない場合、カスタム アクションを使用すると、(好みに応じて) マネージド コードまたはアンマネージド コードを記述して、インストールされているサード パーティ アプリケーションのバージョンを確認できます。

検索結果に基づいて、実行時にインストール ディレクトリを変更できます。タイプ 35 カスタム アクションでは、インストール ディレクトリを変更できます: http://msdn.microsoft.com/en-us/library/windows/desktop/aa368093%28v=vs.85%29.aspx

于 2012-05-01T13:09:40.877 に答える