2011-05-16 3 views
2

이것은 일종의 this question입니다. 코드에서 설치하는 동안 액세스해야하는 설치 패키지 (.CHM 도움말 파일)에 포함 할 파일이 있습니다. 사용자의 컴퓨터에 설치할 필요가 없습니다. 그래서 나는
으로 설치 패키지에 파일을 포함하고 싶습니다. 아마도 압축을 풀었을 것입니다 (그래서 나는 [Files] ... external 플래그로 그렇게 할 것입니다).
- 같은 코드를 설치하는 동안 파일을 참조 :Innosetup - 설치가 시작되기 전에 [코드]에서 파일을 참조하십시오.

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

관련 문제