这是this question的延续。我有一个文件,我想要包含我的安装包(.CHM帮助文件),我需要在安装过程中从代码访问。它不需要安装到用户的机器上。所以我想要
- 将文件包含在安装包中,可能是未压缩的(因此我想我会使用[Files] ... external
标志执行此操作)。
- 在安装过程中使用以下代码引用文件:
procedure HelpButtonOnClick (Sender: TObject) ;
var
ErrorCode : Integer ;
begin
ShellExecAsOriginalUser ('open', ExpandConstant ('{???}') + '\MyHelp.chm', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end ;
在安装开始之前,即在将任何文件复制到用户计算机之前,我可以引用该文件吗?如何为文件指定路径ExpandConstant ('{???}')
?我在向导表单上有一个帮助按钮,可以调用上面的处理程序。
答案 0 :(得分:6)
这很容易。只是做
[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;