【问题标题】:Innosetup - reference a file from [Code] before the installation startsInnosetup - 在安装开始之前从 [Code] 引用一个文件
【发布时间】:2011-05-16 19:55:08
【问题描述】:

这是this question 的延续。我有一个要包含在我的安装包中的文件(一个 .CHM 帮助文件),我需要在安装期间从代码中访问该文件。它不需要安装到用户的机器上。所以我想
- 将文件包含在安装包中,可能是未压缩的(所以我想我会使用[Files] ... external 标志来做到这一点)。
- 在安装过程中使用如下代码引用文件:

procedure HelpButtonOnClick (Sender: TObject) ;   
var
    ErrorCode : Integer ;

begin
ShellExecAsOriginalUser ('open', ExpandConstant ('{???}') +  '\MyHelp.chm', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end ;

那么我可以在安装开始之前引用该文件吗 - 即在将任何文件复制到用户计算机之前?如何指定文件的路径ExpandConstant ('{???}')?我在调用上述处理程序的向导表单上有一个帮助按钮。

【问题讨论】:

    标签: installation inno-setup helpfile context-sensitive-help


    【解决方案1】:

    这很容易。做吧

    [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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      相关资源
      最近更新 更多