Pergunta

Esta é uma espécie de continuação de esta pergunta.Eu tenho um arquivo que eu quero incluir na minha pacote de instalação (uma .Ajuda CHM de arquivo) que eu preciso de acesso durante a instalação a partir do código.Ele não precisa ser instalado na máquina do usuário.Então, eu quero
- incluir o arquivo no pacote de instalação, provavelmente não compactada (então eu acho que vou fazer isso com um [Files] ... external bandeira).
- referência do arquivo durante a instalação com o código como:

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

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

Então, posso fazer referência o arquivo antes do início da instalação - i.e.antes de todos os arquivos são copiados para a máquina do usuário?Como faço para especificar o caminho ExpandConstant ('{???}') para o arquivo?Eu tenho um botão de ajuda no assistente de formulário que chama acima de manipulador.

Foi útil?

Solução

Isso é fácil.Basta fazer

[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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top