Innosetup - ссылка на файл из [Code] перед началом установки

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

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

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

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

1 ответ

Решение

Это просто. Просто делать

[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;
Другие вопросы по тегам