Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Пожалуйста, помогите решить задачу.

Имеем код:
Код: Выделить весь код
[Setup]
AppName=MyProg
AppVerName=MyProg
DefaultDirName={reg:HKLM\SOFTWARE\MyProg\Inform,InstallPath} ; Здесь путь до программной папки
AppVersion=1.1.0.1
UsePreviousAppDir=no
AppendDefaultDirName=no
AllowRootDirectory=yes
DirExistsWarning=no
DisableStartupPrompt=yes
DisableReadyPage=yes
; DisableFinishedPage=yes
DisableDirPage=True
DisableProgramGroupPage=yes
OutputBaseFilename=Setup
Compression=lzma
SolidCompression=no
Uninstallable=false

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Files]
Source: {src}\add\*; DestDir: {app}\Serv\Lic\; Flags: external recursesubdirs skipifsourcedoesntexist

[_Code]
function InitializeSetup(): Boolean;
var
  ResultCode: Integer;
  s, ResultStr:string;
begin
Result:=True;
If not RegKeyExists(HKLM, 'SOFTWARE\MyProg\Inform')
 then
begin
 MsgBox('Программа не установлена или установлена неверно.' #13#13 'Дальнейшая работа Мастера невозможна.', mbError, mb_Ok);
 Result:=False;
 end
else
    begin
 MsgBox('Программа успешно обнаружена.' #13#13 'Скопируйте дополнения в папку:'+ExpandConstant('{app}')+'\Serv\Lic', mbInformrmation, mb_Ok);
end;
end;
1. Не хочет работать в MsgBox-е ExpandConstant('{app}') . Помогите исправить ошибку.

2. В идеале хотелось бы кое-что усовершенствовать:
вместо последнего простого предложения "скопировать в папку дополнения" в начале проверить, есть ли файлы в папке {src}\add\.
Если эта папка пустая, то предложить (Если "ДА") указать путь до папки с дополнениями или (Если "НЕТ") вывести сообщение (оно в коде уже имеется), т.е. "Скопируйте дополнения в папку {reg:HKLM\SOFTWARE\MyProg\Inform,InstallPath} после установки"

Отправлено: 14:55, 15-03-2012 | #1114