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;