Удаление приводит к ошибке 1603 в Windows 10 1703

У нас есть образ Windows 10 1607 с нашим приложением, установленным через Advanced Installer.

Затем мы обновили приложение до новой версии, и обновление работало в соответствии с требованиями.

Однако если мы выполним ту же процедуру, но с образом Windows 10 1703, обновление нашего приложения завершится с ошибкой:

MSI (s) (58:B8) [16:12:02:846]: Note: 1: 2769 2: ShopInstallClass_x64 3: 1 
Error 1001. Error 1001. The specified service has been marked for deletion
Info 2769. Custom Action ShopInstallClass_x64 did not close 1 MSIHANDLEs.
CustomAction ShopInstallClass_x64 returned actual error code 1603 (note this 
may not be 100% accurate if translation happened inside sandbox)
MSI (s) (58:EC) [16:12:02:858]: Note: 1: 2265 2:  3: -2147287035    
MSI (s) (58:EC) [16:12:02:860]: User policy value 'DisableRollback' is 0
MSI (s) (58:EC) [16:12:02:860]: Machine policy value 'DisableRollback' is 0
Action ended 16:12:02: InstallExecute. Return value 3

Вышеуказанное настраиваемое действие относится к службе Windows, которая удаляется, а затем переустанавливается с новым обновлением. Я попытался поставить службу остановки и даже процесс остановки, чтобы посмотреть, сработает ли это (возможно, ручки остаются открытыми), а установщик все еще не работает.

Есть идеи, почему это происходит?

1 ответ

Код в пользовательском действии потерпел крах, я полагаю, вы это знаете. Не показывая больше журнала, также не ясно, где в обновлении это происходит, если на самом деле вы имеете в виду крупное обновление, когда говорите "обновление". В крупном обновлении есть установка нового продукта и удаление старого - где происходит этот сбой в этой последовательности? Также возможно, что ваш класс ShopInstall является классом установщика для установки службы, в котором нет необходимости, поскольку для установщика Windows предусмотрены действия ServiceInstall.

Сказав это, сообщение "Указанный сервис был помечен для удаления" означает, что код пытается что-то сделать с отключенным сервисом. Таким образом, похоже, что была предпринята попытка предыдущей деинсталляции службы, и служба не была закрыта или остановлена ​​правильно. В этом случае Windows помечает службу как отключенную, а затем перезагрузка окончательно удаляет ее. В то же время, если что-то пытается сделать что-то с этой службой, оно завершится с ошибкой "ожидается удаление". Таким образом, вам придется вернуться к любой попытке удаления, и почему не удалось сначала остановить ее, а затем удалить службу.

Другие вопросы по тегам