Grow up

生活とプログラミング

Visual Studio 2019 Installer Project で .NET Framework オフライン インストーラ を実行する方法

f:id:knkomko:20200517011735p:plain

開発環境

・Windows10 バージョン 1909
Visual Studio 2019 Community

はじめに

今回は Installer Project から オフラインインストーラを実行してみます。

規定値の場合 .NET Framework はインターネットを介してダウンロードするため、オフラインの場合はオフラインインストーラを実行する必要がありました。

Installer Project の作成方法については以下の記事をご確認ください。
knkomko.hatenablog.com

1. Installer Project 設定の変更

Installer Project を右クリックします。
f:id:knkomko:20200517013552p:plain:w350

表示されたメニューから「プロパティ」を左クリックします。r
f:id:knkomko:20200517013715p:plain:w350

[prerequisites...]ボタンを左クリックします。
f:id:knkomko:20200517013837p:plain:w350

「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」のラジオボタンを左クリックします。
この時、使用する .NET Framework にチェックが入っている事を確認して下さい。
[OK]ボタンを左クリックします。
f:id:knkomko:20200517014027p:plain:w350

[OK]ボタンを左クリックします。
f:id:knkomko:20200517014641p:plain:w350

2. 不足ファイルの確認

Installer Project を右クリックして「リビルド」を左クリックします。
f:id:knkomko:20200517014729p:plain:w350

ビルドエラーの場合は内容を確認します。
.NET Framework のファイルが不足しているという内容が表示されると思います。
f:id:knkomko:20200517014826p:plain

今回は"DotNetFX472\NDP472-KB4054530-x86-x64-AllOS-ENU.exe"が必要です。
.NET Framework のバージョンによって名称が変わるので注意してください。

ERROR: [必須コンポーネント] ダイアログ ボックスで [アプリケーションと同じ場所から必須コンポーネントをダウンロードする] を有効にするには、項目 'Microsoft .NET Framework 4.7.2 (x86 および x64)' のファイル 'DotNetFX472\NDP472-KB4054530-x86-x64-AllOS-ENU.exe' をローカル コンピューターにダウンロードする必要があります。詳細については、http://go.microsoft.com/fwlink/?LinkId=616018 を参照してください。

3. 不足ファイルの配置

以下のサイトから不足している .NET Framework をダウンロードします。
dotnet.microsoft.com

今回は .NET Framework 4.7.2 を使用します。
f:id:knkomko:20200517015641p:plain:w450

Offline installer と Language packs のファイルをダウンロードします。
今回は日本語の Language packs を使用します。
f:id:knkomko:20200517020146p:plain:w450

2つのファイルをダウンロードしました。
・Offline installer : NDP472-KB4054530-x86-x64-AllOS-ENU.exe
・Language packs : ndp472-kb4054530-x86-x64-allos-jpn.exe
f:id:knkomko:20200517021044p:plain:w450

以下のフォルダを開きます。
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\
f:id:knkomko:20200517021423p:plain:w450

フォルダ名とバージョンの対応は以下の通りです。
f:id:knkomko:20200517022301p:plain:w350

今回は 4.7.2 を使用する為 DotNetFX472 を開きます。
f:id:knkomko:20200517022433p:plain:w450

DotNetFX472 に Offline installer のファイルをコピーします。
Offline installer : NDP472-KB4054530-x86-x64-AllOS-ENU.exe
f:id:knkomko:20200517022556p:plain:w450

DotNetFX472 フォルダ内の ja フォルダを開きます。
f:id:knkomko:20200517022847p:plain:w450

ja フォルダに Language packs のファイルをコピーします。
Language packs : ndp472-kb4054530-x86-x64-allos-jpn.exe
f:id:knkomko:20200517023000p:plain:w450

4. インストーラの作成

Installer Project を右クリックして「リビルド」を左クリックします。
f:id:knkomko:20200517014729p:plain:w350

.NET Framework ファイル不足が原因だったエラーが解消されたと思います。
f:id:knkomko:20200517023342p:plain:w450

インストーラを確認すると DotNetFX472 のフォルダが作成されています。
f:id:knkomko:20200517023608p:plain:w450

DotNetFX472 のフォルダにはインストーラファイルが入っています。
f:id:knkomko:20200517023755p:plain:w450

5. インストーラの実行

オフラインでインストールを行います。
f:id:knkomko:20200517030402p:plain:w450

.NET Framework のインストールを行います。
f:id:knkomko:20200517030442p:plain:w450

無事 .NET Framework のオフラインインストーラが実行されました。
f:id:knkomko:20200517030541p:plain:w450

.NET Framework のインストールが完了すると次はアプリのインストールです。
f:id:knkomko:20200517030623p:plain:w450

アプリのインストールが完了して実行できることが確認できました。
f:id:knkomko:20200517030743p:plain:w450

注意点

発行 と Installer Project の必須コンポーネントの画面が同じなので間違えないようにして下さい。

・発行 の場合
f:id:knkomko:20200517031118p:plain:w450

f:id:knkomko:20200517031141p:plain:w450

・Installer Project の場合
f:id:knkomko:20200517031324p:plain:w450

f:id:knkomko:20200517031341p:plain:w450