Innosetup-在安装开始之前从[Code]引用文件
-
14-11-2019 - |
题
这是一种延续 这个问题.我有一个文件,我想包含在我的安装包(a。CHM帮助文件),我需要从代码安装过程中访问。它不需要安装到用户的机器上。所以我想
-将文件包含在安装包中,可能是未压缩的(所以我想我会用一个 [Files] ... external
旗)。
-在安装过程中引用文件,代码如下:
procedure HelpButtonOnClick (Sender: TObject) ;
var
ErrorCode : Integer ;
begin
ShellExecAsOriginalUser ('open', ExpandConstant ('{???}') + '\MyHelp.chm', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end ;
那么我可以在安装开始之前引用该文件吗-即在将任何文件复制到用户机器之前?如何指定路径 ExpandConstant ('{???}')
到档案里去?我在向导表单上有一个帮助按钮,调用上述处理程序。
解决方案
这很容易。只要做
[Files]
Source: "MyHelp.chm"; Flags: dontcopy
[Code]
procedure HelpButtonOnClick(Sender: TObject);
var
ErrorCode: integer;
begin
ExtractTemporaryFile('MyHelp.chm');
ShellExecAsOriginalUser('', ExpandConstant('{tmp}\MyHelp.chm'), '', '',
SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
不隶属于 StackOverflow