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

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

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

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

Ветеран


Contributor


Сообщения: 1273
Благодарности: 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] - Скачать;


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

Отправлено: 19:06, 28-03-2013

 

Аватара для diman_21Ru

Старожил


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

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


на 5.5.1 наботает все окей спасибо

Отправлено: 12:56, 27-12-2013 | #1781



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

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


Аватара для Ivan_009

Ветеран


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

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


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

PHP код: Выделить весь код

[Setup]
AppName={#GameName}
AppVerName={#GameName} {#Version}
AppPublisher={#Publisher}
DefaultDirName={pf}{#GameName}
DefaultGroupName={#GameName}
OutputDir=Setup

[Languages]
NameRusMessagesFilecompiler:LanguagesRussian.isl

[Files]
SourceInstallFiles*; DestDir: {app}; FlagsignoreversionAttribshidden system;

[
code]

#include "Modules\botva2.iss"


var
Work1,Work2,Work3,Work4,Work5,Work6,WizardImageLongint;
//StatusPanel: TPanel;
CaptionLabel,StLabelTLabel;
//---Skin
procedure LoadSkin(lpszPathStringlpszIniFileNameString); external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall delayload setuponly';
procedure LoadSkinU(lpszPathStringlpszIniFileNameString); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
//---Skin
//---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';
//---Splash

function InitializeSetup(): Boolean;
begin
//---Botva2
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
if 
not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
//---Botva2
//---Skin
ExtractTemporaryFile('Skin.skin');
LoadSkin(ExpandConstant('{tmp}\Skin.skin'), '');
//---Skin
Result:= true
end
;

procedure InitializeWizard;
begin
with WizardForm 
do begin
Width
:=ScaleX(796);   
Height:=ScaleY(622); 
Position:=poScreenCenter
CancelButton.SetBounds(ScaleX(691), ScaleY(570), ScaleX(95), ScaleY(20));
NextButton.SetBounds(ScaleX(590), ScaleY(570), ScaleX(95), ScaleY(20));
BackButton.SetBounds(ScaleX(489), ScaleY(570), ScaleX(95), ScaleY(20));
InnerNotebook.Hide;
OuterNotebook.Hide;
Bevel.Hide;
Color:=$000000;

with WizardForm.DirEdit do
begin
Left 
:= ScaleX(4);
Top := ScaleY(568);
Width := ScaleX(483);
Height := ScaleY(20);
Parent:=WizardForm;
end;

with WizardForm.GroupEdit do
begin
Left 
:= ScaleX(4);
Top := ScaleY(568);
Width := ScaleX(483);
Height := ScaleY(20);
Parent:=WizardForm;
end;

//---Splash
//ExtractTemporaryFile('Splash.png');
//ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.png',1000,3000,1000,0,255,False,$FFFFFF,10);
//---Splash
//---Botva2
Work1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\1.png'),0,0,790,593,True,True);
Work2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\2.png'),0,0,790,593,True,True);
Work3:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\3.png'),0,0,790,593,True,True);
Work4:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\4.png'),0,0,790,593,True,True);
Work5:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\5.png'),0,0,790,593,True,True);
Work6:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\6.png'),0,0,790,593,True,True);
WizardImage:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\WizardImage.jpg'),1,15,788,481,True,True);

ImgSetVisibility(Work1False);
ImgSetVisibility(Work2False);
ImgSetVisibility(Work3False);
ImgSetVisibility(Work4False);
ImgSetVisibility(Work5False);
ImgSetVisibility(Work6False);
//---Botva2
end;
ImgApplyChanges(WizardForm.Handle);
end;

procedure CurPageChanged(CurPageIDInteger);
begin
ImgSetVisibility
(Work1False);
ImgSetVisibility(Work2False);
ImgSetVisibility(Work3False);
ImgSetVisibility(Work4False);
ImgSetVisibility(Work5False);
ImgSetVisibility(Work6False);
WizardForm.DirEdit.Hide;
WizardForm.GroupEdit.Hide;
case 
CurPageID of
wpWelcome
:
begin
ImgSetVisibility
(work1,True);
end;
wpSelectDir:
begin
ImgSetVisibility
(work2,True);
WizardForm.DirEdit.Show;
end;
wpSelectProgramGroup:
begin
ImgSetVisibility
(work3,True);
WizardForm.GroupEdit.Show;
end;
wpInstalling:
begin
ImgSetVisibility
(work4,True);
end;
wpFinished:
begin
ImgSetVisibility
(work5,True);
end;
end;
ImgApplyChanges(WizardForm.Handle);
end;

//---Skin
function InitializeUninstall(): Boolean;
begin
FileCopy
(ExpandConstant('{app}\isskin.dll'),
ExpandConstant('{tmp}\isskin.dll'), False);
FileCopy(ExpandConstant('{app}\Skin.skin'),
ExpandConstant('{tmp}\Skin.skin'), False); LoadSkinU(ExpandConstant('{tmp}\Skin.skin'), '');
Result:=True;
end;
//---Skin

procedure CancelButtonClick(CurPageIDInteger; var CancelConfirmBoolean);
begin
Confirm
:=False;
Cancel:=True;
end;

procedure DeinitializeSetup();
begin
//---Skin
UnloadSkin();
//---Skin
//---Botva2
gdipShutdown;
//---Botva2
end;

//---Skin
procedure DeinitializeUninstall();
begin
UnloadSkinU
();
end;
//---Skin 


Отправлено: 22:09, 28-12-2013 | #1782


Старожил


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

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


Ivan_009
читать дальше »
#define GameName "Dead Space 3"
#define Version "Dead Space 3"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#GameName}
AppVerName={#GameName} {#Version}

DefaultDirName={pf}{#GameName}
DefaultGroupName={#GameName}
OutputDir=Setup

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



[Files]
Source: InstallFiles\*; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system;


[Icons]
Name: "{group}\{#GameName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#GameName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#GameName}"; Filename: "{app}\{#MyAppExeName}";


[code]

#include "Modules\botva2.iss"


var
Work1,Work2,Work3,Work4,Work5,Work6,WizardImage: Longint;
//StatusPanel: TPanel;
CaptionLabel,StLabel: TLabel;
//---Skin
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall delayload 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';
//---Skin
//---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';
//---Splash

function InitializeSetup(): Boolean;
begin
//---Botva2
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
//---Botva2
//---Skin
ExtractTemporaryFile('Skin.skin');
LoadSkin(ExpandConstant('{tmp}\Skin.skin'), '');
//---Skin
Result:= true
end;

procedure InitializeWizard;
begin
with WizardForm do begin
Width:=ScaleX(796);
Height:=ScaleY(622);
Position:=poScreenCenter;
CancelButton.SetBounds(ScaleX(691), ScaleY(570), ScaleX(95), ScaleY(20));
NextButton.SetBounds(ScaleX(590), ScaleY(570), ScaleX(95), ScaleY(20));
BackButton.SetBounds(ScaleX(489), ScaleY(570), ScaleX(95), ScaleY(20));
InnerNotebook.Hide;
OuterNotebook.Hide;
Bevel.Hide;
Color:=$000000;

//---Splash
//ExtractTemporaryFile('Splash.png');
//ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);
//---Splash
//---Botva2
Work1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\1.png'),0,0,790,593,True,True);
Work2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\2.png'),0,0,790,593,True,True);
Work3:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\3.png'),0,0,790,593,True,True);
Work4:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\4.png'),0,0,790,593,True,True);
Work5:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\5.png'),0,0,790,593,True,True);
Work6:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\6.png'),0,0,790,593,True,True);
WizardImage:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\WizardImage.jpg'),1,15,788,481,True,Tru e);
ImgApplyChanges(WizardForm.Handle);

with WizardForm.DirEdit do
begin
Left := ScaleX(4);
Top := ScaleY(568);
Width := ScaleX(483);
Height := ScaleY(20);
Parent:=WizardForm;
end;

with WizardForm.GroupEdit do
begin
Left := ScaleX(4);
Top := ScaleY(568);
Width := ScaleX(483);
Height := ScaleY(20);
Parent:=WizardForm;
end;

with WizardForm.ProgressGauge do
begin
Left := ScaleX(10);
Top := ScaleY(220);
Width := ScaleX(390);
Parent:= WizardForm;
end;
end;
end;

procedure ShowComponents(CurPageID: Integer);
begin
WizardForm.DirEdit.Hide;
WizardForm.GroupEdit.Hide;
WizardForm.ProgressGauge.Hide;
case CurPageID of
wpWelcome:
begin
ImgSetVisibility(work1,True);
end;
wpSelectDir:
begin
ImgSetVisibility(work2,True);
WizardForm.DirEdit.Show;
end;
wpSelectProgramGroup:
begin
ImgSetVisibility(work3,True);
WizardForm.GroupEdit.Show;
end;
wpInstalling:
begin
ImgSetVisibility(work4,True);
WizardForm.ProgressGauge.show;
end;
wpFinished:
begin
ImgSetVisibility(work5,True);
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
ImgSetVisibility(Work1, False);
ImgSetVisibility(Work2, False);
ImgSetVisibility(Work3, False);
ImgSetVisibility(Work4, False);
ImgSetVisibility(Work5, False);
ImgSetVisibility(Work6, False);
ShowComponents(CurPageID);
ImgApplyChanges(WizardForm.Handle);
end;

//---Skin
function InitializeUninstall(): Boolean;
begin
FileCopy(ExpandConstant('{app}\isskin.dll'),
ExpandConstant('{tmp}\isskin.dll'), False);
FileCopy(ExpandConstant('{app}\Skin.skin'),
ExpandConstant('{tmp}\Skin.skin'), False); LoadSkinU(ExpandConstant('{tmp}\Skin.skin'), '');
Result:=True;
end;
//---Skin

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False;
Cancel:=True;
end;

procedure DeinitializeSetup();
begin
//---Skin
UnloadSkin();
//---Skin
//---Botva2
gdipShutdown;
//---Botva2
end;

//---Skin
procedure DeinitializeUninstall();
begin
UnloadSkinU();
end;
//---Skin
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:36, 28-12-2013 | #1783


Аватара для diman_21Ru

Старожил


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

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


Всем привет как можно убрать эту страницу , зарание спасибо

Последний раз редактировалось diman_21Ru, 30-01-2014 в 20:30.


Отправлено: 11:55, 29-12-2013 | #1784


Старожил


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

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


diman_21Ru
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = SystemPage.ID) then
Result:= True;
end;

Отправлено: 13:36, 29-12-2013 | #1785


Аватара для diman_21Ru

Старожил


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

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


спасибо большое

Отправлено: 15:19, 29-12-2013 | #1786


Аватара для diman_21Ru

Старожил


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

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


Всем Привет кто знает самый простой способ добавление Музыки в скрипт,зарание спасибо

Отправлено: 12:55, 31-12-2013 | #1787


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


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

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


Помогите пожалуйста. нужен самый простой скрипт, в котором страница выбора компонентов, страница распаковки и страница завершения. Архивы будут запакованы FreeArc.
Идея такая: запускаем инсталл, выбираем один из двух компонентов (у компонентов будет один архив общий, а второй разный), самостоятельная распаковка во временную папку, страница завершения, автоматический запуск .exe из временной папки(можно на странице завершения сделать не убираемую галочку "Запуск установки").
И еще чтобы инсталл не создавал никаких папок в меню Пуск, ярлыков, и не было у него деинсталлятора и значка в Панели управления-Программы и компоненты.
Если кто напишет такое, буду очень благодарен.

Последний раз редактировалось Karbid87, 01-01-2014 в 14:41.


Отправлено: 14:19, 01-01-2014 | #1788


Аватара для diman_21Ru

Старожил


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

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


Всем Привет как в начале уменьшить размер текста а то полное название не влезает , спасибо зарание

Последний раз редактировалось diman_21Ru, 30-01-2014 в 20:30.


Отправлено: 14:02, 02-01-2014 | #1789


SHVtYW4=


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

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


diman_21Ru, Найди WelcomeLabel1 и там регулируй » Left, Top, Width, Height

Например
Код: Выделить весь код
[Code]
procedure InitializeWizard();
begin
  WizardForm.WelcomeLabel1.Left := ScaleX(104);
  WizardForm.WelcomeLabel1.Top := ScaleY(40);
  WizardForm.WelcomeLabel1.Width := ScaleX(389);
end;

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 17:58, 02-01-2014 | #1790



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход