我正在尝试构建可在我的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"
是程序安装位置中updater可执行文件的绝对标准化路径。
最重要的是,/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>
谢谢。