連載:Windowsフォーム開発入門【Visual Studio 2010対応】

Windowsフォーム・アプリケーションの配布方法

初音 玲
2011/05/13
2011/05/14 更新
Page1 Page2

InstallShield Limited Editionによるインストーラの作成

 「MSDN:Visual Studioセットアップおよび配置プロジェクト」の冒頭にある注意書きによれば、Visual Studio 2010より後のバージョン(つまり、次期Visual Studio以降)には「Visual Studio インストーラ−」カテゴリのテンプレートは添付されない、とある。

 そこで注目したいのがISLE(InstallShield Limited Edition)の存在だ。

ISLEの登録

 次の画面は、ISLEによるセットアップ・プロジェクトを作成しようとしているところである(以降、英語表記のウィンドウやダイアログばかりになるが、これについては本稿の最後に筆者の考えを示す)。

図10 [InstallShield LE]カテゴリのテンプレート
図10 [InstallShield LE]カテゴリのテンプレート
[新しいプロジェクト]ダイアログで、左側のツリーから[その他のプロジェクトの種類]−[セットアップと配置]−[InstallShield LE]カテゴリを選択しているところ。

 ISLEを使うためには初回利用時にダウンロードとメール・アドレスの登録が必要だ(このため、コンピュータがインターネットに接続されている必要がある)。[InstallShield LE]カテゴリのテンプレートを最初に使うときには、[InstallShield Limited Edition の有効化]テンプレート項目をダブルクリックするなどして実行すると、自動的にWeb上のダウンロード・ページがVisual StudioのIDE内に表示されるので、そこで利用者登録を行い(ただし英語になる)、ISLEインストーラのダウンロードを行う。

 ダウンロードしたISLEインストーラ(=InstallShield2011LimitedEdition.exeファイル)を実行しよう。ISLEのインストールが完了したら、Visual Studioを再起動して[新しいプロジェクト]ダイアログを開き、左側のツリーから[その他のプロジェクトの種類]−[セットアップと配置]−[InstallShield LE]カテゴリを選択して、[InstallShield Limited Edition Project]テンプレートを選択して新規プロジェクトを作成しよう。

 すると、次の画面のように(初回実行時には)ISLEのアクティベーションを要求される。そのときに必要なアクティベート・キーは、登録時に記入したメール・アドレス宛にダウンロード完了時に送信されているはずだ。

図11 ISLEのアクティベーション
[Activate or Register for free copy of InstallShield]ラジオボタンを選択して[Next]ボタンをクリック
図11 ISLEのアクティベーション
図11 ISLEのアクティベーション
[Enter Your Serial Number]欄にアクティベート・キーを入力して[Activate]ボタンをクリックする。

 ISLEのアクティベーションが完了すると、ISLEのセットアップ・プロジェクトが作成される。

[InstallShield LE]テンプレートによるプロジェクト作成

 ISLEセットアップ・プロジェクトが生成されると、まず驚くのがそのスタート画面(=Visual Studioの中央部分に表示される[project assistant]ウィンドウ)の見た目だろう(次の画面を参照)。[project assistant]と名付けられたスタート画面は、いわゆるウィザード形式の画面だが、画面の最下段にすべてのステップが見える化されていて非常に見通しがよく、どのようなカスタマイズ項目があるか一目瞭然(りょうぜん)となっており、良いUIの見本といえる。

図12 ISLEの[project assistant]ウィンドウ
図12 ISLEの[project assistant]ウィンドウ

 このウィンドウで右下の[→]ボタンをクリックしていくことで、[Application Information]/[Installation Requirements]/[Installation Architecture]/[Application Files]/[Application Shortcut]/[Application Registry]/[Installation Interview]ページのステップで、各種設定情報をウィザード形式で入力していくことができる。

(1)[Application Information]ページ

図13 [Application Information]ページ
図13 [Application Information]ページ

 [Application Information]ページのステップでは、会社名、アプリ名などを入力する。ここで入力した会社名はインストール先となるフォルダの名前欄で、その初期値にも利用される。

(2)[Installation Requirements]ページ

図14 [Installation Requirements]ページ
図14 [Installation Requirements]ページ

 [Installation Requirements]ページのステップでは、インストール先のOSを限定するためのバージョン・チェックを行うかどうか(=[Does your application require any specific operating system?]に対して[Yes]か[No]か)と、インストール時に必要なコンポーネントの有無チェックを行うかどうか(=[Does your application require any software to be installed on the machine?]に対して[Yes]か[No]か)を指定する。特に必要がないのであれば通常は両方とも[No]で問題ない。

(3)[Installation Architecture]ページ

図15 [Installation Architecture]ページ
図15 [Installation Architecture]ページ

 Limited Editionでは[Installation Architecture]ページのステップは内容の指定が不可なので、そのまま次のステップに移動する。

(4)[Application Files]ページ

図16 [Application Files]ページ
図16 [Application Files]ページ

 [Application Files]ページでは、配布するファイルを指定する。

(5)[Application Shortcuts]ページ

図17 [Application Shortcuts]ページ
図17 [Application Shortcuts]ページ

 [Application Shortcuts]ページでは、ショートカットの作成と配置を指定する。[スタート]メニューにアプリ・ショートカットなどを登録したいときなどもここで指定する。

(6)[Application Registry]ページ

図18 [Application Registry]ページ
図18 [Application Registry]ページ

 インストール時にレジストリ変更を行いたいときには、[Application Registry]ページでレジストリ登録を設定する。

(7)[Installation Interview]ページ

図19 [Installation Interview]ページ
図19 [Installation Interview]ページ

 [Installation Interview]ページでは、氏名登録を実施するか(=[Do you want to prompt users to enter their Company Name and User Name?]に対して[Yes]か[No]か)、インストール先の変更を許すか(=[Do you want your users to be able to modify the installation location of your application?]に対して[Yes]か[No]か)などが選択できる。

 最後にビルドを行えばインストーラの作成は完了だ。

インストーラの実行

 作成したインストーラを起動すると、[InstallShield Wizard]が開始される。

図20 [InstallShield Wizard]
図20 [InstallShield Wizard]

 いつもどおり[Next]ボタンをクリックしていけば、アプリのインストールが行える。注意すべき、インストール過程のウィザード・ページについて説明しておこう。

(1)[Customer Information]ページ

 (開発者による)インストーラ作成時の[Application Information]ページにて氏名と会社名の入力欄を「yes」にしておくと、(エンド・ユーザーによる)インストール時の[Customer Information]ページのステップで、次の画面のような入力欄が表示される。

図21 [Customer Information]ページ
図21 [Customer Information]ページ

(2)[Destination Folder]ページ

 インストーラ作成時の[Installation Interview]ページにてインストール先の変更を許可していると、次の画面のように、インストール時の[Destination Folder]ページのステップで[change]ボタンが有効になる。

図22 [Destination Folder]ページ
図22 [Destination Folder]ページ

 以上のような手順でインストールしたアプリは、VSIと同様にコントロール・パネルからアンインストールできる。

ISLEの問題点:日本語表記への未対応

 前述したように「次期Visual StudioからはVSIが削除される」予定なので、現状のISLEは開発者にとって重要な立ち位置にいる。しかしながら、そのような重要な位置にいるにもかかわらず、ここまでの説明を見れば分かるようにISLEは日本語化されていない。デフォルトの設定では、インストーラ作成時だけではなく、インストーラ実行時にも英語表記になってしまう。これを日本語表記にするには、ウィザードによるインストーラ定義後に図23のように[General Information]ウィンドウで[Setup Language]プロパティを「Japanese: 日本語」に変更すればよい。

図23 [General Information]ウィンドウ
図23 [Setup Language]プロパティを「Japanese: 日本語」に変更
図23 [General Information]ウィンドウで[Setup Language]プロパティを「Japanese: 日本語」に変更

 このプロパティ設定を行ったインストーラは、次の画面のように日本語表記になる。

図24 日本語表記になったインストーラ
図24 日本語表記になったインストーラ

まとめ

 全12回に渡ってWindowsフォームでアプリを作るときに必要な情報をお送りしてきた。最終回である今回は「インストール」を取り上げてみた。いかがだっただろうか。

 WPFやSilverlightなどWindowsフォームから移行する技術が出てきてはいるが、Windowsフォームを使う局面はまだいくらでも存在すると思う。もし、Windowsフォームでの開発を行っていたときに疑問が生じて、検索してみたらこのシリーズがヒットして解決できたりしたとしたら幸いである。end of article

前のページへ  

 INDEX
  [連載]Windowsフォーム開発入門【Visual Studio 2010対応】
  Windowsフォーム・アプリケーションの配布方法
    1.Visual Studioインストーラ(VSI)によるインストーラの作成
  2. InstallShield Limited Edition(ISLE)によるインストーラの作成

インデックス・ページヘ  「Windowsフォーム開発入門」

更新履歴
【2011/05/14】

 以下のような誤りがありました。お詫びして訂正させていただきます。

インストーラ作成時だけではなくインストーラ実行時にも英語表記なので、配布先によってはそれだけで利用できなくなることもある。早急に改善してもらいたい問題点だ。
デフォルトの設定では、インストーラ作成時だけではなく、インストーラ実行時にも英語表記になってしまう。これを日本語表記にするには、ウィザードによるインストーラ定義後に図23のように[General Information]ウィンドウで[Setup Language]プロパティを「Japanese: 日本語」に変更すればよい。

 このプロパティ設定を行ったインストーラは、次の画面のように日本語表記になる。




Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH