Pregunta

Esto es una especie de continuación de esta pregunta .Tengo un archivo que quiero incluir con mi paquete de instalación (un archivo de ayuda .CHM) que debo acceder durante la instalación desde el código.No es necesario instalarlo a la máquina del usuario.Así que quiero que - Incluya el archivo en el paquete de instalación, probablemente sin comprimir (así que supongo que lo haré con una bandera de [Files] ... external).
- Referencia del archivo durante la instalación con código como:

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

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

Entonces, ¿puedo hacer referencia al archivo antes de que comience la instalación - i.e. Antes de que se copien los archivos en la máquina de usuario?¿Cómo especifico la ruta ExpandConstant ('{???}') en el archivo?Tengo un botón de ayuda en la forma del asistente que llama al controlador anterior.

¿Fue útil?

Solución

Esto es fácil.Solo hacer

[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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top