Сбой загрузчика Wix во время удаления MSI — служба не может быть остановлена

#windows-services #wix3.5 #bootstrapper

Вопрос:

Недавно я преобразовал свой проект из пакета MSI в EXE с помощью проекта начальной загрузки. До этого удаление продукта работало нормально — служба была остановлена, а продукт удален. При удалении загрузчика через ARP и, следовательно, MSI, я получаю ошибку разрешения, останавливающую службу. Если я остановлю службу перед удалением, удаление завершится успешно.

Вот мой код управления службой из моего файла frag.wxs

 <ServiceControl Id="StartWrapper" Name="myServiceName" Start="install" Stop="both" Remove="uninstall" Wait="yes"/> 
 

введите описание изображения здесь

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

Если я остановлю процесс удаления и попытаюсь остановить службу, я получу следующую ошибку

Ошибка 1061: В данный момент служба не может принимать управляющие сообщения.

Во время удаления пакета MSI есть фрагмент моего файла журнала

 Action start 11:50:59: ProcessComponents.
MSI (s) (10:50) [11:50:59:228]: Doing action: UnpublishFeatures
Action ended 11:50:59: ProcessComponents. Return value 1.
Action start 11:50:59: UnpublishFeatures.
MSI (s) (10:50) [11:50:59:228]: Doing action: StopServices
Action ended 11:50:59: UnpublishFeatures. Return value 1.
Action start 11:50:59: StopServices.
MSI (s) (10:50) [11:50:59:228]: Doing action: DeleteServices
Action ended 11:50:59: StopServices. Return value 1.
Action start 11:50:59: DeleteServices.
MSI (s) (10:50) [11:50:59:228]: Doing action: RemoveRegistryValues
Action ended 11:50:59: DeleteServices. Return value 1.
Action start 11:50:59: RemoveRegistryValues.
MSI (s) (10:50) [11:50:59:228]: Doing action: RemoveShortcuts
Action ended 11:50:59: RemoveRegistryValues. Return value 1.
 

Фактическая ошибка возникает, когда удаляется папка, в которой хранятся все файлы продукта.
Единственный оставшийся файл-это исполняемый файл, который запускается службой, которая не остановлена.
Ошибка заключается в том, что доступ к пути запрещен

Любая помощь будет очень признательна!