Почему установщик Windows не использует пользовательский интерфейс в MSI-файле во время удаления? - PullRequest
3 голосов
/ 29 марта 2010

Кто-нибудь смог заставить установщик Windows использовать таблицу InstallUISequence во время удаления?

Я начал с MSI-файла, созданного MSI-сборщиком Visual Studio, декомпилировал его в исходный код WiX и изготовил вручную, но не могу заставить установщик использовать мой пользовательский интерфейс во время удаления. Он настаивает на использовании интерфейса пользователя по умолчанию, предоставляемого установщиком Windows.

Я также проанализировал несколько файлов MSI и не смог найти один, где установщик Windows будет использовать предоставленный пользовательский интерфейс во время удаления.

Я перехватил журналы msiexec при удалении, и, разумеется, установщик Windows игнорирует таблицу InstallUISequence.

Похоже, что msiexec работает с минимальным пользовательским интерфейсом во время удаления. Если во время удаления я указываю ключ / qf (использовать полный пользовательский интерфейс), то установщик Windows действительно берет пользовательский интерфейс из MSI-файла. Тем не менее, это не поможет обычному пользователю, потому что он не будет выполнять удаление из msiexec.

Кто-нибудь знает способ убедить установщик Windows использовать пользовательский интерфейс в файле MSI по умолчанию?

Ответы [ 2 ]

6 голосов
/ 30 марта 2010

При удалении приложения из «Установка и удаление программ» оно всегда будет работать с «базовым» пользовательским интерфейсом.

Невозможно запустить деинсталляцию с полным пользовательским интерфейсом, лучшее, что вы можете сделать, это предотвратить удаление и заставить людей «модифицировать» (что работает с пользовательским интерфейсом) и удалить его оттуда.

Что бы вы ни делали, все равно нет способа помешать кому-либо щелкнуть правой кнопкой мыши по исходному MSI и выбрать «Удалить», это всегда будет работать с базовым пользовательским интерфейсом.

1 голос
/ 31 марта 2010

«Почему» в основном потому, что так говорит Microsoft. :-) Не могу сказать, что я не согласен, так как раздражаюсь, когда ISV становится все милее, когда я просто пытаюсь удалить программу.

...