Вопрос

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

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

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

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

Это было полезно?

Решение

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

[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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top