.NET TIPS .MSIセットアップで必須コンポーネントを利用するには?[VS 2005のみ]デジタルアドバンテージ 一色 政彦2006/09/08 |
|
|
|
.NET Framework 2.0で新たに追加された「ClickOnce」というソフトウェア展開テクノロジでは、配布するアプリケーションを実行するうえで必要となるコンポーネント(例えば、実行エンジンとなる.NET Framework 2.0ランタイムや、データベースのSQL Server 2005 Express Editionなど)を事前にインストールする「必須コンポーネント」という仕組みを持っている(「ブートストラッパ」とも呼ばれる。詳しくは右の関連記事を参照されたい)。
実は、この必須コンポーネントという機能は、ClickOnceだけでなく.MSIセットアップ(=Windowsインストーラ配置)でも利用できる。つまり、.MSIセットアップをアプリケーションのインストーラとして作成する場合にも、そのアプリケーションを実行するための要件となるコンポーネントを必須コンポーネントとして(.MSIセットアップよりも)事前にインストールすることが可能なのだ。
Windowsインストーラ配置における必須コンポーネントの実行例
次の画面は実際に.MSIセットアップ(のsetup.exe)から必須コンポーネントのインストーラが実行されている例である。
「setup.exe」を実行 |
.MSIセットアップから実行される必須コンポーネントの例 |
Visual Studio 2005のセットアップ・プロジェクトで生成される「setup.exe」ファイルをダブルクリックするなどして実行すると、このような必須コンポーネントのインストーラが立ち上がる。すでにコンポーネントがインストール済みの場合は立ち上がらない。なお、.MSIファイル自体を実行した場合、必須コンポーネントの仕組みが働かないようだ。従って、必ずsetup.exeファイルを実行しなければならない。 |
それでは以下では、必須コンポーネントを設定する方法を説明する。なお開発環境としてVisual Studio 2005 Standard Edition以上を使うことを前提とする。
Visual Studio 2005での必須コンポーネントの設定方法
まずは当然、セットアップ・プロジェクトが必要になる。これを作成するには、Visual Studio 2005のIDEのメニューバーから[ファイル]−[新規作成]−[プロジェクト]を選択して[新しいプロジェクト]ダイアログを開き、[その他のプロジェクトの種類]−[セットアップと配置]から「セットアップ プロジェクト」を選択し、任意の名前(本稿の例では「Setup1」)でプロジェクトを新規作成する。
次に、ソリューション・エクスプローラでプロジェクト項目(本稿の例では「Setup1」)を右クリックしてコンテキスト・メニューを表示し、そこから[プロパティ]を選択する。これによりプロジェクトのプロパティ(本稿の例では[Setup1 プロパティ ページ]ダイアログ)が開く。
次の画面はそのプロジェクト・プロパティのダイアログから必須コンポーネントの設定を行っているところだ。
[必須コンポーネント]ボタンをクリック |
|||||||||||||||||||||
必須コンポーネント(ブートストラッパ)の設定 | |||||||||||||||||||||
プロジェクトのプロパティ(本稿の例では[Setup1 プロパティ ページ]ダイアログ)から必須コンポーネントの設定を行っているところ。なお注意点として、構成(DebugとRelease)ごとに設定を行わなければならないようだ。 | |||||||||||||||||||||
|
以上の設定を行ったうえで、セットアップ・プロジェクトをビルドし、そこで生成されるsetup.exeファイルを実行すれば冒頭で示した画面のような実行結果になるだろう。
この必須コンポーネントを活用することにより、ユーザー環境へのアプリケーションの導入がスムーズに実現できるようになり、インストール作業によるアプリケーション配布コストを削減できる。
カテゴリ:Visual Studio 2005 処理対象:IDE カテゴリ:セットアップ 処理対象:必須コンポーネント |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|