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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]

Отправлено: 11:48, 10-03-2014

 

Аватара для Shift85

Старожил


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

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


Цитата White Rabbit:
Можно это как-то лёгким движением руки сделать? »
White Rabbit, Базаришь.

Последний раз редактировалось Shift85, 30-09-2014 в 17:02.


Отправлено: 17:29, 24-07-2014 | #1191



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

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


Аватара для Dodakaedr

Ветеран


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

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


bosenkov5, Не знаю что у вас, но у меня такая ошибка появилась на проверенном скрипте при использовании Inno Setup 5.5.5

-------
Inno Setup 5 Ultra Unicode


Отправлено: 19:13, 24-07-2014 | #1192


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


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

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


R.i.m.s.k.y., там ответ есть от nik1967. (в самом конце).
Dinvin4ester, function SevenZipCommand(const hWnd: HWND; szParams: AnsiString;
White Rabbit, то есть в зависимости от языка винды, указывались на нужном языке надписи. если так, то есть GetUILanguage. в справке почитай.
bosenkov5, Kashtan007, кидай-те скрипты с файлами.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:05, 24-07-2014 | #1193


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


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

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


R.i.m.s.k.y.,
[code]#define GameName "Mafia II" /*Навзание игры*/
#define PathGameName "Mafia II" /* Название папки игры (без /:*?"<>|)*/
#define GameEXE "launcher.exe" /*Название экзешника*/
;#define GameEXE2 "Data2.exe" /*Название экзешника 2*/
#define GameVersion "1.0.0.1u5" /*Версия Игры*/
#define InstallVersion "1.0.0.1" /*Версия Инсталла*/
#define RePacker "Unknown" /*Имя Репакера */
#define NeedSize "7343" /*Необходимое св.место для Игры */
#define NeedInstallSize "7353" /*Необходимое св.место для установки */
#define NeedMem "512" /*Необходимое ОЗУ для установки */

;#define Components /* Компоненты */

#define Tasks /* Задачи */
#define Splash /* Сплешь */

#define Russophobia /* Русофобия (Запрет русских символов в пути установки) */

;Папка сохранений. Если нету, то перед "#define" поставить ";"
;#define SAVES1 "{userdocs}\Euro Truck Simulator 2"

;Вторая и третья папки сохранений. Если нету, то перед "#define" поставить ";"
;З.Ы. Если таки есть, то начинать обязательно с SAVES1
;#define SAVES2 "{userdocs}\BioWare\Mass Effect"
;#define SAVES3 "{userdocs}\BioWare\Mass Effect"

;Настройка ISDone
#define records /* Раскомментировать после "тестового прогона" */
;#define PrecompInside /* Распаковка PRECOMP'а "на лету" */
;#define SrepInside /* Распаковка SREP'а "на лету" */
#define facompress /* Ускоряет распаковку FreeArc-архивов */
;#define precomp "0.38" /* Указать какую версию precomp'а использовать. */
;#define unrar /* Раскомментируйте, если необходима распаковка rar-файлов */
;#define XDelta /* Раскомментируйте, если необходима распаковка diff архивов, созданных с помощью xdelta3. */
;#define PackZIP /* Раскомментируйте, если необходима поддержка упаковки файлов в архивы zip. */


[Setup]
AppName={#GameName}
AppPublisher=RePack by {#RePacker}
AppVerName={#GameName}
AppCopyright=© RePack by {#RePacker}
DefaultDirName={pf}\{#PathGameName}
DefaultGroupName={#PathGameName}
VersionInfoDescription=Installer - {#GameName}
VersionInfoTextVersion={#GameVersion}
VersionInfoVersion={#InstallVersion}
InternalCompressLevel=ultra64
SolidCompression=true
SetupIconFile="Output/icon.ico"
ShowTasksTreeLines=Yes
Compression=lzma/ultra64
OutputBaseFilename=Setup
UninstallDisplayIcon={app}\{#GameEXE}
UninstallFilesDir={app}\Uninstall

[Files]
//////Файлы графики и инсталлятора///////////
Source: InstallFiles\*; Flags: dontcopy
Source: dllFiles\*; Flags: dontcopy
//////////////файлы сплеша/////////////
#ifdef Splash
Source: Splash\*; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
#endif
///////////////////////////Файлы ISDone\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Source: Include\russian.ini; DestDir: {tmp}; Flags: dontcopy
Source: Include\unarc.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\ISDone.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: Include\records.inf; DestDir: {tmp}; Flags: dontcopy
#endif

#ifdef PrecompInside
Source: Include\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef SrepInside
Source: Include\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef facompress
Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp
#if precomp == "0.38"
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.4"
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.41"
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
#else
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#endif
#endif
#endif
#ifdef unrar
Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef XDelta
Source: Include\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PackZIP
Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packZIP.exe; DestDir: {tmp}; Flags: dontcopy
#endif


[Icons]
Name: {commondesktop}\{#PathGameName}; Filename: {app}\{#GameEXE}; Parameters: "lng>russian"; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE}; Tasks: Icons\DesktopIcon; Check: CheckError
#ifdef GameEXE2
Name: {commondesktop}\{#PathGameName}.(Настройки); Filename: {app}\{#GameEXE2}; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE2}; Tasks: Icons\DesktopIcon2; Check: CheckError
#endif
Name: {group}\{#PathGameName}; Filename: {app}\{#GameEXE}; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE}; Tasks: Icons\QuickLaunchIcon; Check: CheckError
Name: {group}\{cm:UninstallProgram,{#PathGameName}}; Filename: {uninstallexe}; IconFilename: {app}\{#GameEXE}; Tasks: Icons\QuickLaunchIcon; Check: CheckError


#ifdef Components
[Types]
Name: full; Description: Полная установка; Flags: iscustom

[Components]
Name: InterfaceLanguage; Description: Язык Интерфейса:; Flags: fixed; Types: Full;
Name: InterfaceLanguage\Russian; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: InterfaceLanguage\English; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: SoundLanguage; Description: Язык Озвучки:; Flags: fixed; Types: Full;
Name: SoundLanguage\Russian; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
Name: SoundLanguage\English; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000
;Name: Crack; Description: Таблетка:; Flags: fixed; Types: Full;
;Name: Crack\ALI213; Description: ALI213(Рекомендуется); Flags: exclusive; ExtraDiskSpaceRequired: 5000520
;Name: Crack\THETA; Description: THETA; Flags: exclusive; ExtraDiskSpaceRequired: 5000900
;Name: Crack\Reloaded; Description: Reloaded; Flags: exclusive; ExtraDiskSpaceRequired: 6000842
#endif

#ifdef Tasks
[Tasks]
Name: Icons; Description: {cm:Icons}; Flags: unchecked;
Name: Icons\DesktopIcon; Description: {cm:CreateDesktopIcon};
#ifdef GameEXE2
Name: Icons\DesktopIcon2; Description: {cm:CreateDesktopIcon2};
#endif
Name: Icons\QuickLaunchIcon; Description: {cm:CreateQuickLaunchIcon};
Name: Soft; Description: {cm:Soft};
Name: Soft\DirectX; Description: DirectX.;
Name: Soft\VCCheck; Description: Microsoft Visual C++ 2010.; Flags:
//Name: Soft\Net; Description: Microsoft NET Framework 4.0 ; Flags:
Name: Soft\PhysXCheck; Description: NVIDIA PhysX
//Name: Soft\UbisoftGameLauncher; Description: Ubisoft Game Launcher; Flags:
//Name: Soft\WinLive; Description: Установить Windows Live; Flags:
#endif

[Run]
Filename: {src}\Soft\DirectX\DXSETUP.exe; WorkingDir: {src}\Soft\DirectX\; Flags: waituntilterminated; Tasks: Soft\DirectX; StatusMsg: Установка DirectX...; Check: CheckError
Filename: {src}\Soft\Redist\vcredist_x86.exe; StatusMsg: Устанавливаем Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and not IsWin64;
Filename: {src}\Soft\Redist\vcredist_x64.exe; StatusMsg: Устанавливаем Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and IsWin64


[UninstallDelete]
Type: filesandordirs; Name: {app}

Код: Выделить весь код
#ifdef Splash
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
#endif
#include "Modules\Messages.iss"
#include "Modules\botva2.iss"
#include "Modules\PB.iss"
#include "Modules\botva2u.iss"
#include "Modules\Header.iss"
#include "Modules\ISDone.iss"

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

#ifdef Russophobia
const
  A1='А';
  Z1='Я';
  A2='а';
  Z2='я';
  X1='ё';
  X2='Ё';
function NextButtonClick(CurPageID: Integer): Boolean;
var i: integer;
    c: char;
begin
   Result := True;
   if CurPageID = wpSelectDir then begin
      for i:=1 to length(WizardForm.DirEdit.text) do begin
         c:=WizardForm.DirEdit.text[i];
         if (c>=A1)and(c<=Z1) or (c>=A2)and(c<=Z2) or (c=X1) or (c=X2) then begin
            MsgBox( 'В пути установки присутствуют русские буквы, что недопустимо'#13#13'Пожалуйста, повторите ввод.', mbError, mb_Ok);
            Result := False ;
            exit;
         end;
      end;
   end;
end;
#endif
////////////////////////////////////////////////////////////Текстура кнопок\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
procedure SetStateNewButtons;
begin
  with WizardForm.BackButton do begin
    BtnSetText(hBackBtn,PAnsiChar(Caption));
    BtnSetVisibility(hBackBtn,Visible);
    BtnSetEnabled(hBackBtn,Enabled);
  end;
  with WizardForm.NextButton do begin
    BtnSetText(hNextBtn,PAnsiChar(Caption));
    BtnSetVisibility(hNextBtn,Visible);
    BtnSetEnabled(hNextBtn,Enabled);
  end;
  with WizardForm.CancelButton do begin
    BtnSetText(hCancelBtn,PAnsiChar(Caption));
    BtnSetVisibility(hCancelBtn,Visible);
    BtnSetEnabled(hCancelBtn,Enabled);
  end;
  BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption));
  BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption));
end;

procedure WizardFormBtnClick(hBtn:HWND);
var
  Btn:TButton;
begin
    case hBtn of
    hCancelBtn: Btn:=WizardForm.CancelButton;
    hNextBtn: Btn:=WizardForm.NextButton;
    hBackBtn: Btn:=WizardForm.BackButton;
    hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton;
    hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton;
  end;
  Btn.OnClick(Btn);
  SetStateNewButtons;
  BtnRefresh(hBtn);
end;

procedure WFBtnEnter(hBtn:HWND);
begin
end;

procedure ButtonsTextures;
begin
  with WizardForm.BackButton do begin
    hBackBtn:=BtnCreate(WizardForm.Handle,447,364,80,24,ExpandConstant('Btn.png'),0,False);
    BtnSetEvent(hBackBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
    BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
    BtnSetFont(hBackBtn,WFButtonFont.Handle);
    BtnSetFontColor(hBackBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6);
    BtnSetCursor(hBackBtn,GetSysCursorHandle(32649));
    Width:=0;
    Height:=0;
  end;

  with WizardForm.NextButton do begin
    hNextBtn:=BtnCreate(WizardForm.Handle,530,364,80,24,ExpandConstant('Btn.png'),1,False);
    BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
    BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
    BtnSetFont(hNextBtn,WFButtonFont.Handle);
    BtnSetFontColor(hNextBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6);
    BtnSetCursor(hNextBtn,GetSysCursorHandle(32649));
    Width:=0;
    Height:=0;
  end;

  with WizardForm.CancelButton do begin
    hCancelBtn:=BtnCreate(WizardForm.Handle,613,364,80,24,ExpandConstant('Btn.png'),1,False);
    BtnSetEvent(hCancelBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
    BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
    BtnSetFont(hCancelBtn,WFButtonFont.Handle);
    BtnSetFontColor(hCancelBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6);
    BtnSetCursor(hCancelBtn,GetSysCursorHandle(32649));
    Width:=0;
    Height:=0;
  end;

  with WizardForm.DirBrowseButton do begin
    hDirBrowseBtn:=BtnCreate(WizardForm.Handle,530,269,73,24,ExpandConstant('browse.png'),1,False);
    BtnSetEvent(hDirBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
    BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
    BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle);
    BtnSetFontColor(hDirBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6);
    BtnSetCursor(hDirBrowseBtn,GetSysCursorHandle(32649));
    Width:=0;
    Height:=0;
  end;

  with WizardForm.GroupBrowseButton do begin
    hGroupBrowseBtn:=BtnCreate(WizardForm.Handle,530,269,73,24,ExpandConstant('browse.png'),1,False);
    BtnSetEvent(hGroupBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
    BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
    BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle);
    BtnSetFontColor(hGroupBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6);
    BtnSetCursor(hGroupBrowseBtn,GetSysCursorHandle(32649));
    Width:=0;
    Height:=0;
  end;
end;

/////////////////////////////////////////////////конец\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
////////////////////////////////////////////////Вставка изображений\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

procedure CreateWizardForm;
var
  n: Integer;
begin
  with WizardForm do begin
    InnerNotebook.Hide;
    OuterNotebook.Hide;
    Bevel.Hide;
    ClientWidth:=ScaleX(700);
    ClientHeight:=ScaleY(394);
    DirEdit.OnChange:=@ObjectFunc;
    GroupEdit.OnChange:= @ObjectFunc
    OnMouseDown:=@LabelOnMouseDown;
    Center;
  end;

  WFButtonFont:=TFont.Create;
  with WFButtonFont do begin
    Style:=[fsBold];
    Size:=10;
    Name:='Tahoma';
  end;

  BGImageStream := TMemoryStream.Create;
  ExtractTemporaryFileToStream('BMPImage.bmp', BGImageStream);
  BGImageStream.Position := 0;

  BTNImageStream := TMemoryStream.Create;
  ExtractTemporaryFileToStream('btnimage.bmp', BTNImageStream);
  BTNImageStream.Position := 0;

  BGImage := TBitmapImage.Create(WizardForm);
  BGImage.Bitmap.LoadFromStream(BGImageStream);

  BTNImage := TBitmapImage.Create(WizardForm);
  BTNImage.Bitmap.LoadFromStream(BTNImageStream);

  ImgLoad(WizardForm.Handle,ExpandConstant('MainImage.png'),0,0,0,0,False,True);

  //////////////////////////////////////////!!!\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  
/////////////////////////////////////////////////// ст. Главная\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  WelcomeLabel1:= CreateLabel(WizardForm, ScaleX(0), ScaleY(245), ScaleX(700), ScaleY(80), ExpandConstant('{cm:WelcomeLabel1}'), False);
  LabelSetFont(WelcomeLabel1, 10, 'Tahoma', $FFFFFF, [fsBold]);
  WelcomeLabel1.Alignment := taCenter;

  WelcomeLabel2:= CreateLabel(WizardForm, ScaleX(0), ScaleY(275), ScaleX(700), ScaleY(150), ExpandConstant('{cm:WelcomeLabel2}'), False);
  LabelSetFont(WelcomeLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]);
  WelcomeLabel2.Alignment := taCenter;
//////////////////////////////////////////////////ст.Выбор Дириктории\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  DirFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('DirFolder.png'),ScaleX(106),ScaleY(210),ScaleX(60),ScaleY(59),True,True);
  DirEditImg:=ImgLoad(WizardForm.Handle,ExpandConstant('DirEditImg.png'),ScaleX(105),ScaleY(270),ScaleX(420),ScaleY(22),True,True);
  HDD:=ImgLoad(WizardForm.Handle,ExpandConstant('HDD.png'),ScaleX(105),ScaleY(297),ScaleX(57),ScaleY(57),True,True);

  SelectDirLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(219), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirLabel}'), true);
  LabelSetFont(SelectDirLabel, 9, 'Tahoma', $FFFFFF, [fsBold]);
  
  SelectDirBrowseLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(238), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirBrowseLabel}'), true);
  LabelSetFont(SelectDirBrowseLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
  SelectDirBrowseLabel.Alignment := taLeftJustify;
  
  DirEditLabel:= CreateLabel(WizardForm, ScaleX(110), ScaleY(272), ScaleX(450), ScaleY(20), '', false);
  LabelSetFont(DirEditLabel, 10, 'Tahoma', $FFFFFF, [fsBold]);
  DirEditLabel.Caption := MinimizePathName(WizardForm.DirEdit.Text, DirEditLabel.Font, DirEditLabel.Width);
  
  TotalSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(295), ScaleX(0), ScaleY(0), ExpandConstant('{cm:TotalSpaceLabel}'), true);
  LabelSetFont(TotalSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);

  FreeSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(310), ScaleX(0), ScaleY(0), ExpandConstant('{cm:FreeSpaceLabel}'), true);
  LabelSetFont(FreeSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);

  InstallSpacelabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(325), ScaleX(0), ScaleY(0), ExpandConstant('{cm:InstallSpacelabel}'), true);
  LabelSetFont(InstallSpacelabel, 8, 'Tahoma', $FFFFFF, [fsBold]);

  NeedSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(340), ScaleX(0), ScaleY(0), ExpandConstant('{cm:NeedSpaceLabel}'), true);
  LabelSetFont(NeedSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);

  TotalSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(295), ScaleX(0), ScaleY(0), '', true);
  LabelSetFont(TotalSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]);
  TotalSpaceLabel2.Alignment := taRightJustify;

  FreeSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(310), ScaleX(0), ScaleY(0), '', true);
  LabelSetFont(FreeSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]);
  FreeSpaceLabel2.Alignment := taRightJustify;

  InstallSpacelabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(325), ScaleX(0), ScaleY(0), '', true);
  LabelSetFont(InstallSpacelabel2, 8, 'Tahoma', $FFFFFF, [fsBold]);
  InstallSpacelabel2.Alignment := taRightJustify;

  NeedSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(340), ScaleX(0), ScaleY(0), '', true);
  LabelSetFont(NeedSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]);
  NeedSpaceLabel2.Alignment := taRightJustify;

  #ifdef Components
//////////////////////////////////////////ст.Компонентов\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    SelectComponentsLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectComponentsLabel}'), true);
    LabelSetFont(SelectComponentsLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
    SelectComponentsLabel.Alignment := taLeftJustify;
    with WizardForm.ComponentsList do begin
      Parent:= WizardForm;
      SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148));
      Color:=$000000;
      Font.Name:='Tahoma';
      Font.Size:= 8;
      Font.Color:=$FFFFFF;
      for n:=0 to ItemCount-1 do begin
        ItemFontStyle[n]:= [fsBold];
        SubItemFontStyle[n]:= [fsBold];
      end;
      BorderWidth := (WizardForm.ComponentsList.Width-WizardForm.ComponentsList.ClientWidth) div 2;
      LoadBGBmpFromBitmap(BGImage.Bitmap,  WizardForm.ComponentsList.Left+BorderWidth, WizardForm.ComponentsList.Top+BorderWidth);
      LoadBtnBmpFromBitmap(btnimage.Bitmap);
    end;
  #endif

/////////////////////////////////////////////////ст.Выбор Группы\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  GroupFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('GroupFolder.png'),ScaleX(106),ScaleY(210),ScaleX(60),ScaleY(59),True,True);

  SelectStartMenuFolderLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(219), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectStartMenuFolderLabel}'), true);
  LabelSetFont(SelectStartMenuFolderLabel, 9, 'Tahoma', $FFFFFF, [fsBold]);
  SelectStartMenuFolderLabel.Alignment := taLeftJustify;
  
  SelectStartMenuFolderBrowseLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(238), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirBrowseLabel}'), true);
  LabelSetFont(SelectStartMenuFolderBrowseLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
  SelectStartMenuFolderBrowseLabel.Alignment := taLeftJustify;
  
  GroupEditLabel:= CreateLabel(WizardForm, ScaleX(110), ScaleY(272), ScaleX(450), ScaleY(20), WizardForm.GroupEdit.Text, false);
  LabelSetFont(GroupEditLabel, 10, 'Tahoma', $FFFFFF, [fsBold]);
  
  NoIconsCheck:=BtnCreate(WizardForm.Handle,ScaleX(110),ScaleY(305),ScaleX(13),ScaleY(13),ExpandConstant('CheckBox.png'),1,True);
  BtnSetEvent(NoIconsCheck,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1));
  BtnSetCursor(NoIconsCheck,GetSysCursorHandle(32649));

  NoIconsLabel:= CreateLabel(WizardForm, ScaleX(126), ScaleY(305), ScaleX(0), ScaleY(0), ExpandConstant('{cm:NoIconsCheck}'), true);
  LabelSetFont(NoIconsLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
  with NoIconsLabel do begin
    Cursor := crHand;
    OnClick:= @ObjectFunc;
  end;
/////////////////////////////////////////////ст.Задачь\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #ifdef Tasks
    SelectTasksLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectTasksLabel}'), true);
    LabelSetFont(SelectTasksLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
    SelectTasksLabel.Alignment := taLeftJustify;
    
    with WizardForm.TasksList do begin
      Parent:= WizardForm;
      SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148));
      Color:=$000000;
      Font.Name:='Tahoma';
      Font.Size:= 8;
      Font.Color:=$FFFFFF;
      BorderStyle := bsSingle;
      //TreeViewStyle := True;
      BorderWidth := (WizardForm.TasksList.Width-WizardForm.TasksList.ClientWidth) div 2;
      LoadBGBmpFromBitmap(BGImage.Bitmap,  WizardForm.TasksList.Left+BorderWidth, WizardForm.TasksList.Top+BorderWidth);
      LoadBtnBmpFromBitmap(btnimage.Bitmap);
    end;
  #endif

/////////////////////////////////////////////////ст.Итого\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  BGImageStream.position:=0;

  ReadyLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:ReadyLabel}'), true);
  LabelSetFont(ReadyLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
  ReadyLabel.Alignment := taLeftJustify;

  ReadyPanel := TPanel.Create(WizardForm);
  with ReadyPanel do begin
    Parent := WizardForm;
    SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148));
    BorderStyle := bsSingle;
  end;

  ReadyBitmap := TBitmapImage.Create(WizardForm);
  with ReadyBitmap do begin
    Parent := ReadyPanel;
    SetBounds(ScaleX(-7), ScaleY(-210), ScaleX(700), ScaleY(394));
    Bitmap.LoadFromStream(BGImageStream);
  end;

  ReadyScrollBar := TScrollBar.Create(WizardForm);
  with ReadyScrollBar do begin
    Parent := ReadyPanel;
    SetBounds(ScaleX(315), ScaleY(0), ScaleX(144), ScaleY(16));
    Kind := sbVertical;
    OnScroll:=@ScrollText3Scroll;
  end;

  ReadyPanelLabel := TLabel.Create(WizardForm);
  with ReadyPanelLabel do begin
    Parent := ReadyPanel;
    WordWrap := true;
    Transparent:=true;
    Font.Name:='Tahoma';
    Font.Size:= 8;
    Font.Color:=$FFFFFF;
    Font.Style:=[fsBold];
    SetBounds(ScaleX(5), ScaleY(5), ScaleX(325), ScaleY(130));
    Caption := WizardForm.ReadyMemo.Lines.Text;
  end;
////////////////////////////////////////////ст.Установка\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  IsDoneAddComponents

  InstallingLabel:= CreateLabel(WizardForm, ScaleX(105), ScaleY(220), ScaleX(0), ScaleY(0), ExpandConstant('{cm:InstallingLabel}'), true);
  LabelSetFont(InstallingLabel, 9, 'Tahoma', $FFFFFF, [fsBold]);

  StatusLabel:= CreateLabel(WizardForm, ScaleX(105), ScaleY(240), ScaleX(0), ScaleY(0), ExpandConstant('{cm:Extracted}'), true);
  LabelSetFont(StatusLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);

/////////////////////////////////////////////ст.Конец\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  FinishedHeadingLabel:= CreateLabel(WizardForm, ScaleX(0), ScaleY(245), ScaleX(700), ScaleY(80), ExpandConstant('{cm:FinishedHeadingLabel}'), false);
  LabelSetFont(FinishedHeadingLabel, 10, 'Tahoma', $FFFFFF, [fsBold]);
  FinishedHeadingLabel.Alignment := taCenter;

  FinishedLabel:= CreateLabel(WizardForm, ScaleX(0), ScaleY(275), ScaleX(700), ScaleY(150), ExpandConstant('{cm:FinishedLabel}'), false);
  LabelSetFont(FinishedLabel, 8, 'Tahoma', $FFFFFF, [fsBold]);
  FinishedLabel.Alignment := taCenter;
end;

Последний раз редактировалось bosenkov5, 25-07-2014 в 11:52.


Отправлено: 22:19, 24-07-2014 | #1194


Аватара для Dinvin4ester

Старожил


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

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


Цитата Dinvin4ester:
- Ребята что делаю не так ? Не видно прогресс бара,скрипт - http://rghost.ru/57061315»

Отправлено: 06:06, 25-07-2014 | #1195


SHVtYW4=


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

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


bosenkov5, Захватите ваше произведение искусства в тег [code][/code] (информация по обработке тегов) и скройте под спойлер.

Отправлено: 07:01, 25-07-2014 | #1196


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


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

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


Всем доброго времени суток. Возникла проблема, я использую библиотеку ISSkin.dll, но после установки компонентов, мой скин skin.cjstyles распаковывается в ту же папку куда и компоненты. Т.е. у меня есть папка "Программы"я устанавливаю туда компоненты и помимо этих компонентов, там каким-то непонятным образом появляется мой скин skin.cjstyles. Как решить эту проблему? Заранее спасибо за ответ!

Отправлено: 09:20, 25-07-2014 | #1197


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата Kashtan007:
Как решить эту проблему? »
не распаковывать в папку программы
щито неясно?




bosenkov5,
а) проверь пути чтобы по ним все лежало
б) extractTemrorrayFileSize у тебя вызывается раньше чем объявляется, ищи его во вторичных iss (которые #include...) и ставь botva2.iss ниже iss с extractTemrorrayFileSize
в) компилятор какой? у нас тут у всех расширенный китайский (юзаем innoultra)

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 25-07-2014 в 10:17.

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

Отправлено: 09:24, 25-07-2014 | #1198


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


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

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


R.i.m.s.k.y., В том и дело, что я не распаковывая в папку программы этот файл. Файл скина находиться у меня в [Files], но для того, чтобы он работал. Тем более, я выбираю компоненты.

Отправлено: 09:34, 25-07-2014 | #1199


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Kashtan007, c такой постановкой вопроса лучше обращаться сюда

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 09:40, 25-07-2014 | #1200



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты 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




 
Переход