この記事では、Windows インストーラー テクノロジを使用して .NET プログラムを公開する方法、およびネイティブ コードを使用して、ターゲット マシンに .NET Framework がインストールされているかどうかを確認する方法について説明します。インストールされていない場合は、.NET Framework が自動的にインストールされます。作成者独自の .NET プログラムがインストールされます。
-------------------------------------------------- ----------------------------------
この記事の内容 .NET Framework を公開するインストーラーを自作する
著者による独自ネイティブインストーラーの使い方まとめ
-------------------------------------- ---------- --------------------------------------
この記事の内容
1. VS.NET を使用してインストーラーを作成します。
2. .NET Framework をターゲット マシンにデプロイする方法。
3. ネイティブ コードを使用して .NET Framework と独自のインストール プログラムを統合インストール プログラムにする方法。このプログラムは、.NET Framework を自動的にインストールし、ターゲット マシンに .NET Framework がない場合は、作成者独自のプログラムを自動的にインストールします。
-------------------------------------------------- -----------------------------
VS.NET で独自のインストーラーを作成するには、「セットアップおよび展開プロジェクト」を作成します。 「プロジェクト、独自の .NET プログラムを Windows インストーラー ファイルに作成するのは非常に柔軟で便利です。たとえば、次のオプションを簡単にカスタマイズできます。
1. デスクトップにショートカットを配置するかどうか。
2. ファイルをダブルクリックして独自のプログラムで開くことができる独自のファイル タイプを登録します。
3. レジストリ処理 次の MSDN サイトでは、VS.NET のセットアップ プロジェクトと展開プロジェクトを通じて独自のインストーラーを作成する例を入手できます。
http://msdn.microsoft.com/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp
------------------------- -------------------------------------------------- ---
.NET Framework の公開
.NET Framework 1.0 には、.NET の再展開に使用される exe ファイル Dotnetfx.exe が用意されており、これには、.NET プログラムの実行時に共通言語ランタイムとその他の重要なコンテンツが含まれています。
次のサイトから exe ファイルをダウンロードできます。
http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
同時に、このファイルは VS.NET インストール CD または DVD にもあります。
さまざまな方法で Dotnetfx.exe を実行することで、.NET Framework をターゲット マシンに展開できます。
1. Microsoft Systems Management Server 経由で導入されます。
2. Active Directory 経由で導入されます。
3. サードパーティのツールを使用します。
具体的な情報については、次の記事を参照してください。
http://msdn.microsoft.com/library/en-us/dnnetdep/html/redistdeploy.asp
------------------------- -------------------------------------------------- ---
独自のネイティブ インストール プログラムを作成します。ターゲット マシンに .NET プログラムを公開したいが、ターゲット マシンに .NET Framework がインストールされているかどうかが不明な場合は、アンマネージ コードを設計する必要があります。ターゲット マシンに .NET Framework がインストールされているかどうかを確認してください。インストールされていない場合は、Dotnetfx.exe を実行して .NET Framework をインストールし、Windows インストーラーを使用して独自のプログラムをインストールします。
MSDN の次の Web ページでは、アンマネージ C++ で実装されたインストーラーとそのソース コードを入手できます。
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
1. CSettings クラスで、独自の MSI インストール ファイルと dotnetfx.exe へのパスを取得し、「settings.ini」を読み取ることでその他の独自の設定を取得します。 (.NET Frameworkの言語バージョンなど)
GetCaptionText(void)
GetDialogText(void)
GetErrorCaptionText(void)
GetIniName(void)
GetProductName(void)
Parse() 関数は、settings.ini ファイルを解析するために使用されます。
2. Main.cpp ファイルでは、グローバル関数 FxInstallRequired() がターゲット マシンに .NET Framework をインストールするかどうかを決定し、次のレジストリ キー値と dotnetfx.exe のバージョンと言語設定を検出します。
HKLMSOFTWAREMicrosoft.NETFrameworkpolicyv1.0
3. .NET Framework をインストールする必要がある場合は、グローバル関数 ExecCmd() で次のコマンドをサイレントに呼び出して、dotnetfx.exe をインストールします。
dotnetfx.exe /q:a /c:"インストール /l /q"
4. ExecCmd() グローバル関数で次のコマンドを呼び出して、独自の MSI ファイルをインストールします。
msiexec /i <MSI ファイル> REBOOT=ReallySuppress
-------------------------------------- --------------------------------------
使い方 上記ネイティブコードを使用した場合独自のインストール プログラムとして、次の手順で独自の .NET プログラムを組み合わせることができます。
1.独自の .NET プログラムを Windows インストーラー (.MSI) ファイルに作成します。
2. 「settings.ini」ファイルを開き、「Msi」キーに独自の .NET プログラムの MSI ファイル パスとファイル名を設定し、「FxInstallerPath」キーに dotnetfx.exe へのパスを設定します。特定のパラメーター情報は、次の記事から入手できます。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy.asp
3. 「setup.exe」、「settings.ini」、「dotnetfx.exe」、および独自の MSI インストール ファイルをターゲット マシンに送信し、「setup.exe」を実行すると、インストール プログラムが存在するかどうかを自動的に検出します。 .NET Framwork がない場合は、dotnetfx.exe が最初に実行されます。
上記の手順により、.NET Framwork 環境がインストールされていないマシンに .NET プログラムを正常に展開できます。
-------------------------------------------------- ----------------------------------
まとめ 上記の手順により、インストールせずに .NET プログラムを正常に展開できます。 .NET フレームワーク環境。
-------------------------------------------------- ----------------------------------
著者 張光輝
2002 年 10 月 22 日