WiX の「KeyPath」属性とは何ですか? 質問する

WiX の「KeyPath」属性とは何ですか? 質問する

WiXとは何か?キーパス' 属性はどのような意味ですか? 特に、次の場合にはどのように適用されますか?

<Component Id="ProgramMenuDir" Guid="*">
  <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
  <RegistryValue Root="HKCU" Key="Software\CompName\AppName" 
                 Type="string" Value="" KeyPath="yes" />
</Component>

ベストアンサー1

としてロブ・メンシングによる説明:

コンポーネントの KeyPath は、Windows インストーラーがコンポーネントがマシン上に「存在する」かどうかを判断するために使用する単一のリソースです。

つまり、Windows インストーラーは、コンポーネントをインストールするかどうかを決定するときに、まずキーパス リソースが既に存在するかどうかを確認します。存在する場合、コンポーネント内のリソースはいずれもインストールされません。

キーパス リソースの存在により、MSI を「修復」するときにコンポーネントが破損しているか、または失われているかどうかも判断されます。

キーパス リソースがバージョン管理されたファイルである場合、Windows インストーラーは、同等以上のバージョンのファイルが見つかった場合にのみ、そのファイルが存在すると見なします。

特定の例では、アンインストール時にフォルダを削除するコンポーネントがあります。このコンポーネントはインストール済み指定されたレジストリキーがまだ存在しない場合は、レジストリキーを追加してキーパスとして使用します。キーパスとして使用できないリソースをインストールするコンポーネントのキーパスが必要な場合、レジストリキーを追加するのが一般的な方法です。ショートカット

おすすめ記事