VS.NET のセットアップ プロジェクトでショートカット作成をユーザーに選択させるには

September 8, 2007

スタートアップに登録するかどうかなどをインストール時に選択できるようにしたい。ユーザーインターフェイスエディタでチェックボックス ダイアログを追加すれば簡単にできそうだった。しかし、ショートカットには condition プロパティがないので条件を付加できない。そこでビルドした MSI ファイルをエディトして条件を追加する。
Windows SDK(以前の Platform SDK)をインストールすると、C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin に Orca.msi というセットアップファイルがある。これを使って Orca というアプリケーションをインストールします。イルカのアイコンのこのアプリを起動して、VS.NET で生成した msi ファイルを読み込みます。*1

  1. 左側の Tables ペインから Shortcut を選択し、条件を付けたい項目の Component_ を確認(コピー)しておく。
  2. Tables ペインから Component を選択し、Component 列から確認した項目を探す。
  3. 該当項目の Condition にチェックボックス ダイアログで設定した [CheckBoxProperty1の値]=1 と書き込む。 標準のままであれば CHECKBOXA1=1 となる。
  4. 上書き保存する。

これで完了。(VS.NET 側でプロパティを公開してくれれはいいだけなんですけどね…)
上記の方法は間違ってました。また毎回ビルド後に直さないといけないので、カスタム動作にしてしまった方が楽かもしれません。
と思いましたが Vista だと色々ありそうです。InstallerClass を作ってしまうのが一番いいかもしれません。ただこれだとまた DLL ファイルが増えます。
参考)

*1:[http://support.microsoft.com/kb/255905/ja:title\]

tilfin freelance software engineer