コンポーネントごとに1つのファイルまたはコンポーネントごとに複数のファイル?
-
05-07-2019 - |
質問
インストールするすべてのファイルを個々のコンポーネントにラップする必要がありますか? 1つのコンポーネントに複数のファイルを配置する利点は何ですか?
解決
「コンポーネントごとに1つのファイル」の理由の1つ復元力です。アプリケーションの起動時に、Windowsインストーラーは、コンポーネントのキーパス不足している。キーパスがない場合、コンポーネントは再インストール/修復されます。
コンポーネントに複数のファイルがある場合、 1つのファイルのみをキーパスにできます。 wixでは、 File <に KeyPath = yes
を設定することでこれを示します。 / a>要素。他のファイルは、Windowsインストーラーの復元力によって完全には保護されません。キーパスファイルが見つからない場合にのみ再インストールされます。
「コンポーネントごとに1つのファイル」を持つもう1つの理由ファイルが既に存在する可能性のある場所にファイルをインストールするとき(たとえば、アプリケーションのアップグレード、または c:\ windows \ system32
にインストールするとき)。 Windowsインストーラーは、キーパスを確認してコンポーネントをインストールする必要があるかどうかを判断します。キーパスがファイルであり、そのファイルが既に(同じバージョン以上で)存在する場合、コンポーネントはインストールされていません。コンポーネント内の other ファイルを実際にインストール/アップグレードする必要がある場合、これは問題です。
他のヒント
InstallShieldでも使用されているMicrosoftのアプローチに従います。 http://msdn.microsoft.com/en-us/library/aa368269(VS.85).aspx
上記のリンクは、このアプローチの利点を提供します。