Visual Studio付属のInstallShield Limited Edition(InstallShield LE)でインストーラを作成する際の注意事項

文書番号 : 36431     文書種別 : 使用方法     登録日 : 2013/09/06     最終更新日 : 2014/07/30
文書を印刷する
対象製品
.NET 製品共通
詳細
Visual Studio 2010/2012/2013から利用できる「InstallShield Limited Edition(以下、InstallShield LE)」を使用して、.NET製品を使用したアプリケーションのインストーラを作成する際に、注意すべき点について説明します。

※ InstallShield LE自体の使用方法については、「参考情報」のリンク先をご覧ください。
※ Visual StudioのExpress Editionでは、InstallShield LEは利用できません。

注意事項
1. 「Application Files」画面でランタイムファイルを追加する
InstallShield LEには、Visual Studio 2010までのセットアッププロジェクトにおける「必須コンポーネント」設定のような、ブートストラッパの.msiファイルをインストーラに組み込む機能がありません。そのため、アプリケーションの実行に必要なランタイムファイルは、各ファイルを直接配布する形でインストーラに組み込む必要があります。

具体的には、「Application Files」画面で、ランタイムファイルをインストーラに追加します。
各ランタイムファイルの追加先(配布先)は、以下のとおりです。



(1)アセンブリのDLLファイル
アプリケーションのEXEやDLLファイルと同じフォルダ(例:[INSTALLDIR])か、またはグローバルアセンブリキャッシュ(GAC)に追加します。
グローバルアセンブリキャッシュへ追加する場合は、「Application Files」画面の左側ペインで任意のフォルダ(「Destination Computer」など)を右クリックし、コンテキストメニューから[Show Predefined Folder]-[GlobalAssemblyCache]を選択すると[GlobalAssemblyCache]フォルダが表示されますので、その中に配布するファイルを追加します。

(2)サテライトアセンブリのDLLファイル
サテライトアセンブリが存在する製品(ActiveReportsやInputManなど)の場合は、(1)のフォルダに「ja」という名前のフォルダを作成し、その中にサテライトアセンブリのDLLファイルを追加します。
または、(1)と同じ方法で、グローバルアセンブリキャッシュへ追加します。この場合は[GlobalAssemblyCache]フォルダに「ja」フォルダを作成する必要はありません。

(3)その他のランタイムファイル
(1)および(2)以外のランタイムファイル(ASP.NET製品におけるスクリプトファイルなど)が必要な場合は、それらを適切なフォルダに追加します。

ランタイムファイルの詳細については、各製品に付属している製品ヘルプの「ランタイムファイルの配布について」をご覧ください。製品ヘルプは、スタートメニューなどから表示できます。

 (例)
 PowerTools ActiveReports for .NET 7.0J
  - ActiveReportsユーザーガイド
   - アプリケーションの配布
    - ランタイムファイルの配布について

 PowerTools InputMan for Windows Forms 7.0J
  - InputManの使い方
   - アプリケーションの配布
    - ランタイムファイルの配布について

 PowerTools SPREAD for Windows Forms 7.0J
  - 製品ヘルプ一覧
   - アプリケーションの配布
    - ランタイムファイルの配布について

2. 不要な依存ファイルを除外する
InstallShield LEは、配布するファイルの依存関係を自動的に検出し、検出された依存ファイルをインストーラに含めます。
この機能により自動検出された依存ファイルが、インストーラを作成している環境に見つからない場合、インストーラのビルド時にエラーが発生します。本エラーを回避するには、以下の手順により、不要な依存ファイルをインストーラから除外します。

(1)Visual Studioのソリューションエクスプローラー上で[Specify Application Data]-[Files]をダブルクリックし、インストールファイルの設定画面を表示します。



(2)右下の「Destination computer's files」ペインに表示されている各ファイルを右クリックし、コンテキストメニューから「Dependencies from scan at build...」を選択すると、「Dependencies」ダイアログが表示されます。

(3)「Dependencies」ダイアログには、検出された依存ファイルが表示されます。
ファイルのアイコンに赤い印が付いている場合は、その依存ファイルが見つからないことを意味しています。チェックボックスをオフにし、インストーラから除外してください。
除外したファイルが、アプリケーションの実行に必要なランタイムファイルである場合は、前述の「1. 「Application Files」画面でランタイムファイルを追加する」の方法でインストーラに追加してください。

※ 「sac.dll」「user32.dll」というファイルが検出された場合は、インストーラから除外してください。これらのファイルをアプリケーションの運用環境に配布する必要はありません(配布が許可されていません)。


参考情報
InstallShield LEの使用方法については、以下のページを参考にしてください。

Visual Studio 2012、2013 における InstallShield のサポートについて

http://support.microsoft.com/kb/2900817/ja

InstallShield Limited Edition

http://msdn.microsoft.com/ja-jp/library/dn531020.aspx

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

http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_12/introwinform_12_02.html

Windows インストーラー配置

http://msdn.microsoft.com/ja-jp/library/vstudio/2kt85ked.aspx

.NET Framework 配置ガイド (開発者向け) - InstallShield 配置

http://msdn.microsoft.com/ja-jp/library/vstudio/ee942965.aspx#installshield

関連情報
キーワード
HowTo