У меня есть пользовательское действие «xxxx», которое удаляет каталог, выполняя команду rmdir через командную строку. ExeCommand = "[SystemFolder] cmd.exe/C RmDir/Q/S " [DIR] "" и выполнение = "отложено"Запросить пользователя для закрытия приложений при удалении - WIX
Он добавляется в InstallExecuteSequence, как показано ниже
Custom Action="xxxx" After="InstallInitialize"
(NOT UPGRADINGPRODUCTCODE) AND REMOVE
Custom
Если каталог открывается каким-либо другим приложением, таким как командная строка, затем выдает ошибку.
Я прочитал много похожих вопросов. Но не мог понять, на
1) Запрашивать пользователя, чтобы закрыть приложения - я прочитал добавление
UI
DialogRef Id="FilesInUse"
DialogRef Id="MsiRMFilesInUse"
/UI
и используя пользовательское действие Before="InstallValidate"
показывает подсказку, чтобы закрыть приложения.
2) Как запустить пользовательское действие после прекращения работы служб и предложить пользователю закрыть приложения? Он должен работать в отложенном режиме.
3) Если я хочу запустить в Execute = deferred
, то я не могу использовать InstallValidate. Поэтому я не могу использовать FilesInUse.
4) Есть ли другой хороший подход? Я не хочу ссылаться на dll, потому что хочу, чтобы установщик удалил весь каталог при удалении.