|
.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」 |
ホワイトペーパー(TechTargetジャパン)
- LocalConnection APIと動的なスタイリング (2010/2/9)
Webページ上の複数のSilverlightアプリ間でメッセージ通信をする方法とは? コントロールの見た目を動的に設定する方法とは? - ASP.NET MVC 2:モデルの検証 (2010/2/8)
ASP.NET MVC 2で導入される入力検証機能を使った実装を紹介。シンプルな属性の追加によるエレガントな実装が可能となっている - ASP.NETによる3階層Webアプリ「ITブック」構築 (2010/2/5)
ちょっとした改造で、あなたのWebアプリは劇的に使いやすく、かっこよくなる。まずは元となるWebアプリを標準的手法で構築 - .NET TIPS - .NET開発のテクニックとヒント集 - (2010/2/4)
− カスタムMVCビューエンジンを利用するには?(活用編)
− フォーム全体へのドッキングでつまみを表示するには?
− リストボックスでTextBlockの文字列を折り返すには?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |











