J'essaye de faire un double paquetage et j'ai des problèmes avec la mise à niveau.package double usage et MajorUpgrade
par défaut sont ma propriété ALLUSERS=2
et MSIINSTALLPERUSER=1
sur la boîte de dialogue readyToInstall
si l ' « installation pour tous les utilisateurs » est cochée, j'utilise SetProperty pour mettre ALLUSERS=1
et MSIINSTALLPERUSER={}
(juste pour être sûr). Cette partie fonctionne correctement, le registre est défini dans HKLM et les fichiers dans Program Files.
pendant upgdrade Mais ... j'ai une action personnalisée qui vérifient après la AppSearch
si les touches sont en HKLM il mis ALLUSERS=1
et MSIINSTALLPERUSER={}
.
Si j'effectue une mise à jour mineure, les fichiers sont mis à niveau correctement.
si je fais une mise à jour majeure, les registres sont encore dans le HKLM mais les fichiers passer à LocalAppData
(il suit la valeur par défaut, en fait), sans tenir compte du fait que je force le ALLUSERS
à 1 après la AppSearch
. (j'essaie même de le forcer après l'état de la fonctionnalité migrate juste pour imiter l'interface utilisateur mais cela n'a pas fonctionné non plus).
Y at-il un moyen d'effectuer une mise à niveau majeure avec un package à double usage?