Domanda

Questa è una sorta di continuazione di Questa domanda .Ho un file che voglio includere con il mio pacchetto di installazione (un file di aiuto .chm) di cui ho bisogno per accedere durante l'installazione dal codice.Non è necessario installare la macchina dell'utente.Quindi voglio
- Includere il file nel pacchetto di installazione, probabilmente non compresso (quindi credo che lo farò con una bandiera [Files] ... external).
- Riferimenti il file durante l'installazione con codice come:

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

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

Quindi posso fare riferimento al file prima che inizi l'installazione - I.e. Prima che tutti i file vengano copiati nella macchina utente?Come posso specificare il percorso ExpandConstant ('{???}') al file?Ho un pulsante di aiuto sul modulo della procedura guidata che chiama il gestore sopra.

È stato utile?

Soluzione

Questo è facile.Basta fare

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top