Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 5]

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]
Скрипты Inno Setup. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

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


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

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


Цитата Yury_Prizrak:
Всем привет. Такой вопрос - как сделать чекбокс на последней странице с надписью "Запустить сервис?" и, если он нажат выполнить функцию »
Так, это решил, переписал немного функцию и такой RUN:
Filename: net; Parameters: {code:GetStartService}; Description: Запустить сервис; Flags: runhidden nowait postinstall runascurrentuser

Возник следующий вопрос - до этого у меня есть на формак чекбокс установки сервиса. Как теперь спрятать чекбокс на последней странице если файлы сервиса не были установлены

Блин, туплю, извините, 2-ой вопрос тоже решил:
читать дальше »

Код: Выделить весь код
[RUN]
Filename: net;  Parameters: {code:GetStartService};  Description: Запустить сервис CVL;  Flags: runhidden nowait postinstall runascurrentuser; Check: ServiceCheck

//Функция проверки чекбокса сервиса
function ServiceCheck: Boolean;
var
	ConfigPathCVLService: String;
begin
    if not Installed then
    begin
      Result := ServiceCheckBox.Checked;
    end
    else
    begin
      ConfigPathCVLService := ExpandConstant('{app}\CVL.CvlService.exe');
      //  проверка наличия севриса
      if FileExists( ConfigPathCVLService ) then
	    begin
        Result := True;
      end
      else
      begin
        Result := False;
      end;
    end;
end;

Отправлено: 17:30, 07-09-2012 | #861



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Johny777

Ветеран


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

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


Цитата MogilShik2007:
Ммм, ну и хотелось бы скрипт для полного счастья, чтобы использовать скин при деинсталляции »
первый пример 2-мя функциями загрузки/выгрузки и решением проблемы выгрузки длл до её инициализации (переменная Install_Runs (спасибо Serega))
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My prog
AppVerName=My prog
DefaultDirName={pf}\My prog
UninstallFilesDir={app}\uninstall

[Files]
Source: steam.cjstyles; DestDir: {#SetupSetting("UninstallFilesDir")}; Flags: ignoreversion nocompression solidbreak sortfilesbyextension; Attribs: hidden system
Source: isskin.dll; DestDir: {#SetupSetting("UninstallFilesDir")}; Flags: ignoreversion nocompression solidbreak sortfilesbyextension; Attribs: hidden system


[  code]
var
  install_Runs: boolean;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall setuponly';
procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';

function Load_Skin(Param: String; Skin: String): boolean;
begin
  Result := False;
  case Param of
    'I':
    begin
      ExtractTemporaryFile(Skin);
      LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
      Result := True;
    end;
    
    'U':
    begin
      if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\steam.cjstyles'), ExpandConstant('{tmp}\steam.cjstyles'), True) and
         FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True) then
         LoadSkinU(ExpandConstant('{tmp}\steam.cjstyles'), '');
      Result := True;
    end;
  end;
end;

procedure UnLoad_Skin(Param: String);
begin
  case Param of
    'I':
    begin
      WizardForm.Hide;
      Sleep(227);
      UnloadSkin();
    end;

    'U': UnloadSkinU();
  end;
end;




function InitializeSetup(): Boolean;
begin
  Install_Runs := False;
  Result := Load_Skin('I','steam.cjstyles');
end;

procedure InitializeWizard();
begin
  Install_Runs := True; // в конец процедуры
end;

procedure DeinitializeSetup;
begin
  if install_Runs then UnLoad_Skin('I');
end;

function InitializeUninstall(): Boolean;
begin
  Result := Load_Skin('U','steam.cjstyles');
end;

procedure DeinitializeUninstall();
begin
  UnLoad_Skin('U');
end;

второй простой пример
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My prog
AppVerName=My prog
DefaultDirName={pf}\My prog
UninstallFilesDir={app}\uninstall

[Files]
Source: steam.cjstyles; DestDir: {#SetupSetting("UninstallFilesDir")}; Flags: ignoreversion nocompression solidbreak sortfilesbyextension; Attribs: hidden system
Source: isskin.dll; DestDir: {#SetupSetting("UninstallFilesDir")}; Flags: ignoreversion nocompression solidbreak sortfilesbyextension; Attribs: hidden system

[  code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall setuponly';
procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';


function InitializeSetup(): Boolean;
begin
    ExtractTemporaryFile('steam.cjstyles');
    LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
    Result := True;
end;

procedure DeinitializeSetup;
begin
    WizardForm.Hide;
    Sleep(227);
    UnloadSkin();
end;

function InitializeUninstall(): Boolean;
begin
    Result := False;

    if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\steam.cjstyles'), ExpandConstant('{tmp}\steam.cjstyles'), True) and
       FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True) then
       LoadSkinU(ExpandConstant('{tmp}\steam.cjstyles'), '');

    Result := True;
end;

procedure DeinitializeUninstall();
begin
    if FileExists(ExpandConstant('{tmp}\steam.cjstyles')) and FileExists(ExpandConstant('{tmp}\isskin.dll')) then UnloadSkinU();
end;

касательно доп. цветов читай http://forum.oszone.net/showpost.php?p=1885463#

Yury_Prizrak,
зачем тебе лишние логические скобки?
читать дальше »
Код: Выделить весь код
      if FileExists( ConfigPathCVLService ) then
	    begin
        Result := True;
      end
      else
      begin
        Result := False;
      end;
    end;

можно проще
читать дальше »
Код: Выделить весь код
      if FileExists( ConfigPathCVLService ) then Result := True else Result := False;

а если посмотреть на то что функция FileExists возвращает function FileExists(const Name: String): Boolean;
то можно вообще упростить до Result := FileExists( ConfigPathCVLService );
а можно и без функции "ServiceCheck" обратиться напрямую к чекбоксу
if not Installed then ServiceCheckBox.Checked := FileExists(ExpandConstant('{app}\CVL.CvlService.exe')) else ServiceCheckBox.Checked := Installed (или True);

Последний раз редактировалось Johny777, 07-09-2012 в 18:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:45, 07-09-2012 | #862


Аватара для MogilShik2007

Пользователь


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

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


Странно, с любым скриптом при использовании деинсталлятора со скином выдает ошибку, вылетает несколько сот окошек, чет ругается, заметил что-то про папку Temp, может из-за того что временная папка в другом месте?

Отправлено: 04:47, 08-09-2012 | #863


Аватара для SatHan

Пользователь


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

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


MogilShik2007, точнее объясняй что и где. по возможности скрипт в студию. телепаты на каникулах.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:17, 08-09-2012 | #864


Аватара для MogilShik2007

Пользователь


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

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


Скрипты выше, то что Johny777 накидал, да и любой другой скрипт, трабла у всех одна... выбивает с несколькими сотами окон об ошибки, если получиться поймаю скрины...

+ такой вопрос, кто работал с ReDrawText как в скрипте прописать, чтоб работало на разных страницах, а не на одной?
Или на одной, но в разных местах...

Последний раз редактировалось MogilShik2007, 08-09-2012 в 17:27.


Отправлено: 17:12, 08-09-2012 | #865


Аватара для SatHan

Пользователь


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

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


Вложения
Тип файла: 7z Skin.7z
(160.5 Kb, 6 просмотров)

Цитата MogilShik2007:
Скрипты выше, то что Johny777 накидал, да и любой другой скрипт, трабла у всех одна... выбивает с несколькими сотами окон об ошибки »
Какие скрипты, то что в данном посте?
Что-то не могу понять, какие ошибки? Вот лично проверил два скрипта оба работают и не какими ошибками при деинсталяции не страдал.

MogilShik2007, Вот прикрепил архив со скриптами что выложил Johny777. У меня всё работает. Проверяй.

Последний раз редактировалось SatHan, 09-09-2012 в 03:00.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:31, 09-09-2012 | #866


Аватара для MogilShik2007

Пользователь


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

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


Удаление работает со скином, но при установке игры, после нажатия на кнопку Готово. вылетают окошки (несколько сотен):


+ такой вопрос, кто работал с ReDrawText как в скрипте прописать, чтоб работало на разных страницах, а не на одной?
Или на одной, но в разных местах...

Последний раз редактировалось MogilShik2007, 09-09-2012 в 09:59.


Отправлено: 09:40, 09-09-2012 | #867


Аватара для SatHan

Пользователь


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

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


Цитата MogilShik2007:
Подскажите какие цвета в формате color=$FF0000 поддерживает IS, а то не все хавает. »
Ещё можно использовать такие значения
читать дальше »
Код: Выделить весь код
Color := clRed;
тоесть
Код: Выделить весь код
Green - Зелёный
Yellow - Желтый
Red - Красный
Blue - Синий
Lime - Салатовый
Silver - Стальной (Серый)
Olive - Оливковый
Aqua - Аквамарин
Purple - Пурпурный
и вставляешь в
Код: Выделить весь код
Color := cl;
то есть
Код: Выделить весь код
Color := clСюда;
Только Inno насчёт таких значений слабоват
Например он не знает таких цветов
Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет Цвет


Цитата MogilShik2007:
Удаление работает со скином, но при установке игры, после нажатия на кнопку Готово. вылетают окошки (несколько сотен) »
Ты чистый использовал код, из архива? Не куда ли его не добавлял (потому как если ты встраивал в свой скрипт то возможно какие нибудь функции или процедуры конфликтуют).
Переменная Windows %TEMP% стандартная, не изменял?
Так же может быть чего не хватает системе или наоборот чего лишнего.
Я проверял скрипты и на WXP и W7 и ничего подобного не встречал.

Последний раз редактировалось SatHan, 09-09-2012 в 23:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:57, 09-09-2012 | #868


Аватара для SatHan

Пользователь


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

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


Ответьте пожалуйста на вопрос.
читать дальше »
Имеется секция [Files] с назначением путей
Код: Выделить весь код

[Files]
Source: "File\1\*"; DestDir: "{app}\Section1\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "File\2\*"; DestDir: "{app}\Section2\"; Flags: ignoreversion recursesubdirs createallsubdirs
ка сделать чтобы каждая секция DestDir
Код: Выделить весь код
DestDir: "{app}\Section1\"
DestDir: "{app}\Section2\"
брала пути из реестра?
Код: Выделить весь код
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1]
"Inno Setup: App Path"="C:\\Program Files\\Application1"
и
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1]
"Inno Setup: App Path"="C:\\Program Files\\Application2"
то есть
Код: Выделить весь код
DestDir: "{app}\Section1\"
из
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1]
"Inno Setup: App Path"="C:\\Program Files\\Application1"
а
DestDir: "{app}\Section2\"
из
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1]
"Inno Setup: App Path"="C:\\Program Files\\Application2"
если в реестре не находит то ставила в местоположение по умолчанию то есть
Код: Выделить весь код
DestDir: "{app}\SectionX\"

Последний раз редактировалось SatHan, 10-09-2012 в 17:51.


Отправлено: 22:07, 09-09-2012 | #869


Аватара для Johny777

Ветеран


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

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


SatHan,
сделал(ответ на твой вопрос - секция Files, не более) и позволил себе размахнуться(вся секция кода - расширение возможностей (опционально)) ещё дальше
(надеюсь не зря!)

пример 1:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=Reg_Path_Demo
AppVerName=Reg_Path_Demo
DefaultDirName={pf}\Reg_Path_Demo

// для теста
appid=Application1
//appid=Application2


[Files]
/// первый пример (для наглядности)
/////////////////// путь:........................................через ключ реестра(корневой каталог установленной программы)\Section1 (в эту папку в корневом каталоге)  - это путь только через реестр
Source: "File\1\*"; DestDir: "{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1,InstallLocation}\Section1"; Flags: ignoreversion recursesubdirs createallsubdirs

/// второй пример (как ты хотел)
/////////////////// путь:.......................................через ключ реестра(корневой каталог установленной программы)|(если ключа нет в {app})\Section2 (в эту папку в корневом каталоге)  - это путь через реестр и в {app}(в {app} если нет ключа)
Source: "File\2\*"; DestDir: "{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1,InstallLocation|{app}}\Section2"; Flags: ignoreversion recursesubdirs createallsubdirs



[  code]
function Key_Exist: Integer;
var
  Key_1_Exist, Key_2_Exist: boolean;
begin
  Key_1_Exist := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1');
  Key_2_Exist := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1');
  
  if Key_1_Exist and Key_2_Exist then Result := 3 else
  if Key_1_Exist then Result := 1 else
  if Key_2_Exist then Result := 2 else
  Result := 0;
end;

procedure Create_Labels(Param: Integer);
begin
  if Param <> 0 then
  begin
    with WizardForm do
    begin
      with TLabel.Create(nil) do
      begin
        Parent := SelectDirPage;
        case Param of
          1:
          begin
            SelectDirBrowseLabel.Caption := 'Путь установки 2:';
            DirEdit.Top := DirEdit.Top + ScaleY(30);
            DirBrowseButton.Top := DirEdit.Top - ScaleY(1);
            Caption := 'Путь установки 1: ' + RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1,InstallLocation}'));
            SetBounds(DirEdit.Left, DirEdit.Top - ScaleX(60), DirEdit.Width, ScaleY(90));
          end;

          2:
          begin
            SelectDirBrowseLabel.Caption := 'Путь установки 1:';
            Caption := 'Путь установки 2: ' + RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1,InstallLocation}'));
            SetBounds( DirEdit.Left, DirEdit.Top + ScaleX(60), DirEdit.Width, ScaleY(90));
          end;

          3:
          begin
            Caption := 'Путь установки 1: ' + RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1,InstallLocation}')) + #13#10 + #13#10 + #13#10 + #13#10 +
                       'Путь установки 2: ' + RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1,InstallLocation}'));
            SetBounds( DirEdit.Left, DirEdit.Top, DirEdit.Width, ScaleY(90));
          end;
        end;
      end;
      SelectDirBrowseLabel.Height := ScaleY(16);
      SelectDirBrowseLabel.Top := DirEdit.Top - SelectDirBrowseLabel.Height; 
    end;
  end;
end;

procedure InitializeWizard();
var
  a: Integer;
begin
  a := Key_Exist;
  
  with WizardForm do
  begin
    DirEdit.Visible := a <> 3;
    if not DirEdit.Visible then
    begin
      DirBrowseButton.Visible := DirEdit.Visible;
      SelectDirBrowseLabel.Visible := DirEdit.Visible;
    end;
  end;
  
  Create_Labels(a);
end;


обрати внимание на это символ |

пример 2(сделал как для себя бы хотел). Рекомендую:
читать дальше »
Код: Выделить весь код
#define Section_1 "Section1"
#define Section_2 "Section2"

[Setup]
AppName=Reg_Path_Demo
AppVerName=Reg_Path_Demo
DefaultDirName={pf}\Reg_Path_Demo

// для теста
appid=Application1
//appid=Application2                


[Files]
Source: "File\1\*"; DestDir: "{code:Get_Path_0}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "File\2\*"; DestDir: "{code:Get_Path_1}"; Flags: ignoreversion recursesubdirs createallsubdirs


[  code]
var
  Page: TInputDirWizardPage;
  
  
function Get_Path_0(Param: String): String;
begin
  Result := Page.Values[0];
end;


function Get_Path_1(Param: String): String;
begin
  Result := Page.Values[1];
end;


function Key_Exist: Integer;
var
  Key_1_Exist, Key_2_Exist: boolean;
begin
  Key_1_Exist := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1');
  Key_2_Exist := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1');
  
  if Key_1_Exist and Key_2_Exist then Result := 3 else
  if Key_1_Exist then Result := 1 else
  if Key_2_Exist then Result := 2 else
  Result := 0;
end;


procedure InitializeWizard();
begin
  Page:=CreateInputDirPage(wpWelcome,'копирование файлов', 'Укажите каталоги','',False,'NewFolder');
  with Page do
  begin
    Add('путь 1:');
    Add('путь 2:');
    
    case  Key_Exist of
      1:
      begin
        Values[0] := RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1,InstallLocation}')) + '\{#Section_1}';
        Values[1] := 'C:\{#Section_2}';
      end;
      
      2:
      begin
        Values[0] := 'C:\{#Section_1}';
        Values[1] := RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1,InstallLocation}')) + '\{#Section_2}';   //
      end;
      
      3:
      begin
        Values[0] := RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application1_is1,InstallLocation}')) + '\{#Section_1}';
        Values[1] := RemoveBackslash(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application2_is1,InstallLocation}')) + '\{#Section_2}';   //
      end;
    
      0:
      begin
        Values[0] := 'C:\{#Section_1}';
        Values[1] := 'C:\{#Section_1}';
      end;
    end;
  end;
end;

function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
begin
  Result := 'путь 1:' + NewLine + Space + Page.Values[0] + NewLine + NewLine + 'путь 2:' + NewLine + Space + Page.Values[1];
end;


function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := PageID = wpSelectDir;
end;






MogilShik2007,
по ошибке трудно(для меня даже невозможно) определить косяк
покажи лучше код с файлами
может смогу исправить!

Последний раз редактировалось Johny777, 10-09-2012 в 13:57.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:47, 09-09-2012 | #870



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход