Windows Installer サービス(MSI)はどの様にしてファイルの上書きを行ないますか?
対象プロジェクト:基本の MSI プロジェクト、InstallScript MSI プロジェクト
[概要]
基本の MSI プロジェクト、InstallScript MSI プロジェクトでは、ファイルの上書きは Windows Installer の
File Versioning Rules にしたがって行われます。
インストール時にターゲットシステム上のインストール先に同一名のファイルが存在する場合、Windows Installer
はファイルのバージョン、言語および日付を比較して、ファイルの上書きを決定します。
この決定は、コンポーネントのキーファイルに対して適用されます。ターゲットマシン上のキーファイルを保持する場合、
そのキーファイルを含むコンポーネント内のファイルは更新されません。
インストールするキーファイルで置き換えられる場合、コンポーネント内のすべてのファイルが置き換えられます。
File Versioning Rules の基本的なルールは以下のとおりです。
※図はインストールするコンポーネントのキーファイルを X、ターゲットマシン上にある同一名のファイルを Y とした
場合に Windows Installer が上書き判定を行う流れを示しています。
両方のファイルにバージョンがある場合(図1参照)
a. インストールするファイルのバージョンがターゲットシステム上のファイルバージョンと同じ場合、ファイルは
タイムスタンプに関係なく更新されません。
b. インストールするファイルのバージョンがターゲットシステム上のファイルバージョンより高い場合、ファイルは
上書きされます。
c. インストールするファイルのバージョンがターゲットシステム上のファイルバージョンより低い場合、ファイルは
上書きされません。
両方のファイルにバージョンがない場合(図2参照)
a. ターゲットシステム上のファイルの更新日時がその作成日時よりも新しい場合、ファイルはユーザーデータとして
扱われるためファイルは上書きされません。
b. ターゲットシステム上のファイルの作成日時と更新日時が等しい場合、インストールするファイルで上書きされます。
どちらか一方のファイルにバージョンがある場合(図3参照)
a. ターゲットシステム上のファイルがバージョンを持たないファイルで、インストールするファイルがバージョンを持つ
ファイルの場合、インストールするファイルで上書きされます。
b. ターゲットシステム上のファイルがバージョンを持つファイルで、インストールするファイルがバージョンを持たない
ファイルの場合、ファイルは上書きされません。
なお、File Versioning Rules についての詳細は、MSIヘルプライブラリの「File Versioning Rules」をご参照ください。
検索文字列:MSI データベース, Windows Isntaller エンジン, ファイル ハンドリング, ファイル転送