Apa itu atribut ' KeyPath ' Wix ? Secara khusus, bagaimana ini berlaku untuk berikut ini:
<Component Id="ProgramMenuDir" Guid="*">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\CompName\AppName"
Type="string" Value="" KeyPath="yes" />
</Component>
Jawaban:
Seperti yang dijelaskan oleh Rob Mensching :
Ini berarti bahwa ketika Penginstal Windows memutuskan apakah akan menginstal komponen Anda, pertama kali akan melihat apakah sumber daya keypath sudah ada. Jika ya, tidak ada sumber daya dalam komponen yang diinstal.
Kehadiran sumber keypath juga menentukan apakah komponen telah rusak atau hilang ketika Anda "memperbaiki" MSI.
Jika sumber keypath adalah file berversi, Penginstal Windows akan menganggapnya ada hanya jika menemukan file dengan versi yang sama atau lebih tinggi.
Dalam contoh spesifik Anda, Anda memiliki komponen yang menghapus folder saat pencopotan pemasangan. Komponen ini hanya akan diinstal jika kunci registri yang diberikan belum ada. Menambahkan kunci registri untuk digunakan sebagai jalur kunci adalah trik umum saat Anda memerlukan keypath untuk komponen yang menginstal sumber daya yang tidak dapat digunakan sebagai keypath itu sendiri, seperti pintasan .
sumber