次の方法で共有


.NET Framework とアプリケーションをデプロイする

この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。

この記事は、アプリケーションで .NET Framework のデプロイを開始する際に役立ちます。 ほとんどの情報は、開発者、OEM、エンタープライズ管理者を対象としています。 コンピューターに .NET Framework をインストールするユーザーは、「 .NET Framework のインストール」を参照してください。

主要なデプロイ リソース

.NET Framework の展開とサービスに関する具体的な情報については、次の MSDN トピックへのリンクを参照してください。

セットアップと展開

サービス

デプロイを簡略化する機能

.NET Framework には、アプリケーションのデプロイを容易にする基本的な機能が多数用意されています。

  • 影響のないアプリケーション。

    この機能は、アプリケーションの分離を提供し、DLL の競合を排除します。 既定では、コンポーネントは他のアプリケーションには影響しません。

  • 既定ではプライベート コンポーネント。

    既定では、コンポーネントはアプリケーション ディレクトリにデプロイされ、含まれているアプリケーションにのみ表示されます。

  • 制御されたコード共有。

    コード共有では、既定の動作ではなく、コードを明示的に共有できるようにする必要があります。

  • side-by-side でのバージョン管理。

    コンポーネントまたはアプリケーションの複数のバージョンが共存でき、使用するバージョンを選択でき、共通言語ランタイムによってバージョン管理ポリシーが適用されます。

  • XCOPY のデプロイとレプリケーション。

    自己記述型および自己完結型のコンポーネントとアプリケーションは、レジストリ エントリや依存関係なしでデプロイできます。

  • オンザフライの更新。

    管理者は、ASP.NET などのホストを使用して、リモート コンピューター上でもプログラム DLL を更新できます。

  • Windows インストーラーとの統合。

    公開、公開、修復、およびオンデマンドインストールはすべて、アプリケーションのデプロイ時に利用できます。

  • エンタープライズ展開。

    この機能を使用すると、Active Directory の使用を含め、簡単にソフトウェアを配布できます。

  • ダウンロードとキャッシュ。

    増分ダウンロードではダウンロードが小さくなり、影響の少ない展開用にアプリケーションでのみ使用するためにコンポーネントを分離できます。

  • 部分的に信頼されたコード。

    ID はユーザーではなくコードに基づいており、証明書のダイアログ ボックスは表示されません。

.NET Framework アプリケーションのパッケージ化と配布

.NET Framework のパッケージ化と展開に関する情報の一部については、ドキュメントの他のセクションで説明します。 これらのセクションでは、 アセンブリと呼ばれる自己記述単位に関する情報を提供します。レジストリ エントリは必要ありません。 厳密な名前付きアセンブリは、名前の一意性を確保し、名前のスプーフィングを防ぎ、 アセンブリのバージョン管理を行います。これは、DLL の競合に関連する多くの問題に対処します。 次のセクションでは、.NET Framework アプリケーションのパッケージ化と配布について説明します。

包装

.NET Framework には、アプリケーションをパッケージ化するための次のオプションが用意されています。

  • 1 つのアセンブリまたはアセンブリのコレクションとして。

    このオプションでは、.dll または .exe ファイルをビルド時に使用するだけです。

  • キャビネット (CAB) ファイルとして。

    このオプションを使用すると、ファイルを .cab ファイルに圧縮して、配布またはダウンロードの時間を短縮できます。

  • Windows インストーラー パッケージまたはその他のインストーラー形式。

    このオプションでは、Windows インストーラーで使用する .msi ファイルを作成するか、他のインストーラーで使用するためにアプリケーションをパッケージ化します。

流通

.NET Framework には、アプリケーションを配布するための次のオプションが用意されています。

  • XCOPY または FTP を使用します。

    共通言語ランタイム アプリケーションは自己記述型であり、レジストリ エントリを必要としないため、XCOPY または FTP を使用して、アプリケーションを適切なディレクトリにコピーできます。 その後、そのディレクトリからアプリケーションを実行できます。

  • コードのダウンロードを使用します。

    インターネットまたは企業イントラネット経由でアプリケーションを配布する場合は、コードをコンピューターにダウンロードしてそこでアプリケーションを実行するだけです。

  • Windows インストーラー 2.0 などのインストーラー プログラムを使用します。

    Windows インストーラー 2.0 では、グローバル アセンブリ キャッシュとプライベート ディレクトリ内の .NET Framework アセンブリをインストール、修復、または削除できます。

インストール場所

アプリケーションのアセンブリをランタイムが見つけられるように配置する場所を決定するには、「ランタイムが アセンブリを検索する方法」を参照してください。

セキュリティに関する考慮事項は、アプリケーションのデプロイ方法にも影響を与える可能性があります。 セキュリティアクセス許可は、コードが配置されている場所に応じてマネージド コードに付与されます。 アプリケーションまたはコンポーネントをインターネットなどのほとんど信頼できない場所にデプロイすると、アプリケーションまたはコンポーネントで実行できる処理が制限されます。

タイトル 説明
ランタイムがアセンブリを検索する方法 バインド要求を満たすために使用するアセンブリを共通言語ランタイムが決定する方法について説明します。
アセンブリ読み込みのベスト プラクティス InvalidCastExceptionMissingMethodException、その他のエラーにつながる可能性がある型 ID の問題を回避する方法について説明します。
.NET Framework 4.5 のインストール中のシステム再起動の削減 再起動マネージャーについて説明し、可能な限り再起動を防ぎ、.NET Framework をインストールするアプリケーションでこれを利用する方法について説明します。
管理者向けの展開ガイド システム管理者が Microsoft Endpoint Configuration Manager を使用して、ネットワーク全体に .NET Framework とそのシステム依存関係を展開する方法について説明します。
開発者向けデプロイ ガイド 開発者がアプリケーションを使用してユーザーのコンピューターに .NET Framework をインストールする方法について説明します。
アプリケーション、サービス、およびコンポーネントの配置 ClickOnce テクノロジと Windows インストーラー テクノロジを使用してアプリケーションを発行する手順など、Visual Studio の配置オプションについて説明します。
ClickOnce アプリケーションの発行 Windows フォーム アプリケーションをパッケージ化し、ClickOnce を使用してネットワーク上のクライアント コンピューターに配置する方法について説明します。
リソースのパッケージ化とデプロイ .NET Framework がリソースのパッケージ化とデプロイに使用するハブ アンド スポーク モデルについて説明します。では、リソースの名前付け規則、フォールバック プロセス、パッケージ化の代替方法について説明します。
相互運用アプリケーションのデプロイ 相互運用アプリケーションを配布およびインストールする方法について説明します。これには、通常、.NET Framework クライアント アセンブリ、個別の COM タイプ ライブラリを表す 1 つ以上の相互運用機能アセンブリ、および 1 つ以上の登録済み COM コンポーネントが含まれます。
方法: .NET Framework 4.5 インストーラーから進行状況を取得する セットアップの進行状況の独自のビューを表示しながら、.NET Framework のセットアップ プロセスをサイレント モードで起動して追跡する方法について説明します。

こちらも参照ください