WIX Создать запланированное задание
Я пытаюсь создать запланированное задание с помощью WIX. Я хочу, чтобы запланированное задание запускалось от имени определенного пользователя в другом домене.
Я передаю своему пользователю через свойство [Service.User] и [Service.Password].
Вот мой код:
<InstallExecuteSequence>
<Custom Action="CreateScheduledTask" After="InstallFiles">NOT Installed</Custom>
<Custom Action="CreateScheduledTaskId" After="CostFinalize">NOT Installed </Custom>
<Custom Action="DeleteScheduledTaskId" After="CostFinalize">Installed</Custom>
<Custom Action="DeleteScheduledTask" Before="RemoveFiles">Installed </Custom>
</InstallExecuteSequence>
<!--Create CcsReturnProcess Scheduled Task-->
<CustomAction Id="CreateScheduledTaskId"
Property="CreateScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC DAILY /MO 1 /ST 10:00 /TN "CcsReturnProcess" /TR ""[INSTALLFOLDER]CcsReturnProcess.exe"" /RU "[Service.User]" /RP "[Service.Password]" /RL HIGHEST" />
<CustomAction Id="CreateScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
BinaryKey="WixCA"
DllEntry="CAQuietExec" />
<!--Delete CcsReturnProcess Scheduled Task-->
<CustomAction Id="DeleteScheduledTaskId"
Property="DeleteScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /DELETE /TN "CcsReturnProcess" /F" />
<CustomAction Id="DeleteScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
BinaryKey="WixCA"
DllEntry="CAQuietExec" />
Trying the below does not work either.
<CustomAction Id="CreateScheduledTaskId"
Property="CreateScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC DAILY /MO 1 /ST 10:00 /TN "CcsReturnProcess" /TR ""[INSTALLFOLDER]CcsReturnProcess.exe"" /RU "[Service.Domain]\[Service.User]" /RP "[Service.Password]" /RL HIGHEST" />
Кажется, мой [Service.User] не передается. Я посмотрел журнал MSI, и он показывает, что имя пользователя и пароль пустые???
MSI (44:E0) [16:51:48:275]: ИЗМЕНЕНИЕ СОБСТВЕННОСТИ: Добавление свойства CreateScheduledTask. Его значение равно "C:\windows\SysWOW64\SCHTASKS.EXE" /CREATE /SC MINUTE /MO 20 /TN "CcsReturnProcess" /TR ""D:\ScheduledTasks\CcsReturnProcess\CcsReturnProcess.exe"" /RU "" /RP "" /RL HIGHEST'.
Кто-нибудь может посоветовать, как заставить это работать?
2 ответа
Свойства, которые пользователь предоставляет установщику, должны быть прописными и, следовательно, общедоступными.
Двойные двойные кавычки в /TR параметре CreateScheduledTaskId вызвали для меня ошибку. Вот исправленная версия, которая работала для меня:
<CustomAction Id="CreateScheduledTaskId"
Property="CreateScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC DAILY /MO 1 /ST 10:00 /TN "CcsReturnProcess" /TR "[INSTALLFOLDER]CcsReturnProcess.exe" /RU "[Service.User]" /RP "[Service.Password]" /RL HIGHEST" />