Ошибка 1730 (необходимы права администратора) при удалении цепочки MSI на Vista / Win 7 - PullRequest
3 голосов
/ 06 января 2012

Я создал установку с использованием базового MSI в Installshield 2012.

Я использую технологию MSI с цепочкой (поддерживается установщиком Windows 4.5 и более поздних версий).

Моя установка структурирована с помощьюMain-MSI (в файле Setup.exe) и несколько меньших MSI-пакетов, которые связаны с основным MSI.

В XP это работает как чудо.Я могу установить его очень хорошо, и когда я хочу удалить его, я просто решаю удалить Main-MSI, и он автоматически удалит все связанные MSI.

Однако в Vista и Windows 7 яУ меня проблема с правами пользователя при удалении.

Когда я выбираю удаление основного MSI, он просто выключается без дополнительного уведомления.Исследуя файл журнала MSI, я вижу следующее, когда он пытается удалить первый из моих связанных MSI:

Ошибка 1730. Вы должны быть администратором, чтобы удалить это приложение.Чтобы удалить это приложение, вы можете войти в систему как администратор или обратиться за помощью в вашу группу технической поддержки.

Я полагаю, что поскольку Main-MSI вызывает строки удаления в цепочкеMSI, это не происходит с повышенными правами (даже если я настроил мой Setup.exe, чтобы требовать права администратора - это тоже требование).

Так что мой вопрос сейчас - есть ли способ получитьвокруг этого - есть ли какой-нибудь флаг в скрытых углах InstallShield, который мне нужно установить для того, чтобы это работало?

Временное временное решение теперь состоит в том, чтобы вручную удалить каждый связанный с MSI-пакет, а затем, наконец, удалитьГлавное-MSI, но это не солидное решение.Отключение UAC также не вариант.

Я надеюсь, что вы сможете помочь, так как я полностью заблудился в этом вопросе, и мой приют для поиска в Google дал что-то полезное.

Ответы [ 2 ]

1 голос
/ 22 апреля 2014

На самом деле, решение простое, но не очень ориентированное на пользователя. Новые диалоговые окна / qb появляются во время установки и удаления.
Необходимо изменить пользовательский интерфейс установки с Нет (/ qn) на Базовый (/ qb) для связанных MSI, поскольку основной MSI не передает права администратора своим собственным MSI в цепочке, и это вызывает ошибку в скрытом режиме с включенным контролем учетных записей.
Также я могу порекомендовать обратиться к Белой книге по цепочке MSI здесь , она описывает множество тонких моментов.

0 голосов
/ 09 августа 2013

Я не могу помочь напрямую для проблемы «удаления цепочек инсталляторов», потому что я не использую цепочку самостоятельно.Я знаю многих людей, испытывающих проблемы с технологией сцепления, и я не знаю ни одного примера, когда кто-то действительно был бы доволен этим.

Так что для меня это не проверенная технология для написания пуленепробиваемых установок.Если вы используете загрузчик или напишите свой собственный файл setup.exe, который устанавливает все файлы MSI в последовательности, которой вы полностью управляете.Это может потребовать больших усилий, в зависимости от ваших требований к совершенству, но установка и удаление «кучки» не должны быть такими сложными.Я не использовал «прожиг» от WiX, но я знаю, что он существует.Может быть, другие знают, если это рекомендовать здесь.

По крайней мере, попробуйте использовать загрузочный загрузчик для удаления.Ваш существующий или новый: просто маленький .exe, который вы помещаете в «Uninstall» записи в реестре в ARP.Осталось только вызвать все деинсталляции MSI подряд.Может быть пять лайнеров.

Не так красиво, как цепочка, но годами работал на тысячи других :-) Старый добрый рабочий техник.

...