Inno setup 在[files]部分所需的Inno安装程序中创建文件

Inno setup 在[files]部分所需的Inno安装程序中创建文件,inno-setup,Inno Setup,在我的Inno设置脚本中,我需要执行一个命令,生成要在[files]部分复制的临时文件。我尝试了以下方法: ; cd to the directory of the Inno Setup script and execute a python file #expr Exec('cmd /C "cd /d %cd% & C:\Python34\python.exe run.py"','','',1,SW_HIDE) 这似乎没有执行,因为我没有看到创建的文件,这显然不能包含在安装程序中 同

在我的Inno设置脚本中,我需要执行一个命令,生成要在[files]部分复制的临时文件。我尝试了以下方法:

; cd to the directory of the Inno Setup script and execute a python file
#expr Exec('cmd /C "cd /d %cd% & C:\Python34\python.exe run.py"','','',1,SW_HIDE)
这似乎没有执行,因为我没有看到创建的文件,这显然不能包含在安装程序中

同样,在完成删除这些临时文件时,我将如何执行命令

编辑我确实手动执行了cmd,并验证了它的有效性

它应该是:

#expr Exec('cmd.exe', '/C "cd /d %cd% & C:\Python34\python.exe run.py"','',1,SW_HIDE)
cmd.exe
是您正在执行的进程,其余是参数

尽管最好不要使用
cmd.exe
,因为实际上您并不需要它:

#expr Exec('C:\Python34\python.exe', 'run.py','c:\startupfolder',1,SW_HIDE)



虽然我个人认为,我会创建一个批处理文件,首先运行Python,然后运行Inno安装编译器。这更容易理解。

问题在于您正在将命令行传递到第一个参数中。第二,功能需要它们;help说第二个参数可以用来指定要执行的命令行..谢谢,这是我的问题。这个方法的文档不是很好,我第一次读的时候肯定错过了什么。我同意批处理脚本(这是我的第一次尝试),问题是,我无法说服其他开发人员打破他们的旧习惯,因此这更容易,即使它更难看,我不认为它可以说得更清楚,第一个参数指定要执行的模块的文件名,第二个参数可用于指定要执行的命令行。它是指定要执行的命令行部分。我想,因为我使用的是命令提示符,所以上下文让我感到困惑。我认为如果说命令行参数会更清楚