ホーム
私訳です。より確かな記述は
MSDN
(英語)を直接読んで下さい。
MSDN >
MSDN Library >
Win32 and COM Development >
Administration and Management >
Application Installation and Servicing >
Windows Installer >
Using Windows Installer >
Organizing Applications into Components >
Changing the Component Code
コンポーネントコードの変更
(訳注:
プロダクトコードの変更 (
Changing the Product Code ) に該当するように、これは小さな変更ではないようです。アップデートは 普通、
コンポーネント内での 追加や削除なし・バージョン互換性あり でしょう。
)
インストール用
コンポーネント (
components ) を指定している時、パッケージ作者は
アプリケーションのコンポーネントへの構成 (
Organizing Applications into Components ) で述べられている コンポーネント構成の為の
一般的ルールに従うべきです。作者は 新しいコンポーネントを導入したり 既存のコンポーネントを
変更する必要があるかもしれません。もし リソースの追加、削除、変更が 効果的に新しい
コンポーネントを作成するなら、次に コンポーネントコードも変更されなければなりません。
新しいコンポーネントの作成
以下のどれかの変更を行う時には、新しいコンポーネントを導入して、それにユニークな
コンポーネントコードを割り当てる:
-
コンポーネントの以前のバージョンと互換性があると テストによって示されていない あらゆる変更。
この場合には、コンポーネント中のすべてのリソースの 名前かターゲット位置も変更しなければ
なりません。
-
コンポーネント中のあらゆるファイル、レジストリキー、ショートカット、その他のリソースの 名前
かターゲット位置の中での変更。この場合には、コンポーネント中のすべてのリソースの 名前か
ターゲット位置も変更しなければなりません。
-
コンポーネントからのあらゆるファイル、レジストリキー、ショートカット、その他のリソースの
追加か削除。この場合には、コンポーネント中のすべてのリソースの 名前かターゲット位置も変更
しなければなりません。
-
32ビットコンポーネントを64ビットコンポーネントに再コンパイル。
新しいコンポーネントを導入する時に 作者は、コンポーネントが 既存のコンポーネントのどれとも
衝突しない事を 保証するために 以下のうちの1つを行う必要があります:
-
別のコンポーネントによって 同じ名前とターゲット位置の下にインストールされるかもしれない
あらゆるリソースの名前かターゲット位置を変更する。
-
さもなければ、新しいコンポーネントが 共通の名前と場所の下にリソースを持つ別のコンポーネント
として 同じフォルダーに絶対にインストールされないと 保証する。これは、同じファイル名を持つ
ローカライズされたバージョンのファイルを含みます。より多くのインフォメーションに関しては、
What happens if the component rules are broken? を見て下さい。
-
既存のコンポーネントのコンポーネントコードを変更している時、コンポーネント中のすべての
ファイル、レジストリキー、ショートカット、その他のリソースの 名前かターゲット位置も変更
する。
コンポーネントの新しいバージョンの作成
コンポーネントの新しいバージョンは、別の既存のコンポーネントとして 同じコンポーネントコード
が割り当てられています。コンポーネントコードの変更なしのコンポーネントの変更は、以下の場合
だけでのオプションです:
2つのコンポーネントが レジストリー値、ファイル、ショートカットといった リソースの共有に
帰着する時には、コンポーネントの新しいバージョンのコンポーネントコードは 変更されては
いけません。