gpt4 book ai didi

xml - 在 Inno Setup 中运行 schtask.exe 之前创建带有安装路径的 XML 任务文件

转载 作者:行者123 更新时间:2023-12-04 16:47:01 34 4
gpt4 key购买 nike

我正在尝试使用来自 XML 文件的计划任务创建 Inno Setup。预定任务是:我的应用程序需要从用户登录开始。

在 Inno Setup 脚本中:

[Run]
Filename: "schtasks.exe";
\Parameters: "/create /XML ""{app}\Schedule.xml"" /TN AppStart"

Schedule.xml 文件中:

<Actions Context="Author">
<Exec>
<Command>"C:\Program Files\MyApp\MyApp.exe"</Command>
</Exec>
</Actions>

这工作正常。但我想将XML文件中的应用程序路径设置为{app}\MyApp.exe,因为用户可以将它安装到任何位置。如何在设置的运行时更改 XML 文件中的此路径?

最佳答案

使用 /TR 开关,而不是使用 XML 来指定要运行的路径。

[Run]
Filename: "schtasks.exe"; \
Parameters: "/Create /TR ""{app}\MyApp.exe"" /TN AppStart"

如果您出于某种原因坚持使用 XML,则必须即时创建文件。

[Run]
Filename: "schtasks.exe"; \
Parameters: "/Create /XML ""{tmp}\Schedule.xml"""; \
BeforeInstall: CreateScheduleXML
[Code]

procedure CreateScheduleXML;
var
FileName: string;
AppPath: string;
begin
FileName := ExpandConstant('{tmp}\Schedule.xml');
AppPath := ExpandConstant('{app}\MyApp.exe');
{ Create file here }
end;

您可以使用简单的函数创建文件,例如 SaveStringsToUTF8File或使用 MSXML2.DOMDocument COM 对象(参见 Edit installed XML file according to user preferences in Inno Setup )。

关于xml - 在 Inno Setup 中运行 schtask.exe 之前创建带有安装路径的 XML 任务文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39520934/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com