どのタイプのパッチがインストールされるかに基づいて パッチについて 異なる制限があります。 パッチが 3タイプ あります:
各タイプのパッチの制限についての インフォメーションは、 プロダクトコードの変更 ( Changing the Product Code ) を読んで下さい。
( 訳注:下の
Uninstallable Patches にあるように Windows Installer 3.0 以降の話です。)
パッチがアンインストール可能である為には、MsiPatchMetadata テーブルが パッチ パッケージ中に
存在しなければならず、1 にセットされた AllowRemoval プロパティが 含まれていなければ
なりません。これは、
PatchMetadata/@AllowRemoval アトリビュートを使った
Patch Creation Properties ファイル中か、
Patch/@AllowRemoval アトリビュートを使った
パッチ XML ファイル中に 著述され得るものです。
それに加えて、決まったテーブル群は アップグレード パッケージで パッチがビルドされたものから 変更されてはなりません。現在のテーブルのリストに関しては Uninstallable Patches を読んで下さい。もし パッチ XML ファイルをビルドしている時に これらのテーブルの1つが変更されていると、Pyro.exe は エラーになります。
以下の表は、テーブルと WiX で対応するエレメントとアトリビュートを 一覧表に 記載しています。
テーブル |
エレメント あるいは アトリビュート |
BindImage |
File/@BindPath |
Class |
|
Complus |
Component/@ComPlusFlags |
CreateFolder |
|
DuplicateFile |
|
Environment |
|
Extension |
|
Font |
File/@FontTitle |
IniFile |
|
IsolatedComponent |
|
LockPermissions |
|
MIME |
|
MoveFile |
|
ODBCAttribute |
|
ODBCDataSource |
|
ODBCDriver |
|
ODBCSourceAttribute |
|
ODBCTranslator |
|
ProgId |
|
PublishComponent |
|
RemoveIniFile |
|
SelfReg |
File/@SelfRegCost |
ServiceControl |
|
ServiceInstall |
|
TypeLib |
|
Verb |
メジャー アップグレード パッチは、アンインストール可能ではありません。