ホーム

私訳です。より確かな記述は MSDN (英語)を直接読んで下さい。

 

MSDN > MSDN Library > Win32 and COM Development > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Guide > Patching and Upgrades > Major Upgrades > Preparing an Application for Future Major Upgrades

将来のメジャー アップグレードの為の アプリケーションの準備


インストールパッケージの作者は、インストールパッケージが Microsoft Windows Installer で 利用可能なフル アップグレード機能を利用できる事を確実にする為に、.msi ファイル中に アップグレード情報を含めるべきです。

すべてのアプリケーションやアプリケーションのスイートが、 UpgradeCode プロパティ、 ProductVersion プロパティ、 ProductLanguage プロパティを割り当てられるべきです。 UpgradeCode プロパティは、同じプロダクトの異なるバージョンと別言語 バージョンで構成される 同族アプリケーションのファミリーをさし示します。 UpgradeCode プロパティの使用についてのより多くのインフォメーションは、 Using an UpgradeCode を見て下さい。

http://i.msdn.microsoft.com/Aa370837.wedge(en-us,VS.85).gif将来のメジャー アップグレードの為の アプリケーションの準備

  1. アプリケーションの為の新しいパッケージコードの値を決定する。パッケージコードについての より多くのインフォメーションに関しては Package Codes を見て下さい。新しいパッケージコードの値を Summary Information Stream Revision Number Summary プロパティの中に入力する。
  2. アプリケーションの為の新しい ProductCode プロパティを決定する。より多くのインフォメーションに関して は プロダクトコードの変更 ( Changing the Product Code ) を見て下さい。 ProductCode とその値を Property table 中に入力する。
  3. アプリケーションのバージョンと ProductVersion プロパティを決定する。 ProductVersion は、アプリケーションのそれぞれの新しいバージョンと共に 増やすべきです。インストーラーはプロダクトバージョンのはじめの3つのフィールドだけを使う 事に注意して下さい。もしプロダクトバージョンに4番目のフィールドを含めると、インストーラー は4番目のフィールドを無視します。 ProductVersion とその値をプロパティ テーブルに入力する。
  4. パッケージの言語と ProductLanguage プロパティを決定する。このプロパティの値は、 数で示される言語識別子(LANGID)でなければなりません。 ProductLanguage とその値を Property table 中に入力する。 FindRelatedProducts アクション ( 英語 ) は MsiGetProductInfo によって返される言語を用いる事に注意して下さい。 FindRelatedProducts が正しく働く為に パッケージ作者は、 ProductLanguage がプロパティ テーブルで Template Summary プロパティ中にも記載されている言語にセットされて いる事に 自信がなければなりません。
  5. もしインストールパッケージをプロダクトの最初のバージョンの為に書いているなら、新しい UpgradeCode を使って下さい。もしパッケージが既存のプロダクトの新しい バージョンの為に意図されているか、別言語で既存のプロダクトと同じバージョンであるなら、 既存のプロダクトと同じ UpgradeCode を使って下さい。同じ ProductVersion と同じ ProductLanguage を持つ2つのプロダクトは、1つが他方の small update である場合を除いて、同じ UpgradeCode を持つ事はできません。
  6. UpgradeCode GUID の書式を持っています。 UpgradeCode GUID をプロパティ テーブル中に入力する。

より多くのインフォメーションに関しては、 古いパッケージをより新しいバージョンの上にインストールさせない ( Preventing an Old Package from Installing Over a Newer Version ) を見て下さい。



(訳注: WiX では Product と Package エレメントの各アトリビュート設定です。 上記4 に関しては Package@Languages から Product@Language を選べば良いという事です。)