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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


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

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата Shegorat:
это возможно там где он может перезаписать файл. »
Я знаю в любом случае, я не вижу других возможностей реализации отвязать количество запусков от определенной машины

No4noylis, Пример готового скрипта .

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 02-07-2011 в 21:03.

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

Отправлено: 20:43, 02-07-2011 | #2151



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

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


Ветеран


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

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


Цитата Shegorat:
Первое возможно только если инсталлятор находится на жд либо на флешке, т.е там где он может себя перезаписать »
В 99% процентов случаев, он будет на диске на котором он сможет себя перезаписать. Как проверить? Пытаемся создать обычный текстовый файл рядом с инсталлятором, если файл создался, то значит и удалить и перезаписать инсталлятор можно.
Цитата Shegorat:
точнее добавить часть данных в конец собственного файла »
Можно конечно и так, но здесь есть одна штука, а именно, пользователь, который работает с файлами через Total Commander или другой файловый менеджер, увидит, что файл перезаписан...
Самый оптимальный вариант, это контролировать через реестр + плюс кинуть файл информации в разные папки Temp и при запуске инсталлятора проверять все варианты.
Цитата Лександер:
я не вижу других возможностей реализации отвязать количество запусков от определенной машины »
Есть ещё один вариант , это инсталлятор обращается на сервер своей проги, которую он устанавливает, при этом передавая все свои данные и спрашивает у него, при отрицательном ответе инсталлятор просто само удаляется...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 21:38, 02-07-2011 | #2152


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


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

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


Лександер, Shegorat и Serega раз не получится сделать самоудаление инсталла через определенное кол-во установок, то может можно привязать это к дате и времени? Допустим, он нормально функционирует, до 23.00 01.01.2012г., а потом выдает сообщение, например "Error" и самоудаляется бесследно (как в предыдущем примере, который предлагал Shegorat) .

Отправлено: 05:03, 03-07-2011 | #2153


Аватара для Gnom_aka_Lexander

Ветеран


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

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


TRMK, можно. на руборде тебе уже ответили, как это сделать. вариант с привязкой к серверу интересен, но не отвязывает инсталл от определенной машины, либо выдавать номерные инсталлы, что довольно геморно. А вот делать количество установок на одной машине с опорой на сервер - идеальный вариант- взломать ограничение будет почти невозможно, для этого придется ломать сервер, на котором лежит лог со счетчиком установок на каждой машине. Только придется делать пароли и выдавать каждому свой, либо делать опору на ид железа.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 07:34, 03-07-2011 | #2154


Аватара для Tco 03

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


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

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


Цитата TRMK:
Tо может можно привязать это к дате и времени? Допустим, он нормально функционирует, до 23.00 01.01.2012г., а потом выдает сообщение, например "Error". »
В шапке (Коллекция скриптов) как раз есть такой скрипт. Скрипт Dobrova, InstallTimeLimit .

Отправлено: 07:50, 03-07-2011 | #2155


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


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

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


а как в распаковшике вреарке изменить кнопку завершить

Отправлено: 14:18, 03-07-2011 | #2156


Аватара для No4noylis

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


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

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


Как добавить в инсталлятор *.png изображение????

-------
Нет ничего невозможного...

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

Отправлено: 15:38, 03-07-2011 | #2157


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


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

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


Доброго времени суток!!! Ребята помогите подалуйста решить проблемку)Вот скрипт
читать дальше »

#define MyAppName "Assassin s Creed II"

[Setup]
SourceDir=.
OutputDir=Setup
AppName={#MyAppName}
AppVerName={#MyAppName}
AppVersion=Assassin's Creed II
AppPublisher=Ubisoft Inc.
AppCopyright=Ubisoft Inc.
DefaultDirName={pf}\Assassin's Creed II
DefaultGroupName=Assassin's Creed II
AllowNoIcons=yes
OutputBaseFilename=setup
WizardImageFile=C:\fon.bmp
WizardSmallImageFile=C:\small.bmp
SetupIconFile=D:\Мои Документы\RePack(и)\1.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=none
SolidCompression=true
DiskSpanning=yes
DiskSliceSize=734003200
SlicesPerDisk=1
InternalCompressLevel=none
MergeDuplicateFiles=false

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

[CustomMessages]
rus.Welcome1=Вас приветствует Мастер установки игры
rus.Welcome2=Нажмите «Далее», чтобы продолжить, или «Отмена», %nчтобы выйти из программы установки.
rus.Finished1=Установка игры {#MyAppName} успешно завершена.
rus.Finished2=Игра {#MyAppName} была успешно установлена на Ваш компьютер. %n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск» или на Рабочем столе.
rus.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: additional; Description: Дополнительное ПО
Name: additional\dx; Description: "Обновить DirectX "; Flags: unchecked

[Files]
Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\1.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\10.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\11.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\12.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\13.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\14.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\15.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\16.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\17.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\18.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\2.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\4.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\5.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\6.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\7.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Slides\9.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Мои Документы\RePack(и)\Music\assassins creed.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak

Source: D:\Игры\Assassin's Creed II\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: {group}\Assassin's Creed II; Filename: {app}\AssassinsCreedIIGame.exe; WorkingDir: {app}
Name: {userdesktop}\Assassin's Creed II; Filename: {app}\AssassinsCreedIIGame.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Assassin's Creed II}; Filename: {uninstallexe}

[Run]
Filename: {src}\Redist\DirectX\DXSETUP.exe; Tasks: additional\dx; StatusMsg: Установка DirectX
Filename: {app}\Pack 1.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser
Filename: {app}\Pack 2.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser
Filename: {app}\Pack 3.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser
Filename: {app}\Pack 4.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser
Filename: {app}\Pack 5.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser
Filename: {app}\Pack 6.exe; WorkingDir: {app}; Parameters: -x -y -s2 -d.; StatusMsg: Идет распаковка файлов ...; Flags: runminimized runasoriginaluser

Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 1.exe; Flags: runhidden runasoriginaluser
Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 2.exe; Flags: runhidden runasoriginaluser
Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 3.exe; Flags: runhidden runasoriginaluser
Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 4.exe; Flags: runhidden runasoriginaluser
Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 5.exe; Flags: runhidden runasoriginaluser
Filename: cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q Pack 6.exe; Flags: runhidden runasoriginaluser

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

[code]
var
PageNameLabel, PageDescriptionLabel, WelcomeLabel1, WelcomeLabel2, FinishedHeadingLabel, FinishedLabel: TLabel;

const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrm Visible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('assassins creed.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('steam.cjstyles');
LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
Result:=True;
end;

procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'Assassins Creed II',True,True,7000,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),20,True,2,$FF000000);
ExtractTemporaryFile('1.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\1.jpg');
WizardForm.BeveledLabel.Enabled:=True;
PageNameLabel:= TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left:= ScaleX(110);
Top:= ScaleY(10);
Width:= ScaleX(370);
Height:= ScaleY(14);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $fffff;
Font.Style:= [fsBold];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;
PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= ScaleX(130);
Top:= ScaleY(25);
Width:= ScaleX(330);
Height:= ScaleY(30);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $ffffff;
Font.Style:= [fsItalic];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;


////////////////////// begin WelcomePage //////////////////////

WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$ffffff;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}')+#13#10+('{#MyAppName}');
Parent:=WizardForm.WelcomePage;
end;

WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(270), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$ffffff;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;

////////////////////// end WelcomePage //////////////////////

////////////////////// begin FinishedPage //////////////////////

FinishedHeadingLabel:= TLabel.Create(WizardForm);
with FinishedHeadingLabel do begin
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$ffffff;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;

FinishedLabel:=TLabel.Create(WizardForm);
with FinishedLabel do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(160), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$ffffff;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}'+#13#10+'{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;

////////////////////// end FinishedPage //////////////////////

with WizardForm do begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedLabel.Hide;
FinishedHeadingLabel.Hide;
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with WizardBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with WizardBitmapImage2 do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with MainPanel do begin
with WizardSmallBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= Mainpanel.Width;
Height:= MainPanel.Height;
end;
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('1.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\1.jpg');
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ExtractTemporaryFile('11.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\11.jpg');
ExtractTemporaryFile('12.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\12.jpg');
ExtractTemporaryFile('13.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\13.jpg');
ExtractTemporaryFile('14.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\14.jpg');
ExtractTemporaryFile('15.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\15.jpg');
ExtractTemporaryFile('16.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\16.jpg');
ExtractTemporaryFile('17.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\17.jpg');
ExtractTemporaryFile('18.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\18.jpg');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ShowWindow(WizardForm.Handle,0);
UnloadSkin();
ssDeInitialize;
end;

так проблемка в том что после установки, сам установщик самораспаковывающиеся фриарк архивы не удаляет, не знаю как исправить)))
А можно ли все это в один прогресс бар запихнуть???? Если да то подскажите пожалуйста
Заранее спасибо)

Отправлено: 19:37, 03-07-2011 | #2158


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


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

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


No4noylis, botva2 Тебе в помощь, там есть примеры вот и учись по ним
Скачать

frion, Если я правельно понял то можно эти архивы удалить так
читать дальше »
procedure CurStepChanged(CurStep: TSetupStep);
begin
{Удаления архивов из папки данной программы}
DeleteFile(ExpandConstant('{app}\Pack 1.exe'));
DeleteFile(ExpandConstant('{app}\Pack 2.exe'));
DeleteFile(ExpandConstant('{app}\Pack 3.exe'));
DeleteFile(ExpandConstant('{app}\Pack 4.exe'));
DeleteFile(ExpandConstant('{app}\Pack 5.exe'));
DeleteFile(ExpandConstant('{app}\Pack 6.exe'));
end;
З.Ы - Наклепал по памяти, но думаю должно помочь
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:10, 03-07-2011 | #2159


Аватара для No4noylis

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


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

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


Цитата VinTagE:
No4noylis, botva2 Тебе в помощь, там есть примеры вот и учись по ним
Скачать »
можешь загрузить на другой файлообенник, отсюда не скачиваеться(((((((

-------
Нет ничего невозможного...


Отправлено: 22:37, 03-07-2011 | #2160



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход