有时候在安装的过程中需要调用某些文件(bat或者exe等文件),但是只需要使用一次,然后就可以删掉该文件,
在Innosetup中应该这样操作:
1.在.iss脚本的[Files]章节写下:
Source: ..\fileName.exe ; DestDir: {tmp}; Flags:deleteafterinstall
Source 是Innosetup关键字;
..\fileName.exe 其中fileName.exe为所要压缩的文件,..\指当前工作目录;
DestDir: {tmp} 表示该文件在安装时会解压到系统的temp目录下;
Flags:deleteafterinstall 表示该文件在安装完成后会被删除
2. 通过ExtractTemporaryFile()方法来获取该文件,
ExtractTemporaryFile('fileName.exe');
fullPath := ExpandConstant('{tmp}\fileName.exe');
Exec(fullPath, '', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
注意:
ExtractTemporaryFile('fileName.exe') 表示从系统的temp临时目录中获取该文件的操作句柄
(
简单来说,就是要调用一下该方法才能使用该文件
)
fullPath := ExpandConstant('{tmp}\fileName.exe') 获取该文件解压后的真实路径,
其中{tmp}是Innosetup定义的,对应Windows系统的temp目录
Exec(fullPath, '', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) 其中Exec()方法是Innosetup中的方法,类似于在cmd中执行命令