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="&quot;[SystemFolder]SCHTASKS.EXE&quot; /CREATE /SC DAILY /MO 1 /ST 10:00 /TN &quot;CcsReturnProcess&quot; /TR &quot;&quot;[INSTALLFOLDER]CcsReturnProcess.exe&quot;&quot; /RU &quot;[Service.User]&quot; /RP &quot;[Service.Password]&quot; /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="&quot;[SystemFolder]SCHTASKS.EXE&quot; /DELETE /TN &quot;CcsReturnProcess&quot; /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="&quot;[SystemFolder]SCHTASKS.EXE&quot; /CREATE /SC DAILY /MO 1 /ST 10:00 /TN &quot;CcsReturnProcess&quot; /TR &quot;&quot;[INSTALLFOLDER]CcsReturnProcess.exe&quot;&quot; /RU &quot;[Service.Domain]\[Service.User]&quot; /RP &quot;[Service.Password]&quot; /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="&quot;[SystemFolder]SCHTASKS.EXE&quot; /CREATE /SC DAILY /MO 1 /ST 10:00 /TN &quot;CcsReturnProcess&quot; /TR &quot;[INSTALLFOLDER]CcsReturnProcess.exe&quot; /RU &quot;[Service.User]&quot; /RP &quot;[Service.Password]&quot; /RL HIGHEST" />
Другие вопросы по тегам