Innosetup - ссылка на файл из [Code] перед началом установки - PullRequest
2 голосов
/ 16 мая 2011

Это своего рода продолжение этого вопроса . У меня есть файл, который я хочу включить в мой установочный пакет (файл справки .CHM), к которому мне нужно получить доступ во время установки из кода. Его не нужно устанавливать на компьютер пользователя. Итак, я хочу
- включить файл в установочный пакет, вероятно, в несжатый формат (так что, думаю, я сделаю это с флагом [Files] ... external).
- ссылаться на файл во время установки с кодом вроде:

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

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

Так можно ли ссылаться на файл перед началом установки, то есть перед тем, как какие-либо файлы будут скопированы на пользовательский компьютер? Как мне указать путь ExpandConstant ('{???}') к файлу? У меня есть кнопка справки в форме мастера, которая вызывает вышеуказанный обработчик.

1 Ответ

6 голосов
/ 17 мая 2011

Это легко. Просто сделай

[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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...