Installerメモ(ひろえむの日々是勉強)より
リストアップしてみたら結構あるのね。ということで、一言ずつ解説入れておきますw
まずは、ヘルプのページからw
Windows インストーラ配置(LocalMSDN)
Windows インストーラ配置(MSDN-Online)
でもって、WindowsInstaller のプロパティのページw
Properties(MSDN-Online)
実際のプロパティの一覧はこの下。でVSセットアッププロジェクト(vdproj)は、カテゴリを用意していないので(明らかに手抜きじゃないかといえるところもあるんですが...まぁそれに対してはノーコメントでw)、独自にカテゴライズしてあります。もちろん、既存のプログラム系のプロパティとは全く異なる構造なので、その点はご了承をw
ビルド関係(本当なら、ソリューションエクスプローラでポップアップするほうのプロパティにあるべき情報な気がしなくもないものw)
- Localization
インストーラのUIの言語を選択するプロパティ。日本語を指定したい場合はJapanese を指定する。決して日本語ではないので注意することw - PreBuildEvent
ビルドする前に、古いmsiをバックアップしたりなどを行うためのコマンドを指定する場所です。 - PostBuildEvent
ビルド後に、マージ処理を行うなど、VSセットアッププロジェクトがフォローしてくれない仕事を自動的に処理するためのコマンドを指定する場所です。極端な例で書けば、ORCA.EXE をたたいちゃうなんてこともできますw - RunPostBuildEvent
PostBuildEventを実行する条件を指定します。ビルドしたら常に実行するのか、それとも成功したときだけ実行するのかを指定できます。 - SearchPath
依存関係の更新で見つからなかったファイルがあった場合にそのファイルのある場所を指定するためにあります。
次は、インストーラの挙動を設定するプロパティです。
- DetectNewerInstalledVersion
インストーラの実行環境にすでに新しいバージョンがあるかを検出するためのプロパティ
このプロパティをTrueにする場合は、Versionが1.0.0以上でなければならない(内部の固定値に依存する問題のため) - RemovePreviousVrsions
インストール時に古いバージョンを見つけたらそのバージョンをアンインストールするかを指定するプロパティ
このプロパティをTrueにする場合は、UpgradeCode は新旧で合わせていなければならない(VSセットアップの仕様) - InstallAllUsers
インストーラのデフォルトのインストールモードをどちらにするかを指定するプロパティ
インストールフォルダのダイアログにある InstallAllUsersVisible をFalseにするとこのプロパティで指定されたインストールモードで常にインストールする(インストーラによっては常にTrueじゃないとだめな場合があるが逆はめったにないw)
次は、SummaryInformation(エクスプローラのプロパティで表示される情報)です。ここから一部重複が入ります。ちなみにカッコ内がSummaryInformationでの通称名(ORCAで表示されるもの)です。ここでは、TargetPlatform 以外はあってもなくても何の影響もありません。あらゆる側面での見栄えを求めるなら(見られてもはずかしくないよ~ってことですねw)、適切な情報を記載しておきましょう。
- Author(Author)
ドキュメントファイルとしてのmsiの製作者を記載します。通常は会社名となります。開発担当者名ではありません。 - Description(Comments)
ドキュメントファイルとしてのコメントを記載します。 - Keywords(Keywords)
msiファイルの検索用キーワードを設定します。ソフトにより多少の差異はありますが(ビルドツールのお仕着せもあるため)、のちの検索で便利なキーワードをつけておくことになります。最近では端折るソフトが増えましたw - Subject(Subject)
ドキュメントファイルとしてのmsiの副題です。 - TargetPlatform(Platform)
msiがインストール対象とするOSの種類を指定します(OSバージョンではりません)。x86, x64, Itanium(IA64)のいずれかを選択します。
msiはモードごとに排他のため、どれか一つしか選択できません。 - Title(Title)
ドキュメントファイルとしてのタイトル(表題)です。
最後はmsiの定義済みプロパティと連動するものです。まずはAdd/Remove Programs(プログラムの追加と削除)に関連する情報です(わざと英語名で出したのはプロパティ名に反映されているからなんですがねw)。
基本的にここの情報はすべてデフォルトのままでも問題はありません(単なる表示データですので)。
- AddRemoveProgramIcon(ARPPRODUCTICON)
プログラムの追加と削除で表示されるダイアログで出てくるアイコンを指定します。VSセットアップではインストール対象ファイルからの指定のみとなります(本当はそんなことはなく、msi内部の専用の場所に格納されています)。 - Author(ARPCONTACT)
msiの製作者を記載します。通常は会社名となり、開発担当者ではありません。VSセットアップでは手抜きされているため、サマリー情報と別の設定は行えません。 - Description(ARPCOMMENTS)
msiのコメント情報を記載します。VSセットアップでは手抜きされているため、サマリー情報と別の設定は行えません。 - ManufacturerUrl(ARPURLINFOABOUT)
提供会社のURLを記載します。 - SupportPhone(ARPHELPTELEPHONE)
サポート用の連絡先電話番号です。 - SupportUrl(ARPHELPLINK)
サポート用のWEBサイトのURLです。
最後は、WindowsInstallerの定義済みプロパティのうちの実際の動作に大きく影響する部分です。これらはすべて必須となります。
- Manufacturer(Manufacturer)
会社名あるいは、制作者名を設定します。本来はこの値を意味を持つ値として使うことはないのですが(ARPでは表示されます)、VSセットアップでは、Program Files のすぐ下のフォルダ名にこの値を利用するため、変な名称を付けると痛いことになります。 もちろん省略もできません。 - ProductCode(ProductCode)
msiの製品識別子となります(GUIDで指定)。通常これらは一連のマイナーバージョンアップを繰り返す間は同じ値を使用します。
が、VSではマイナーアップデートをサポートしていないので、一度限りのものとなります。 - UpgradeCode(UpgradeCode)
通常は製品のメジャーアップグレードの際に同一製品の改訂版であることを判読させるためのグループコードとして利用します。VSではバージョンアップが常にメジャーアップグレードになるので、この値が実質的な製品識別子に相当します。 - Version(ProductVersion)
インストーラの製品バージョンです。major.minor.build の3つで指定します。ただし、プログラムのバージョン情報とは異なり、major, minor は0~255、build は 0~65535までとなります。また、アップデートを行えるようにする(DetectNewerInstalledVersion や RemovePreviousVrsions を Trueにする)場合は、1.0.0 以上で出荷しなければなりません。それ以外の場合は、全部0でなければOKです。
プロパティだけしか書いてないのにえらいボリュームがあるなぁ...w
最初はリンクを張ろうと思ったんですがあまりにも膨大なのであきらめました。VS2005のドキュメントエクスプローラでそれぞれ検索するとヒットしますので、それでまかなってくださいw
--おまけ--
いくつかのプロパティは同じものを複数個所で利用しています(もちろん、それ自体間違っているわけではない)が、実際は全部ばらばらに指定できるのが本来あるべき姿です。
ってことで、いろいろとある大きなソフトにとっては帯はおろか襷にすらならんですわ...orz
#ファイル突っ込めばサクッと作れるんで楽なんですけどねぇwww