次の方法で共有


アプリケーションの展開の前提条件 (Windows デスクトップ)

Windows デスクトップ アプリケーションを正常にインストールして実行するには、アプリケーションが依存するコンポーネントをターゲット コンピューターにインストールする必要があります。 この記事では、ClickOnce および Windows インストーラー セットアップ プロジェクトに必要なコンポーネントのインストールの概要について説明します。

インストールの一部として、.NET Framework やその他の再頒布可能パッケージなどの前提条件と呼ばれる必要なコンポーネントを選択できます。 前提条件をインストールするプロセスは、ブートストラッピングと呼ばれます。 Visual Studio では、Setup.exeという名前の Windows 実行可能プログラム (ブートストラップとも呼ばれます) が生成されます。 ブートストラップは、アプリケーションを実行する前にこれらの前提条件をインストールする役割を担います。 これらの前提条件の選択の詳細については、「前提条件ダイアログ ボックスを参照してください。

ブートストラップ パッケージ は、前提条件のインストール方法を説明するマニフェスト ファイルを含むディレクトリとファイルのグループです。 の [前提条件] ダイアログ ボックスに表示される各前提条件 はブートストラップ パッケージです。 アプリケーションの前提条件が [の前提条件] ダイアログ ボックスのに表示されない場合は、カスタム ブートストラップ パッケージを作成して Visual Studio に追加できます。 次に、[前提条件の ] ダイアログ ボックスので前提条件を選択できます。 詳細については、「ブートストラップ パッケージの作成 」を参照してください。

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

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

クライアント コンピューターにアプリケーションをインストールする前に、ClickOnce はクライアントを調べて、アプリケーション マニフェストで指定された要件があることを確認します。 これらの要件には、次のものが含まれます。

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

  • <osVersionInfo> 要素を使用してアプリケーション マニフェストで指定されている、アプリケーションで必要な Windows オペレーティング システムの最小バージョン。 (<依存関係> 要素を参照)。

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

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

手記

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

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

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

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

ブートストラップと MSBuild

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

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

Bootstrapper (Setup.exe) コマンド ライン引数

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

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

コマンドラインの引数 説明
-?, - 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 機能を実行することはできません。