[[Visual Studio Installer:http://www.microsoft.com/japan/msdn/vstudio/downloads/vsi/]]は、[[Windows Installer:http://www.microsoft.com/msdownload/platformsdk/sdkupdate/]]の機能を限定し、お手軽で簡単にしたものと言えます。やや残念なのが「標準インストールUIのカスタマイズが出来ない」という点。まぁ、この辺は使ってみて判断してくださいまし。

#contents
#br

*** まずは使ってみる
 VisualStudio.NET2003で「セットアッププロジェクト」を作成するとインストーラが作成できます。~
 VisualStudioは持って無いけど、各単体ビルドツールのライセンスをお持ちの方は[[Microsoftのサイト:http://www.microsoft.com/japan/msdn/vstudio/downloads/vsi/]]からDownloadし、ツールに組み込めます。

*** カスタム処理の追加
#ref(installerclass.png,around,right);
+ 対象となるプロジェクトでインストーラクラスを新規追加します。
+ インストーラクラスの各イベント(BeforeInstall, AfterInstall, BeforeRollback, AfterRollback, Comitting, Comitted, BeforeUninstall, AfterUninstall)にイベントハンドラを追加して、処理を記述します。
+ もしくは、インストーラクラスの各メソッド(Install, Rollback, Commit, Uninstall)をoverrideして、処理を記述します。

*** セットアップパラメータの取得
 インストーラクラスのContextプロパティ(InstallContext)のParameters(StringDictionary)から取得できる情報は、デフォルトでは以下だけです。
|~key|~value例|h
|assemblypath|c:\program files\jomora\testclasslib\testclasslib.dll|
|logfile||
|installtype|notransaction|
|action|install|

+ セットアップ中のユーザ選択項目をインストーラクラスで取得したいときには、一旦CustomActionDataプロパティにインストールパラメータを渡します(図参照)
+ セットアップ中のユーザ選択項目をインストーラクラスで取得したいときには、一旦CustomActionDataプロパティにインストールパラメータを渡します(下図参照)
++ 二重引用符を付けないと、半角空白や2byte文字でエラーになります。
++ "[TARGETDIR]" だと''NG''で、"[TARGETDIR]data"だと''OK''なのはどうしてでしょうね?(^^;;
+ すると、インストーラクラスのContextプロパティのParametersから取得することができます。
|~key|~value例|h
|args|C:\Program Files\Jomora\TestClassLib\data|
++ 例えば、カスタム動作の「インストール」で設定したパラメータは、Installメソッド内だけでなく、BeforeInstall, AfterInstallのイベントハンドラでも取得可能です。

#ref(installparam.png,center);

*** ショートカットの修正
#ref(shortcut.png,around,right);
 Visual Studio Installerでショートカットを作成した場合、「リンク先」が正しく設定されていないので、ショートカットからの引数付き起動ができないです。以下のURLでその修正法を説明されてますね。

 [[Windows Installer で通常形式のショートカットを作成する方法:http://www.7cho-me.com/~kamo/tips/tips01.htm]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS