Innosetup: haga referencia a un archivo de [Código] antes de que comience la instalación

Esta 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) al que necesito acceder durante la instalación desde el código. No es necesario instalarlo en la máquina del usuario. Así que quiero
- incluir el archivo en el paquete de instalación, probablemente sin comprimir (así que supongo que lo haré con un [Files] ... external bandera).
- hacer referencia al archivo durante la instalación con un 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, es decir, antes de que se copien los archivos en la máquina del usuario? ¿Cómo especifico la ruta? ExpandConstant ('{???}') al archivo? Tengo un botón de ayuda en el formulario del asistente que llama al controlador anterior.

preguntado el 16 de mayo de 11 a las 19:05

1 Respuestas

Esto es facil. Solo haz

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

contestado el 17 de mayo de 11 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.