セットアッププロジェクト : 結論

2月から色々やってみましたが、結論を出しました。

私の場合、セットアッププロジェクトに求められる条件は二つです。

一つは、デモ版と製品版を作成して、製品版ではプロダクトキーの入力を促す

二つ目は、ターゲットコンピュータにMyAppの動作に必要なソフトがインストールされているかどうか調べて、もしなければ自動でインストールする

ということです。

しかし考えてみれば、製品登録はインストールの途中で実行しなくてもよい。インストール後のMyAppの中で登録するようにすれば、セットアッププロジェクトにカスタムアクションを組み込むことはない。

アプリケーションの中で製品登録し、その情報をどこかに保存するのは、難しいことではない。それに、そもそもデモ版と製品版を作る必要はない。

登録情報は、レジストリに書き込む、ファイルに書き込む、インターネット経由でサーバーに書き込む等いくらでも方法があります。登録情報を暗号化することも簡単です。

また、ターゲットコンピュータの必須プログラムの存在の確認は、前回書きましたように、VBでもC#でも簡単なプログラムを書けば十分です。

となるとMyAppのセットアッププロジェクトは単純でいいので、手っ取り早くつくればいい。

二つ方法があります。

一つはVS2010のセットアッププロジェクトを使う。もう一つは、[InstallShield Limited Edition]を使うです。

VS2010のセットアッププロジェクトは、至って簡単にmsiファイルを作成できますが、欠点は、VS2010以降のVSでサポートしていないことです。

2015/7/27 修正
VS2015では再び、Microsoftの[Installer Projects]が復活しました。

まだPreviewer版ですので、製品版のことは分かりませんが。VS2010のものより改良されているようです。

[InstallShield Limited Edition]はマイクロソフトのセットアッププロジェクトに代わるもので、最新のVSでも使えるのですが、私のテストではうまくいきませんでした。多分依存ソフトの設定に問題があると思いますが、これ以上の研究はやめにします。

と言う訳で、プロダクトキーの設定はアプリケーションMyApp本体の中で、MyAppのセットアップ・プログラムmsiの作成はVS2010のセットアッププロジェクトで、ターゲットコンピュータの必須ランタイムの調査およびそのインストール、最後にはmsiを起動するプログラムは独自に作成する。
という方式を結論にします。

結局WiXは使わないことになりました。

error: コピーできません !!