schtasks.exe: Планировщик задач не может создать задачу из XML - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь создать команду, которую можно использовать в инсталляторе Inno Setup для обновления моей программы по расписанию.Это то, что у меня пока есть.

schtasks /CREATE /TN "Search Deflector Updater" /RU SYSTEM /SC DAILY /TR "[REDACTED]\update.exe" /XML "updatetask.xml" /F

/RU SYSTEM - для скрытия окна консоли, созданного моим исполняемым файлом обновления.

/TR "[REDACTED]\updater.exe" - это абсолютный нормализованный путьв исполняемый файл программы обновления в месте установки программы.

И самое главное, /XML "updatetasks.xml" - это файл с настройками, с которыми должна быть создана задача.Если я использую это, мне нужен один из /S, /U, /P, /RU, /RP, /F, /IT или /TN.

У меня естьуказаны /TN, /F и /RU, но я все равно получаю сообщение об ошибке при выполнении команды.

ERROR: /XML option can only be used with /S /U /P /RU /RP /F /IT /TN

Я не понимаю, почему я выполнил все требования.

Мой XML ниже.Кроме того, предложения по минимизации разметки только до абсолютно необходимых настроек, чтобы сделать функцию задачи, как ожидалось, будет принята.Вещи со значениями по умолчанию, которые XML не должен явно указывать / изменять, или параметры, которые не используются / избыточны, должны быть опущены.Я просто не знаю, что они.

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<Triggers>
    <CalendarTrigger>
    <Enabled>true</Enabled>
    <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
    </ScheduleByDay>
    </CalendarTrigger>
</Triggers>
<Principals>
    <Principal id="Author">
    <RunLevel>HighestAvailable</RunLevel>
    </Principal>
</Principals>
<Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
    <IdleSettings>
    <StopOnIdleEnd>false</StopOnIdleEnd>
    <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
    <Priority>7</Priority>
    <RestartOnFailure>
    <Interval>PT5M</Interval>
    <Count>3</Count>
    </RestartOnFailure>
</Settings>
</Task>

Спасибо.

...