|
[[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]]