2011-05-16 81 views
2

這是this question的延續。我有一個文件,我想將其包含在安裝包(.CHM幫助文件)中,我需要在安裝代碼時訪問該文件。它不需要安裝到用戶的機器上。所以我想要
- 將文件包含在安裝包中,可能是未壓縮的(所以我想我會用[Files] ... external標誌來做到這一點)。
- 與像代碼安裝時參考的文件:Innosetup - 在安裝開始前從[Code]引用文件

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

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

所以我可以引用該文件安裝開始之前 - 即任何文件被複制到用戶機器前?如何爲文件指定路徑ExpandConstant ('{???}')?我在調用上述處理程序的嚮導窗體上有一個幫助按鈕。

回答

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; 
+0

你說得對,很簡單!謝謝@Andreas – rossmcm 2011-05-16 21:36:50

相關問題