Wix WixEditを使ってインストーラーを作ることはできましたが、そのままでは hoge.msiをダブルクリックしてインストールを始める格好になります。自分的には違和感はないものの 一般的にはどうかな?
やっぱsetup.exe から始めたいのでは?
dotNetInstaller等の ブートストラッパを使えば setup.exe から始める形にはなるのですが、Win2Kの時代とは違い いまどき改めてWindows Installer とか .netFrameworkのインストールまで 自作プログラムのインストーラーで面倒見る必要はないし・・・ ウジウジ
そこで以前から興味があった Inno setup を使ってみました。インストールや簡単な使い方は 日本語デベロッパーズガイドに載っています。日本語化に関しては現時点(ver5.5.4)では初めから日本語の文字セットが入っていて 特に処理しなくても日本語UIのインストーラーが作成できました。
inno setup は Wix同様スクリプトをコーディングして コンパイルすることでインストーラーを作るのですが inno setupの本家にあるdocument や 日本語デベロッパーズガイドを見ても 具体的なスクリプトの作り方は あまり良くわかりません。使用例をさがすと 大変わかりやすく使用例を書いてあるサイト(MASATOの開発日記)を見つけました。 一行一行意味づけが書いてあり 物凄くわかりやすいです。その記事を元に作ったのが以下のスクリプトです。
; — BonaGraph.iss —
; BonaGraphセットアップファイル作成用スクリプト
[Setup]
AppName=BonaGraph
AppId=http://nobotta.dazoo.ne.jp/applictions/bonagraph/appid/1
AppMutex=http://nobotta.dazoo.ne.jp/applictions/bonagraph
AppPublisher=nobotta
AppPublisherURL=http://nobotta.dazoo.ne.jp/
AppVersion=1.0.0
AppVerName=BonaGraph 1.0.0
DefaultDirName={pf}bonagraph
DefaultGroupName=bonagraph
UninstallDisplayIcon={app}bonagraph.exe
OutputBaseFilename=setup ShowLanguageDialog=no
[Tasks] Name: “startupicon”; Description: “スタートアップにショートカットを作成”; GroupDescription: “スタートアップ”; Flags:
[Files]
Source: “..BonaGraphbindebugBonagraph.exe” ; DestDir: “{app}”; Flags: ignoreversion
Source: “..BonaGraphbindebugitextsharp.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “..BonaGraphbindebugsys1Label.dll” ; DestDir: “{app}”; Flags: ignoreversion
Source: “..BonaGraphbindebugControl.xml” ; DestDir: “{app}”; Flags: ignoreversion
[Icons]
Name: “{group}BonaGraph”; Filename: “{app}BonaGraph.exe”; WorkingDir: “{app}”
Name: “{group}unstall BonaGraph”; Filename: “{uninstallexe}”
Name: “{userstartup}BonaGraph”; Filename: “{app}BonaGraph.exe”; WorkingDir: “{app}”; Tasks: startupicon
[Languages] Name: japanese; MessagesFile: compiler:LanguagesJapanese.isl
[Registry]
Root: HKCU; Subkey: “Softwarenobotta”; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: “SoftwarenobottaBonaGraph”; Flags: uninsdeletekey
[Run]
Filename: “{app}Bonagraph.exe”; Description: “アプリケーションを起動する”; Flags: postinstall shellexec skipifsilent
インストール後のライセンス認証処理は [Run]セクションに アンインストール後の 認証解除処理は [UninstallRun]セクションに記述すればOKです。
- プロダクトの配置
- スタートアップメニューにリンクを貼る
- インストール時に 配置先を指定可能にする
- アンインストール時レジストリをきれいに削除し、余計なものを残さない
といった自作プログラムとしての必須処理 さらにオプション機能として
- 使用許諾契約書の表示
- インストール時のパスワード登録等アクティベーション処理
- アンインストール時のアクティベーション処理
のどの処理も Wix、Inno setupのいずれを使っても比較的簡単にできることがわかりました。いよいよVS有償版無しでもOKのようで 一安心