首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Inno安装程序中运行schtask.exe之前,使用安装路径创建XML任务文件

在Inno安装程序中运行schtask.exe之前,使用安装路径创建XML任务文件
EN

Stack Overflow用户
提问于 2016-09-15 21:56:08
回答 1查看 504关注 0票数 3

我正在尝试从XML文件创建带有计划任务的Inno安装程序。计划的任务是:我的应用程序需要从用户登录开始。

在Inno安装脚本中:

代码语言:javascript
复制
[Run]
Filename: "schtasks.exe"; 
    \Parameters: "/create /XML ""{app}\Schedule.xml"" /TN AppStart"

Schedule.xml文件中:

代码语言:javascript
复制
<Actions Context="Author">
    <Exec>
        <Command>"C:\Program Files\MyApp\MyApp.exe"</Command>
    </Exec>
</Actions>

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

EN

Stack Overflow用户

回答已采纳

发布于 2016-09-16 05:48:21

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

代码语言:javascript
复制
[Run]
Filename: "schtasks.exe"; \
    Parameters: "/Create /TR ""{app}\MyApp.exe"" /TN AppStart"

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

代码语言:javascript
复制
[Run]
Filename: "schtasks.exe"; \
    Parameters: "/Create /XML ""{tmp}\Schedule.xml"""; \
    BeforeInstall: CreateScheduleXML
代码语言:javascript
复制
[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)。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39520934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档