アプリケーション配置の必要条件
アプリケーションが正常にインストールされ、実行されるようにするには、アプリケーションが依存しているすべてのコンポーネントがターゲット コンピューターに既にインストールされていることを最初に確認する必要があります。 たとえば、Visual Studio を使用して作成されたほとんどのアプリケーションは、.NET Framework に依存します。アプリケーションをインストールする前に、共通言語ランタイムの適切なバージョンが、ターゲット コンピューター上に存在している必要があります。
これらの必須コンポーネントは [必須コンポーネント] ダイアログ ボックスで選択でき、.NET Framework およびその他の再頒布可能コンポーネントはインストールの一部としてインストールできます。 この方法はブートストラップと呼ばれます。 次に、Setup.exe (ブートストラップとも呼ばれます) という Windows 実行可能プログラムが Visual Studio によって生成されます。 ブートストラップは、アプリケーションが実行される前にこれらの必須コンポーネントをインストールします。 必須コンポーネントの選択の詳細については、「[必須コンポーネント] ダイアログ ボックス」を参照してください。
各必須コンポーネントはブートストラップ パッケージです。 ブートストラップ パッケージは、必須コンポーネントのインストール方法を記述するマニフェスト ファイルを含むディレクトリおよびファイルのグループです。 アプリケーションの必須コンポーネントが [必須コンポーネント] ダイアログ ボックスに表示されない場合は、カスタム ブートストラップ パッケージを作成して Visual Studio に追加できます。 それにより、[必須コンポーネント] ダイアログ ボックスで必須コンポーネントを選択できるようになります。 詳細については、「ブートストラップ パッケージの作成」を参照してください。
既定では、ブートストラップは ClickOnce の配置で有効です。 ClickOnce の配置に生成されるブートストラップは署名付きです。 ブートストラップは任意のコンポーネントに対して無効にできますが、これは、該当するコンポーネントの正しいバージョンが既にすべてのターゲット コンピューターにインストールされていることを確認した場合のみに限定してください。
ブートストラップと ClickOnce 配置
アプリケーションをクライアント コンピューターにインストールする前に、ClickOnce はクライアントを検査して、アプリケーション マニフェストに一定の必要条件が指定されているかどうかを確認します。 次に例を示します。
最低限必要な共通言語ランタイムのバージョン。これはアプリケーション マニフェストにアセンブリ依存関係として指定されます。
アプリケーションに最低限必要な Windows オペレーティング システムのバージョン。これは、アプリケーション マニフェストに <osVersionInfo> 要素を使用して指定されます。 (「<dependency> 要素 (ClickOnce アプリケーション)」を参照してください)
グローバル アセンブリ キャッシュ (GAC) にプレインストールされる必要があるすべてのアセンブリの最小バージョン。これは、アセンブリ マニフェストでアセンブリ依存関係の宣言によって指定されます。
ClickOnce で不足している必須コンポーネントを検出し、ブートストラップを使用して必須コンポーネントをインストールできます。詳細については、「方法 : ClickOnce アプリケーションと共に必須コンポーネントをインストールする」を参照してください。
注意
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 の機能は実行できません。