InstallShield частично удаляет программу после отмены ее удаления - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть проект Installscript MSI, который ведет себя немного странно.

После успешной установки, если я снова запускаю установочный файл, я получаю всплывающее окно с вопросом:

«Хотите полностью удалить выбранное приложение и все его функции?»

Это, конечно, ожидаемое поведение.

Если я выберу «Нет», появится диалоговое окно «Мастер установки InstallShield завершен», и оно уведомит меня, что «Мастер был прерван до того, как [приложение] могло быть полностью установлено».

Опять же, все это в рамках ожидаемого поведения.

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

Мне надоело включать режим обслуживания, но безрезультатно. Отмена диалогового окна обслуживания вызывает такое же частичное удаление.

Любая подсказка, что здесь происходит, или идеи, чтобы это исправить?

1 Ответ

0 голосов
/ 15 ноября 2018

Я также сталкивался с этой проблемой, когда давно работал над сценариями InstallShield.

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

Реализовали ли вы в сценарии установки функции удаления сценария для удаления или обновления установки? Вы можете посмотреть на эти функции и проверить логику для этих конкретных функций или компонентов.

и если я запустлю установочный файл снова, он начнет новую установку, как будто приложение никогда не было установлено.

В папке установщика, где у вас есть файл installshield setup.exe, у вас есть папка TEMP, в этой папке у вас есть файл «Installation.ini», где он отслеживает экземпляры, которые были установлены с этим конкретным именем. Это может быть связано с тем, что installshield удаляет запись из файла install.ini, и когда вы пытаетесь установить тот же пакет снова, вы можете сделать это.

...