配置プログラムの作成
Visual Studio .NETには、デプロイメントプロジェクトを作成するための便利で強力な機能が用意されています。VS .NETでは、次の4種類のデプロイメントプロジェクトを作成できます。
- セットアッププロジェクト ― Windowsアプリケーションのセットアッププログラム
- Webセットアッププロジェクト ― Webアプリケーションのセットアッププロジェクト
- マージモジュールプロジェクト ― 共有コンポーネント向けのプロジェクト
- Cabプロジェクト ― キャビネットファイルの作成
デプロイメントプロジェクトは、セットアップウィザードを使っても作成できます。多くの場合、これが最も簡単で最適な方法です。
プロジェクトの種類、ソフトウェアの複雑さ、配布の方法に応じて、先に挙げた4種類の中から1つを選ぶことができます。本稿では、Windowsアプリケーションを扱っているため、セットアッププロジェクトを取り上げます。ただし、4種類のプロジェクトはどれも非常に効果的なので、すべてについて十分に理解する必要があるでしょう。
以降では、VS .NETを使ってセットアッププロジェクトを作成する手順を説明します。
- ソリューションエクスプローラのソリューションを右クリックし、[Add]、[New Project...]の順にクリックします。プロジェクトの名前を入力します(図3)。このセットアッププロジェクトの名前によって、VS .NETが自動生成する.msiファイルの名前が決まります。
- プロジェクトに項目を追加します。図4に示すように、セットアッププロジェクトを右クリックし、[Add]、[Project Output...]の順にクリックします。
- セットアッププロジェクトのプロパティを編集します。セットアッププロジェクトをクリックすると、プロパティのダイアログボックスが表示されます。ここでは、作成者(Author)、説明(Description)、キーワード(Keywords)、製造元(Manufacturer)、製造元URL(ManufacturerUrl)、製品名(ProductName)、タイトル(Title)の各プロパティを編集します。
- ショートカットを[スタート]メニューに追加します。セットアッププロジェクトをクリックし、[View]、[File Systems]を順にクリックします。
- 最後に、セットアッププロジェクトを右クリックして[Build]をクリックすることで、このセットアッププロジェクトのビルドを行います。
ユーザーインターフェイス
それでは、セットアッププロジェクトのユーザーインターフェイスについて見ていきましょう。そのためには、ソリューションエクスプローラのセットアッププロジェクトを右クリックし、ポップアップメニューから[View]、[User Interface]の順にクリックします。図8に示すように、フォームデザイナ領域の新しいタブにユーザーインターフェイスエディタが表示されます。
デフォルトでは、「Install」セクションと「Administrative Install」セクションの下にあるいくつかのダイアログボックスを用いる構成になっています。それぞれのセクションには3つのサブセクション、「Start」、「Progress」、「End」があります。各サブセクションには、1つまたは複数のダイアログボックスが存在します。これらのダイアログボックスは、インストールプロセスの途中でセットアッププログラムによって順に表示されます。追加のダイアログボックスが存在しない場合は、デフォルトのダイアログボックスによって、フォルダの選択、オプションの指定、インストール進行状況の表示という一連の流れが実現されます。これらのダイアログボックスのプロパティは、プロパティウィンドウを使って変更できます。また、管理者に対して他のユーザーとは異なるセットアップ機能を提供する場合は、「Administrative Install」セクションのダイアログボックスに別のプロパティを用意することもできます。ダイアログボックスの上下移動や削除は、右クリックの後に[Move Up]、[Move Down]、[Delete]のいずれかをクリックすることで行えます。
デフォルトのダイアログボックスの他に、数多く存在する組み込みのダイアログボックスの一覧からダイアログボックスを追加することもできます。この追加を行うには、ユーザーインターフェイスエディタに表示される前述のサブセクション(Start、Progress、End)のいずれかを右クリックし、ポップアップメニューから[Add Dialog]コマンドをクリックします。図9に示すように、「Add Dialog」ウィザードが表示され、追加するダイアログボックスの種類を選択できます。
図9に示した組み込みのウィンドウのすべてをここで説明するわけにはいかないので、代表として「TextBoxes (A)」だけを説明します。どのダイアログボックスを追加するときも考え方は同じですが、プロパティはそれぞれ異なります。他のダイアログボックスの詳細については、MSDN Webサイトを参照してください。
テキストボックスのダイアログボックス(Textboxes (A)、Textboxes (B)、Textboxes (C))はいずれも同じものです。これらのダイアログボックスは、カスタムのセットアッププログラムで必要な追加情報の入力をユーザーに促すために使用されます。それぞれにエディットボックスが4つあり、EditNVisible
プロパティをTrueまたはFalseに設定することで、4つのうちのどれでも表示と非表示の切り替えができます(なお、EditNVisible
プロパティのNはテキストボックスのインデックス(番号)を指定するもので、たとえば2番目のテキストボックスの場合はN = 2となります)。
本稿の目的を達成するには、「Start」セクションを右クリックし、[Add Dialog]を選択してテキストボックス(A)を追加する必要があります。[Textboxes (A)]を選択して、[OK]をクリックします。次に、[Textboxes (A)]を右クリックし、[Move Up]をクリックして、図10に示すように[Welcome]ダイアログボックスに「Textboxes (A)」をセットします。
今度はテキストボックス(A)のプロパティを編集する必要があります。図11に示すのは、テキストボックス(A)のダイアログボックスの設定に用いるプロパティです。
図11に示したように、本稿では、最初のテキストボックス1つしか使いません。他の3つについては、EditNVisible
プロパティをFalseにして非表示にします。ユーザーによって入力されたデータを取得するには、コード中でEdit1Property
の値(COMPANYNAME_A1)を参照する必要があります。
ここまでの操作で、ユーザーの所属企業名を入力するための手段が用意されました。さらに、ユーザーが企業名の入力を行わない場合のためのデフォルト名も用意しておきましょう。このデフォルト名を定義するには、Edit1Value
プロパティを「Arslan Inc.」に設定します。これで、いわゆるカスタム動作の実行に必要なデータを取得するための準備がすべて整いました。