Я пытаюсь сделать пакет двойного назначения, и у меня проблемы с обновлением.
по умолчанию моя собственность ALLUSERS=2
и MSIINSTALLPERUSER=1
в диалоговом окне readyToInstall
, если установлен флажок «установить для всех пользователей», я использую SetProperty для установки ALLUSERS=1
и MSIINSTALLPERUSER={}
(просто для уверенности).
эта часть работает нормально, реестр установлен в HKLM, а файлы в Program Files.
однако во время обновления ... У меня есть пользовательское действие, которое проверяет после AppSearch
, если ключи находятся в HKLM, он устанавливает ALLUSERS=1
и MSIINSTALLPERUSER={}
.
если я делаю незначительное обновление, файлы обновляются правильно.
если я делаю серьезное обновление, реестры все еще находятся в HKLM, но файлы переключаются на LocalAppData
(фактически это соответствует значению по умолчанию), игнорируя тот факт, что я принудительно устанавливаю ALLUSERS
в 1 после AppSearch
. (Я даже пытаюсь принудительно включить его после состояния функции миграции, чтобы имитировать пользовательский интерфейс, но это тоже не сработало).
есть ли способ сделать серьезное обновление с пакетом двойного назначения?