.NET 自動インストール パッケージ プロジェクト (Visual Studio インストーラー プロジェクト) で .NET Framework 環境を自動的にインストールするようにインストール パッケージを設定する方法
序文
Microsoft Visual Studio インストーラー プロジェクトは、 Microsoft Visual Studio の拡張機能であるインストーラーを作成するためのツールのセットです。これらのツールを使用すると、開発者は Visual Studio 内でインストーラーを作成およびカスタマイズし、アプリケーションをパッケージ化してユーザーに配布できます。
Visual Studio インストーラー プロジェクトを使用すると、開発者はビジュアル インターフェイスを通じてインストーラーのさまざまな設定を構成したり、カスタム スクリプトやカスタム操作を使用して特定のインストール ニーズを満たすことができます。このツールは Visual Studio 開発環境に統合されているため、開発者は同じ環境でアプリケーションの開発とインストーラーの作成を行うことができます。
Visual Studio インストーラー プロジェクトは、MSI (Microsoft インストーラー) や ClickOnce など、いくつかの種類のインストーラーの作成をサポートしています。MSI は、より複雑なインストール操作を実行するためのより高度な機能と柔軟性を提供する一般的なインストーラー形式です。ClickOnce はインストールが簡単な方法であり、小規模なアプリケーションの展開と更新に適しています。
この記事では、.NET 自動インストール パッケージ プロジェクト (Visual Studio インストーラー プロジェクト) で、.NET Framework 環境を自動的にインストールするためのインストール パッケージのセットアップ方法を主に紹介します。
新しい .NET WinForm プロジェクトを作成する
デモンストレーションの便宜上、ここでは新しい WinForm APP (.NET Framework) コンソール プログラムを作成します。写真が示すように:
そこにいくつかのコントロールを置くだけです。簡単に実証できる
インストーラープロジェクトプラグインをインストールする
VS -> 拡張機能 -> 拡張機能の管理 -> オンライン -> 「インストール プロジェクト」を検索 -> ダウンロードしてインストールする Microsoft Visual Studio インストーラー プロジェクトを選択します。
新しいインストールプロジェクトを作成します(セットアッププロジェクト)
VS -> ソリューションを右クリック -> 追加 -> 新しいプロジェクト -> テンプレート「インストーラー」を検索
パッケージ型式 | 使用 |
---|---|
プロジェクトのセットアップ | ファイルを追加できる Windows インストーラー プロジェクトを作成する |
Webセットアッププロジェクト | ファイルを追加できる Windows インストーラー Web プロジェクトを作成する |
モジュールプロジェクトのマージ | ファイルを追加できる Windows インストーラー マージ モジュール プロジェクトを作成する |
セットアップウィザード | セットアップ ウィザードを使用して Windows インストーラー プロジェクトを作成する |
ここでは を選択しますSetup Project
。
WinForm プロジェクトの出力をセットアップ プロジェクトに設定する
このステップでは、主に .net プロジェクトとインストーラーの間の関連付けを示します。ここでは、プロジェクトの出力を例として取り上げます。最終インストール パッケージのパッケージ化プロセス中に、.net プロジェクトによって生成された DLL や EXE などのリリース出力ファイルがインストール パッケージに自動的に出力されます。もちろん、ビジネス ニーズに応じて、他の種類のファイル、アセンブリなどをインストール パッケージに追加することもできます。
VS -> 右クリック [セットアップ] -> [追加] -> [プロジェクト出力]
以下のように構成を設定し、出力タイプは Primary 出力 (メイン出力) を選択します。
NET Framework インストール パッケージ
VS -> [セットアップ] を右クリック -> [プロパティ] -> [セットアップ プロパティ ページ] ダイアログ ボックスに入る -> [デバッグ] -> [前提条件] (前提条件)
注: エラーを回避するには、デバッグとリリースで同じ前提条件を設定する必要があります。
前提条件ダイアログに入る
必要な .Net 環境を選択します -> システム前提条件のインストール場所を指定します。アプリケーションと同じ場所からシステム前提条件をダウンロードします -> OK -> 適用 -> OK
インストールパッケージを生成する
VS -> リリースモードを選択 -> セットアップを右クリック -> 生成
エラーレポートと原因分析を生成します。
初回生成時は以下のエラーが表示されます。
ここには 2 つの主な問題があり、1 つは警告、もう 1 つはエラーです。個別に解決してみましょう。
1. 警告に対する解決策
警告メッセージは次のとおりです。
警告: .NET Framework の起動条件「.NET Framework 4.7.2」のバージョンは、選択した .NET Framework ブートストラップ パッケージと一致しません。[前提条件] ダイアログ ボックスで選択した .NET Framework のバージョンと一致するように .NET Framework の起動条件を更新します。
解決:
VS -> [Setup] を右クリック -> ファイル エクスプローラーでフォルダーを開く -> テキスト エディターで Setup.vdproj を開く -> 4.7.2 を検索し、4.8 に変更 -> 再生成すると警告が消えます
実行結果は以下の通り、Warningが消えてErrorだけが残っていることがわかります。
2. エラーの解決
エラーメッセージは次のとおりです。
エラー: [前提条件] ダイアログ ボックスで [アプリケーションと同じ場所から前提条件をダウンロードする] を有効にするには、項目 'Microsoft .NET Framework 4.8 (x86) のファイル 'DotNetFX48\NDP48-x86-x64-AllOS-ENU.exe' をダウンロードする必要があります。 x64)」をローカル マシンに送信します。詳細については、http://go.microsoft.com/fwlink/?LinkId=616018 を参照してください。
エラー: ブートストラップのビルド中に一般的なエラーが発生
しました。 エラー: 回復不能なビルド エラー - 0x80004005
エラーの原因の分析:
Microsoft 公式説明:方法: ClickOnce アプリケーションに前提条件を含める
ClickOnce アプリケーションとともに前提条件ソフトウェアを配布するには、まずこれらの前提条件のインストーラー パッケージを開発用コンピューターにダウンロードする必要があります。アプリケーションを公開し、アプリケーションと同じ場所から前提条件をダウンロードすることを選択した場合、インストール パッケージがパッケージ フォルダーにない場合は、エラーが発生します。
解決:
Package.xml を使用してインストーラー パッケージを追加します
インストールする必要がある .NetFramework PackageFile 情報を表示します。
パッケージフォルダーを開きます
デフォルトでは、パスは 64 ビット システム上にありますC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
。写真のように
前提条件フォルダーの構成情報を表示する
追加する前提条件のフォルダー、.net Framework 4.8: DotNetFX48 に対応するフォルダーを開きます。
次に、テキスト エディターで開き、Product.xml
手動でダウンロードする必要があるファイルを表示します。
図に示すように、2 つの PackageFile ファイルを手動でダウンロードする必要があることがわかります。
NDP48-x86-x64-AllOS-ENU.exe
そしてNDP48-Web.exe
.NET Framework パッケージファイルのダウンロード
Baidu にアクセスして、いくつかのファイルをダウンロードし、DotNetFX48 ディレクトリに置きます。
Microsoft の公式アドレスにアクセスしてダウンロードすることもできます: Download .NET Framework 4.8
中国語言語パックをダウンロードする
zh-Hans
次のフォルダーに移動します。
テキスト エディタで、Package.xmlファイルを開きます。
.NET Framework 4.8に進み、中国語 (簡体字) 言語パックをダウンロードして\Packages\DotNetFX48\zh-Hans
ディレクトリに置きます。
再生成するとエラーは消えます。
生成後、追加の DotNetFX48 フォルダーが作成されます。
このようにして、インストール パッケージは .Net Framework 環境を自動的にインストールします。