onarılırken kayıt defteri ayarlarını devre dışı bırakıyor Şu anda, kullanıcının yükleme sırasında bir kayıt defteri anahtarı ayarlamasını sağlamak için Wix_InstallDirDlg dosyasını özelleştirdim. Hem InstallDirDlg hem de MaintenanceTypeDlg sonrasında gösterilen özel bir iletişim kutusu vardır, böylece hem yükleme hem de onarım senaryolarını kapsar.Wix yükleyici,
Özel iletişim kutusu, bir özelliğe bağlı tek bir metin kutusuna sahiptir. Bu özellikte bir kayıt defteri araması vardır, böylece kullanıcının önceki değeri onarması veya yükseltmesi korunur ve bu nedenle kullanıcının onaylaması için özel iletişim kutusunda gösterilir. Diyalog kurulumda iyi çalışır ve kayıt defteri anahtarı oluşturulur. Ancak, onarım yaparken, özel iletişim kutusu girilen doğru kayıt defteri değeriyle birlikte görüntülenir (bu nedenle RegistrySearch çalışıyordur), ancak onarım tamamlandığında anahtar değeri boştur.
<Property Id='SERVER_LISTEN_URL'>
<RegistrySearch Id='ServerListenUrlRegSearch' Root='HKLM'
Key='SOFTWARE\$(var.Manufacturer)\$(var.Name)'
Name='ServerListenUrl'
Type='raw' Win64='no' />
</Property>
<Component Id="RegistryEntries" Guid="0234974B-6158-4312-90A7-56869809B42E">
<RegistryKey Id="ServerRegKey"
Root="HKLM"
Key='SOFTWARE\$(var.Manufacturer)\$(var.Name)'
Action='createAndRemoveOnUninstall'>
<RegistryValue Id="ServerListenUrlRegVal"
Name='ServerListenUrl'
Value='[SERVER_LISTEN_URL]'
KeyPath='yes'
Type='string' />
</RegistryKey>
</Component>
<Dialog Id="SettingsDlg">
<Control Id="ListenUrl" Type="Edit" X="20" Y="100" Width="320" Height="18" Property="SERVER_LISTEN_URL" Indirect="no" />
</Dialog>
Neyi yanlış yaptım?
açıklama için teşekkürler, artık işe yaramadı neden mantıklı. Wix derleyicisinin (veya Orca'nın) güvenli olması gereken bir özelliği kullandığımı algılayamaması utanç verici! –
Mağaraya katılıyorum. Windows yükleyicide çok fazla tuzak var. Wix aslında size neyin açık olduğundan biraz daha fazla yardımcı oluyor, ama hala iyileştirme için bir yer var. –