Я пытаюсь заставить мой установщик использовать настраиваемое действие для удаления запланированной задачи при удалении приложения. Пользовательское действие для создания CreateScheduledTask работает правильно, однако удалить не удалось.
MSI (s) (B4:D8) [09:28:45:761]: Note: 1: 1721 2: RemoveScheduledTask 3: C:\Foobar\ 4: "C:\Windows\SysWOW64\SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F
Информация 1721. Проблема с этим пакетом установщика Windows. Программа, необходимая для завершения этой установки, не может быть запущена. Обратитесь в службу поддержки или к поставщику пакета. Действие: RemoveScheduledTask, расположение: C: \ Foobar \, команда: "C: \ Windows \ SysWOW64 \ SCHTASKS.EXE" / DELETE / TN "Automated Admin" / F MSI (s) (B4: 44) [09:28: 45: 777]: вызов удаленного настраиваемого действия. DLL: C: \ Windows \ Installer \ MSIBB52.tmp, точка входа: CommitIIS7ConfigTransaction
Синтаксис правильный, если я запустил
"C:\Windows\SysWOW64\SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F
из командной строки правильно снимает задачу.
<!-- Code for setting the automated task-->
<CustomAction Id="CreateScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
Directory="INSTALLLOCATION"
ExeCommand=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC MINUTE /MO 15 /TN "Automated Admin" /TR "[AutomatedAdmin]FooBar.exe" /RU "NT Authority\System" /RP /RL HIGHEST" />
Фрагменты Wix
<CustomAction Id="RemoveScheduledTask"
Return="ignore"
Impersonate="no"
Execute="deferred"
Directory="INSTALLLOCATION"
ExeCommand=""[SystemFolder]SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F" />
<InstallExecuteSequence>
<Custom Action="CreateScheduledTask" Before="InstallFinalize">NOT Installed</Custom>
<Custom Action="RemoveScheduledTask" Before="RemoveFiles">REMOVE="ALL"</Custom>
</InstallExecuteSequence>