はじめに
Visual Studioのユーザー様の多くは、作成したソフトを配布する際にVisual Studioに付属のインストーラー作成ツールを利用していると思います。
一方、インストーラー作成の専用ツールである「InstallShield」を使うと、Visual Studio付属のツールでは作成できない独自のアクションやユーザーインターフェイスなど、様々なカスタマイズが可能になります。
そこで本稿では、InstallShieldとVisual Studioに付属しているインストーラー作成ツールを比較しつつ、InstallShieldを利用したインストーラー作成の基本と特徴的な機能を紹介します。
対象読者
- Visual Studioで開発を行っているユーザー
- インストーラー作成の自動化に興味のある開発者
- InstallShieldを利用している方
「インストーラー作成ツール」とは
Windowsアプリケーションのインストールには、一般的に「インストーラー」が利用されます。ファイルのコピー先や設定ファイルの編集など、細かい作業内容を知らずとも、ウィザードの指示に従うだけで自動的にアプリケーションを導入できるため、エンドユーザーの負担を減らし、確実なインストールを手助けします。
インストーラーは「アプリケーション導入時に、アプリケーションの動作に必要な環境設定をターゲットシステムに対して適切に行うプログラム」ですが、一般的に次のような機能が求められます。
- 指定したフォルダにアプリケーションおよびその関連ファイルを転送
- レジストリの登録
- ユーザーのシステム上へのアイコン(ショートカット)の登録
- インストール先環境の設定変更
- インストールプロセスのステータスのフィードバック
- セットアップのロールバック(インストール失敗時)
- アンインストーラー(削除)の作成
- インストールの進捗状況の表示
このように、さまざまな機能が要求されるインストーラーは、スクラッチで実装するには時間と手間がかかるため、インストーラーの作成には、通常「インストーラー作成ツール」が利用されています。
VS2010にバンドルされているインストーラー作成ツール
Windowsアプリケーションの統合開発環境の最新版「Microsoft Visual Studio 2010」では、世界的に有名なインストーラーソリューション「InstallShield」(インストール・シールド)の機能限定版「InstallShield Limited Edtion for Visual Studio 2010」が推奨MSIインストーラー開発ツールとしてバンドルされるようになりました。InstallShield開発元のフレクセラ・ソフトウェアとマイクロソフトとのパートナーシップによるもので、これは従来のVisual Studio Installer(VSI)に代わるものです。
このようにInstallShieldはVisual Studioとシームレスに統合されているため、アプリケーション開発と同一環境でインストーラーを作成できます。より複雑なインストール処理が必要になった場合には、高機能なInstallShield製品群(後述)へアップグレードすることも容易です。
次節では、このInstallShieldを例に、インストーラー作成の流れを紹介します。
InstallShieldは、Visual Studio Installerツールでは利用できなかった下記のようなさまざまな機能をサポートしています:
- ダイアログエディター:ダイアログのルック&フィールを自社のブランドに合う形に変更可能。またユーザーに追加のデータ入力を促すカスタムダイアログの作成も可能
- アップグレードおよびパッチのサポート:インストーラーを修正するためのパッチおよびアップグレードの作成が可能
- MSI検証:MSIがマイクロソフトのロゴガイドラインに沿っているかどうかを検証し、問題があれば容易に修正することが可能
- コンポーネントおよび機能の管理:製品を機能に分割することにより、エンドユーザーに、ヘルプライブラリやAdd-onなど、オプション類のインストールを選択させることが可能
- カスタムアクションをサポート:外部の機能を利用するカスタムアクションの利用が可能
- ランタイム言語:35の言語でダイアログ一式を提供しているため、翻訳作業の必要がなく、時間とコストの削減が可能
- データベースとIIS設定:MSIを拡張し、IISおよびデータベースとの連携が可能。SQL関連のタスクやIIS Webサイト、仮想ディレクトリ、Webサービスの拡張、およびアプリケーションプールを管理可能