次の方法で共有


アプリケーション配置の必要条件 (Windows デスクトップ)

Windows デスクトップ アプリケーションを正常にインストールして実行するには、まず、アプリケーションが依存するすべてのコンポーネントを対象のコンピューターにインストールします。 たとえば、Visual Studio を使用して作成されたほとんどのアプリケーションは、.NET Framework に依存します。 その場合、アプリケーションをインストールする前に、共通言語ランタイムの適切なバージョンが、ターゲット コンピューター上に存在している必要があります。

これらの必須コンポーネントは [必須コンポーネント] ダイアログ ボックスで選択でき、.NET Framework およびその他の再頒布可能コンポーネントはインストールの一部としてインストールできます。 この方法はブートストラップと呼ばれます。 Setup.exe (ブートストラップとも呼ばれます) という Windows 実行可能プログラムが Visual Studio によって生成されます。 ブートストラップは、アプリケーションが実行される前にこれらの必須コンポーネントをインストールします。 これらの必須条件の選択の詳細については、「[必須コンポーネント] ダイアログ ボックス」を参照してください。

各必須コンポーネントはブートストラップ パッケージです。 ブートストラップ パッケージは、必須コンポーネントのインストール方法を記述するマニフェスト ファイルを含むディレクトリおよびファイルのグループです。 アプリケーションの必須コンポーネントが [必須コンポーネント] ダイアログ ボックスに表示されない場合は、カスタム ブートストラップ パッケージを作成して Visual Studio に追加できます。 それにより、[必須コンポーネント] ダイアログ ボックスで必須コンポーネントを選択できるようになります。 詳細については、「ブートストラップ パッケージの作成」を参照してください。

既定では、Windows インストーラーの配置 (Visual Studio でセットアップ プロジェクトを使用) と ClickOnce 配置の両方でブートストラップが有効になっています。 Windows インストーラーの配置用に生成されるブートストラップには署名されませんが、ClickOnce 配置の場合はブートストラップに署名されます。 ブートストラップは任意のコンポーネントに対して無効にできますが、これは、該当するコンポーネントの正しいバージョンが既にすべてのターゲット コンピューターにインストールされていることを確認した場合のみに限定してください。

ブートストラップと ClickOnce 配置

アプリケーションをクライアント コンピューターにインストールする前に、ClickOnce はクライアントを検査して、アプリケーション マニフェストに一定の必要条件が指定されているかどうかを確認します。 次の要件があります。

  • 最低限必要な共通言語ランタイムのバージョン。これはアプリケーション マニフェストにアセンブリ依存関係として指定されます。

  • アプリケーションに最低限必要な Windows オペレーティング システムのバージョン。これは、アプリケーション マニフェストに <osVersionInfo> 要素を使用して指定されます。 (<dependency> 要素を参照。)

  • グローバル アセンブリ キャッシュ (GAC) にプレインストールされる必要があるすべてのアセンブリの最小バージョン。これは、アセンブリ マニフェストでアセンブリ依存関係の宣言によって指定されます。

    ClickOnce で不足している必須コンポーネントを検出し、ブートストラップを使用して必須コンポーネントをインストールできます。 詳細については、「方法: ClickOnce アプリケーションと共に必須コンポーネントをインストールする」を参照してください。

Note

Visual Studio や MageUI.exe などのツールによって生成されたマニフェスト内の値を変更するには、アプリケーション マニフェストをテキスト エディターで編集した後に、アプリケーション マニフェストと配置マニフェストの両方に再署名する必要があります。 詳細については、「方法: アプリケーション マニフェストおよび配置マニフェストに再署名」を参照してください。

Visual Studio と ClickOnce を使用してアプリケーションを配置する場合、既定で選択されるブートストラップ パッケージは、ソリューション内の .NET Framework のバージョンによって異なります。 ただし、対象の .NET Framework のバージョンを変更する場合は、[必須コンポーネント] ダイアログ ボックスのオプションを手動で更新する必要があります。

対象の .NET Framework 選択されるブートストラップ パッケージ
.NET Framework 4 Client Profile .NET Framework 4 Client Profile

Windows インストーラー 3.1
.NET Framework 4 .NET Framework 4

Windows インストーラー 3.1

ClickOnce 配置では、ClickOnce 発行ウィザードで作成された Publish.htm ページが、アプリケーションのみをインストールするリンクまたはアプリケーションとブートストラップ コンポーネントの両方をインストールするリンクのいずれかを指します。

ClickOnce 発行ウィザードまたは Visual Studio の [発行] ページを使用してブートストラップを生成する場合、Setup.exe は自動的に署名されます。 ただし、顧客の証明書を使用してブートストラップに署名する場合は、後でファイルに署名できます。

ブートストラップと MSBuild

Visual Studio を使用せず、アプリケーションをコマンド ラインでコンパイルする場合は、Microsoft Build Engine (MSBuild) タスクを使用して ClickOnce ブートストラップ アプリケーションを作成できます。 詳細については、「GenerateBootstrapper タスク」を参照してください。

ブートストラップの代わりに、Microsoft SMS (Systems Management Server) などの電子ソフトウェア配布システムを使用して、コンポーネントを事前に配置することもできます。

ブートストラップ (Setup.exe) のコマンド ライン引数

Visual Studio によって作成される Setup.exe と MSBuild タスクは、次のコマンド ライン引数セットをサポートします。 他の引数は、アプリケーション インストーラーに渡されます。

ブートストラップ オプションを変更する場合は、未署名のブートストラップを変更し、後でブートストラップ ファイルに署名する必要があります。

コマンドライン引数 説明
-?、-h、-help [ヘルプ] ダイアログ ボックスを表示します。
-url、-componentsurl このセットアップ用に保存されている URL とコンポーネントの URL を表示します。
-url= location Setup.exe が ClickOnce アプリケーションを検索する URL を設定します。
-componentsurl= location Setup.exe が .NET Framework などの依存関係を検索する URL を設定します。
-homesite= true | false true の場合、販売元のサイトの推奨場所から依存関係がダウンロードされます。 この設定は、-componentsurl 設定よりも優先されます。 false の場合、-componentsurl で指定された URL から依存関係がダウンロードされます。

オペレーティング システムのサポート

Visual Studio ブートストラップは、Windows Server 2008 Server Core ではサポートされていません。また、Windows Server 2008 R2 Server Core は機能が限定された、メンテナンスの容易なサーバー環境を提供するので、こちらでもサポートされていません。 たとえば、Server Core のインストール オプションでは、.NET Framework 3.5 Server Core プロファイルのみがサポートされています。そのため、完全な .NET Framework を必要とする Visual Studio の機能は実行できません。