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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для ZVSRus

Старожил


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

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


Вот весь скрипт
Скрытый текст

#define MyAppName "Almeza MultiSet Professional"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DirExistsWarning=no
Uninstallable=not PortableCheck
WizardImageFile=1.bmp
WizardSmallImageFile=57x57.bmp
ShowComponentSizes=yes
SetupIconFile=1.ico
OutputBaseFilename=ACDSee5_Setup
;AppSupportPhone=
AppCopyright=Copyright (C) 2003-2015 My Company, Inc.
;AppPublisher=My Company, Inc.
;AppPublisherURL=http://www.example.com/
OutputDir=.
DisableReadyPage=yes


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

[Files]
Source: rus.bmp; Flags: dontcopy solidbreak
Source: eng.bmp; Flags: dontcopy solidbreak
Source: Installer.bmp; Flags: dontcopy solidbreak
Source: Portable.bmp; Flags: dontcopy solidbreak

Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: RusLang and InstallerCheck;
Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: EngLang and InstallerCheck;

Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{commondesktop}\Portable"; Flags: ignoreversion uninsrestartdelete; Check: RusLang and PortableCheck;
Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{commondesktop}\Portable"; Flags: ignoreversion uninsrestartdelete; Check: EngLang and PortableCheck;

Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs; Check: RusLang and InstallerCheck;
Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs; Check: RusLang and PortableCheck;


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

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: RusLang and InstallerCheck;
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: EngLang and InstallerCheck;

Filename: "{commondesktop}\Portable\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: RusLang and PortableCheck;
Filename: "{commondesktop}\Portable\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: EngLang and PortableCheck;

[UninstallDelete]
Name: {app}\multiset.ini; Type: filesandordirs

[code]
var
Component: TWizardPage;
Portable,Installer,LangRus,LangEng: TNewRadioButton;
FlagImage,InstallerImage,PortableImage: TBitmapImage;
Lang,IconsLabel: TLabel;
Icons,Startmenu: TNewCheckBox;
InstallerGroupBox,IconsGroupBox,LanguageGroupBox: TNewGroupBox;

dirBrowseForm: TSetupForm;
dirBrowse, dirOK, dirNO, dirback: TButton;
DirTreeView: TFolderTreeView;
Edit: TNewEdit;
BrowseBevel: TBevel;
BrowsePanel: TPanel;
BrowsePanel2: TPanel;
BrowseBevel2,BrowseBevel3: TBevel;
BrowseForm : TSetupForm;


function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\rus.bmp')) then ExtractTemporaryFile('rus.bmp');
if not FileExists(ExpandConstant('{tmp}\eng.bmp')) then ExtractTemporaryFile('eng.bmp');
if not FileExists(ExpandConstant('{tmp}\Installer.bmp')) then ExtractTemporaryFile('Installer.bmp');
if not FileExists(ExpandConstant('{tmp}\Portable.bmp')) then ExtractTemporaryFile('Portable.bmp');
Result := True;
end;

function RusLang: Boolean;
begin
Result:= LangRus.Checked;
end;
function EngLang: Boolean;
begin
Result:= LangEng.Checked;
end;

function IconsCheck: Boolean;
begin
Result:= Icons.Checked;
end;
function StartmenuCheck: Boolean;
begin
Result:= Startmenu.Checked;
end;

function InstallerCheck: Boolean;
begin
Result := Installer.Checked;
end;
function PortableCheck: Boolean;
begin
Result := Portable.Checked;
end;

procedure CopmpClick(Sender: TObject);
begin
case TNewRadioButton(Sender) of
Portable:
begin
PortableImage.Show;
Icons.Checked:=False;
Icons.Enabled:= Icons.Checked;
Startmenu.Checked:=False;
Startmenu.Enabled:= Startmenu.Checked;
WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + 'Almeza MultiSet Professional Portable';
//wizardform.GroupEdit.enabled:= false;
//wizardform.GroupBrowseButton.enabled:= false;
end;
Installer:
begin
PortableImage.Hide;
Icons.Checked:=True;
Icons.Enabled:= Icons.Checked;
Startmenu.Checked:=True;
Startmenu.Enabled:= Startmenu.Checked;
WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + 'Almeza MultiSet Professional';
//wizardform.GroupEdit.enabled:= true;
//wizardform.GroupBrowseButton.enabled:= true;
end;
end;
end;

procedure LangClick(Sender: TObject);
begin
case TNewRadioButton(Sender) of
LangRus:
begin
FlagImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\rus.bmp'));
FlagImage.Width := ScaleX(110);
FlagImage.Height := ScaleY(70);
FlagImage.Left := ScaleX(250);
end;
LangEng:
begin
FlagImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\eng.bmp'));
FlagImage.Width := ScaleX(110);
FlagImage.Height := ScaleY(70);
FlagImage.Left := ScaleX(250);
end;
end;
end;

procedure dirOkclick(Sender: TObject);
begin
dirBrowseForm.Close;
WizardForm.Enabled:=True;
WizardForm.DirEdit.Text:=Edit.Text;
end;

procedure dirBackClick(Sender: TObject);
begin
Edit.Text:=AddBackslash(ExpandConstant('{pf}\')+'{#MyAppName}');
DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{pf}\')), True);
end;

procedure dirNOclick(Sender: TObject);
begin
dirBrowseForm.Close;
WizardForm.Enabled:=true;
end;

procedure DirFolderChange(Sender: TObject);
Begin
Edit.Text:=AddBackslash(DirTreeView.Directory) + '{#MyAppName}';
if Portable.Checked then
Edit.Text:=AddBackslash(DirTreeView.Directory) + 'Almeza MultiSet Professional Portable';
end;

procedure FormClosedir(Sender: TObject; var Action: TCloseAction);
begin
WizardForm.Enabled:=true;
end;

procedure BrowseClick(Sender: TObject);
begin
dirBrowseForm := CreateCustomForm();
with dirBrowseForm do begin
ClientWidth := ScaleX(352);
ClientHeight := ScaleY(388);
CenterInsideControl(WizardForm, False);
Caption:='Обзор папок';
onClose:=@FormClosedir;

with tlabel.create(dirBrowseForm) do begin
SetBounds(ScaleX(15),ScaleY(15),ScaleX(350),ScaleY(15));
caption:='Выберите папку из списка и нажмите «ОK».';
parent:=dirBrowseForm;
Font.Color:=clBlack;
Font.Size:=8;

BrowseBevel := TBevel.Create(WizardForm);
BrowseBevel.SetBounds(ScaleX(0),ScaleY(40),ScaleX(352),ScaleY(2));
BrowseBevel.parent:=dirBrowseForm;

BrowseBevel3 := TBevel.Create(WizardForm);
BrowseBevel3.SetBounds(ScaleX(0),ScaleY(342),ScaleX(352),ScaleY(2));
BrowseBevel3.parent:=dirBrowseForm;

BrowsePanel := TPanel.Create(WizardForm);
with BrowsePanel do
begin
parent:=dirBrowseForm;
Left := ScaleX(5);
Top := ScaleY(45);
Width := ScaleX(342);
Height := ScaleY(292);
Caption := '';
end;
BrowsePanel2 := TPanel.Create(WizardForm);
with BrowsePanel2 do
begin
BrowsePanel2.Parent := BrowsePanel;
Left := ScaleX(5);
Top := ScaleY(5);
Width := ScaleX(332);
Height := ScaleY(282);
BevelOuter := bvLowered;
Caption := '';
end;
BrowseBevel2 := TBevel.Create(WizardForm);
with BrowseBevel2 do
begin
BrowseBevel2.Parent := BrowsePanel2;
Left := ScaleX(5);
Top := ScaleY(5);
Width := ScaleX(322);
Height := ScaleY(272);
Style := bsRaised;
end;

Edit:= TNewEdit.Create(dirBrowseForm);
with edit do begin
SetBounds(ScaleX(10),ScaleY(10),ScaleX(311),ScaleY(21));
Text:=WizardForm.DirEdit.text;
Parent:= BrowsePanel2;
Font.Color:=clBlack;
end;

DirTreeView:= TFolderTreeView.Create(dirBrowseForm)
with DirTreeView do begin
SetBounds(ScaleX(10),ScaleY(35),ScaleX(311),ScaleY(235));
OnChange:=@DirFolderChange;
Parent:=BrowsePanel2;
end;

dirback:=tbutton.create(dirBrowseForm)
with dirback do begin
SetBounds(ScaleX(16),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=dirBrowseForm;
Caption:='Сброс';
onclick:=@dirBackClick;
end;

dirok:=tbutton.create(dirBrowseForm)
with dirok do begin
SetBounds(ScaleX(126),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=dirBrowseForm;
Caption:='OK';
onclick:=@dirOKclick;
end;

dirno:=tbutton.create(dirBrowseForm)
with dirno do begin
SetBounds(ScaleX(236),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=dirBrowseForm;
Caption:='Отмена';
onclick:=@dirNOclick;
end;
end;
end;
DirTreeView.ChangeDirectory(AddBackslash(WizardForm.dirEdit.Text), true);
Edit.Text:=(DirTreeView.Directory);
dirBrowseForm.Show;
WizardForm.Enabled:=false;
end;

procedure InitializeWizard();
begin
WizardForm.DirBrowseButton.Visible:=false;
Component := CreateCustomPage(wpInfoBefore, 'Выбор типа и компонентов установки', '...');

FlagImage := TBitmapImage.Create(WizardForm);
with FlagImage do
begin
Name := 'FlagImage';
Parent := Component.Surface;
Left := ScaleX(250);
Top := ScaleY(167);
Width := ScaleX(110);
Height := ScaleY(70);
end;

InstallerImage := TBitmapImage.Create(WizardForm);
with InstallerImage do
begin
Name := 'InstallerImage';
Parent := Component.Surface;
Left := ScaleX(220);
Top := ScaleY(5);
Width := ScaleX(189);
Height := ScaleY(160);
InstallerImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Installer.bmp'));
end;

PortableImage := TBitmapImage.Create(WizardForm);
with PortableImage do
begin
Name := 'PortableImage';
Parent := Component.Surface;
Left := ScaleX(220);
Top := ScaleY(5);
Width := ScaleX(186);
Height := ScaleY(160);
PortableImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Portable.bmp'));
end;

InstallerGroupBox := TNewGroupBox.Create(WizardForm);
with InstallerGroupBox do
begin
Parent := Component.Surface;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(205);
Height := ScaleY(74);
Caption := 'Тип:';
end;

Portable := TNewRadioButton.Create(WizardForm);
with Portable do
begin
Parent := InstallerGroupBox;
Left := ScaleX(5);
Top := ScaleY(47);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Распаковка портативной версии';
OnClick:=@CopmpClick;
end;

IconsGroupBox := TNewGroupBox.Create(WizardForm);
with IconsGroupBox do
begin
Parent := Component.Surface;
Left := ScaleX(0);
Top := ScaleY(80);
Width := ScaleX(205);
Height := ScaleY(74);
Caption := 'Компоненты:';
end;

Icons := TNewCheckBox.Create(WizardForm);
with Icons do
begin
Parent := IconsGroupBox;
Left := ScaleX(5);
Top := ScaleY(20);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Ярлык(и) на «Рабочем столе»';
Checked:=True;
end;

Startmenu := TNewCheckBox.Create(WizardForm);
with Startmenu do
begin
Parent := IconsGroupBox;
Left := ScaleX(5);
Top := ScaleY(47);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Ярлык в меню «Пуск»';
Checked:=True;
end;

Installer := TNewRadioButton.Create(WizardForm);
with Installer do
begin
Parent := InstallerGroupBox;
Left := ScaleX(5);
Top := ScaleY(20);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Установка обычной версии';
OnClick:=@CopmpClick;
Checked:=True;
end;

LanguageGroupBox := TNewGroupBox.Create(WizardForm);
with LanguageGroupBox do
begin
Parent := Component.Surface;
Left := ScaleX(0);
Top := ScaleY(160);
Width := ScaleX(205);
Height := ScaleY(74);
Caption := 'Язык интерфейса:';
end;;

LangRus := TNewRadioButton.Create(WizardForm);
with LangRus do
begin
Parent := LanguageGroupBox;
Left := ScaleX(5);
Top := ScaleY(20);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Язык интерфейса Русский';
OnClick:=@LangClick;
Checked:=True;
end;

LangEng := TNewRadioButton.Create(WizardForm);
with LangEng do
begin
Parent := LanguageGroupBox;
Left := ScaleX(5);
Top := ScaleY(47);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Язык интерфейса Английский';
OnClick:=@LangClick;
end;

dirBrowse:=tbutton.create(WizardForm);
with dirBrowse do begin
Parent := WizardForm.SelectDirPage;
SetBounds(ScaleX(342),ScaleY(80),ScaleX(75),ScaleY(23));
Caption:='Обзор...';
OnClick:=@BrowseClick;
end;
end;

function ShouldSkipPage(PageID: Integer): Boolean; // Должен пропустить страницу
begin
if Portable.Checked then
if (PageID = 8) then
Result:= True;
end;

procedure CurStepChanged(CurStep: TSetupStep); // Измененный шаг
begin
if (CurStep = ssPostInstall) then
if Installer.Checked and RusLang then
SetIniString('general', 'language', 'russian', ExpandConstant('{app}\multiset.ini'));
if Installer.Checked and EngLang then
SetIniString('general', 'language', 'english', ExpandConstant('{app}\multiset.ini'));
end;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure CurPageChanged(CurPageID: Integer); // Измененная страница
begin
case CurPageID of
wpSelectDir:
if Portable.Checked then
begin
WizardForm.PageNameLabel.Caption:='Выбор папки распаковки';
WizardForm.PageDescriptionLabel.Caption:='В какую папку вы хотите распаковать {#SetupSetting("AppName")}?';
WizardForm.SelectDirLabel.Caption:='Программа распакует {#SetupSetting("AppName")} в следующую папку.';
WizardForm.SelectDirBrowseLabel.Caption:='Нажмите «Распаковать» чтобы начать распаковку. Если вы хотите выбрать другую папку, нажмите «Обзор».';
WizardForm.NextButton.Caption:='Распаковать';
WizardForm.Caption:= 'Распаковка — {#SetupSetting("AppName")}'
WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + 'Almeza MultiSet Professional Portable';
end else begin
WizardForm.NextButton.Caption:= 'Далее';
WizardForm.PageNameLabel.Caption:= 'Выбор папки установки';
WizardForm.Caption:= 'Установка — {#SetupSetting("AppName")}';
WizardForm.PageDescriptionLabel.Caption:= 'В какую папку вы хотите установить {#SetupSetting("AppName")}?';
WizardForm.SelectDirLabel.Caption:= 'Программа установит {#SetupSetting("AppName")} в следующую папку.';
WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + '{#SetupSetting("AppName")}';
WizardForm.SelectDirBrowseLabel.Caption:='Нажмите «Далее» чтобы продолжить. Если вы хотите выбрать другую папку, нажмите «Обзор».';
end;
//wpInstalling:
//begin
//WizardForm.PageNameLabel.Caption:='Распаковка';
//WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional Portable распакуется на ваш компьютер.';
//end else begin
//WizardForm.PageNameLabel.Caption:='Установка';
//WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional установится на ваш компьютер.';
//end;
//end;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
wpSelectProgramGroup:
if Installer.Checked then
begin
WizardForm.NextButton.Caption:= 'Установить';
WizardForm.SelectStartMenuFolderBrowseLabel.Caption:= 'Нажмите «Установить», чтобы начать установку. Если вы хотите выбрать другую папку, нажмите «Обзор».';
end;
wpInstalling:
if Installer.Checked then
begin
WizardForm.PageNameLabel.Caption:='Установка';
WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional установится на ваш компьютер.';
end else begin
WizardForm.PageNameLabel.Caption:='Распаковка';
WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional Portable распакуется на ваш компьютер.';
end;
end;
end;

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Последний раз редактировалось ZVSRus, 04-11-2015 в 18:48.


Отправлено: 18:34, 04-11-2015 | #1041



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

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


Аватара для Dodakaedr

Ветеран


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

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


Цитата ZVSRus:
Есть код возвращения исходного пути установки и распаковки, не могу найти где ошибка.
Помогите исправить. »
Если в условии выполняется несколько команд то надо брать в begin ... end;
Код: Выделить весь код
procedure dirBackClick(Sender: TObject);
begin
if Portable.Checked then begin
Edit.Text:=(ExpandConstant('{src}\')+'ACDSeePortable');
DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{src}\')), True) end else begin
Edit.Text:=AddBackslash(ExpandConstant('{pf}\')+'{#MyAppName}');
DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{pf}\')), True);
end;
end;

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

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

Отправлено: 19:08, 04-11-2015 | #1042


Аватара для ZVSRus

Старожил


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

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


Большое спасибо помогло!

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Отправлено: 20:00, 04-11-2015 | #1043


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

Ветеран


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

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


подскажите, пожалуйста, какие параметры в инно [setup] отвечают за цифровую подпись установщика?
когда-то помнил но вот подзабыл

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


Отправлено: 10:30, 05-11-2015 | #1044


SHVtYW4=


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

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


R.i.m.s.k.y., Справка » Секция скриптов » Директивы секции [Setup] » SignTool

Также: "Справка » Вкладка "Указатель"
В окне под "Введите ключевое слово для поиска:", введите: signature

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

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

Отправлено: 10:50, 05-11-2015 | #1045


Забанен


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

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


ребята помогите с дополнительным по убираю галочку а по всё равно устанавливается

Код: Выделить весь код
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
AppId={{04DDCE42-843E-4F36-81F7-2B5D2702C034}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

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

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\WW-W\Desktop\Freemake Video Converter\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: soft\MicrosoftVisualC.exe; DestDir: "{tmp}"

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

 [Types]
Name: "polnaya"; Description: "Полная установка"
Name: "viborochnaya"; Description: "Выборочная установка"; Flags: iscustom

[Components]
Name: "MicrosoftVisualC"; Description: "Microsoft Visual C++"; Types: polnaya viborochnaya

[Run]
FileName: "{tmp}\MicrosoftVisualC.exe"; StatusMsg: "Выполнение программы Microsoft Visual C++"; Flags: skipifsilent hidewizard

Отправлено: 11:50, 07-11-2015 | #1046


SHVtYW4=


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

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


Цитата vadjliss:
убираю галочку а по всё равно устанавливается »
Не увидел чтоб вы задействовали компонент.

Отметил красным жирным шрифтом:
Скрытый текст
Код: Выделить весь код
[Components]
Name: "MicrosoftVisualC"; Description: "Microsoft Visual C++"; Types: polnaya viborochnaya

[Run]
FileName: "{tmp}\MicrosoftVisualC.exe"; StatusMsg: "Выполнение программы Microsoft Visual C++"; Flags: skipifsilent hidewizard; Components: MicrosoftVisualC
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 07-11-2015 | #1047


Забанен


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

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


Nordek

Спасибо

Отправлено: 12:27, 07-11-2015 | #1048


Ветеран


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

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


Подскажите пожалуйста.
Создавал инсталятор с уменьшенными размерами формы(картинка 460х200).
Кусок скрипта:
Код: Выделить весь код
with WizardForm do
begin
DirBrowseButton.Left:= ScaleX(360); //Местоположение кнопки "Обзор" от левого края, на странице выбора пути установки
DirBrowseButton.Top:= ScaleY(90); //Местоположение кнопки "Обзор" сверху, на странице выбора пути установки
DirEdit.Left:= DirEdit.Left + ScaleX(147); //Местоположение панели, где отображается путь от левого края, на странице выбора пути установки
DirEdit.Top:= ScaleY(90); //Местоположение панели, где отображается путь сверху, на странице выбора пути установки
DirEdit.Width:=ScaleX(205);
При изменении размера шрифта в windows(средний 125%) вся форма нормальная, но кнопка обзор не на месте. При обычном отображении(мелкий 100%) все на месте. Как правильно задать координаты в форме чтоб при любом изменении размеров шрифта все компоненты формы были на своих местах?

Отправлено: 13:51, 07-11-2015 | #1049


Аватара для ZVSRus

Старожил


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

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


Dodakaedr
Есть страница SelectDirPage на которой отображены компоненты со страницы SelectProgramGroupPage т.е. GroupEdit, GroupBrowseButton и т.д. Как сделать чтобы при выборе InstallerRadioButton страница отображалась как есть, а при выборе PortableRadioButton компоненты относящиеся к SelectProgramGroupPage не отображались.

Сам скрипт
Скрытый текст

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030108704000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010 D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724 E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D6550616765084E65787450616765070D4 36F6D706F6E656E74506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000F 110544E65774E6F7465626F6F6B5061676509496E6E6572506167650D4578706C69636974576964746803F1010E4578706C6 963697448656967687403390100F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6 F7465626F6F6B506167650B4C6963656E7365506167650C50726576696F757350616765070D436F6D706F6E656E745061676 50D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6 F6B506167650D53656C656374446972506167650D4578706C69636974576964746803A1010E4578706C69636974486569676 87403ED00000010544E65774E6F7465626F6F6B506167650D436F6D706F6E656E74506167650743617074696F6E142400000 0D092D18BD0B1D0BED18020D182D0B8D0BFD0B020D183D181D0B0D0BDD0BED0B2D0BAD0B80B4465736372697074696F6E142 A000000D092D18BD0B1D0B5D180D0B8D182D0B520D182D0B8D0BF20D183D181D182D0B0D0BDD0BED0B2D0BAD0B80C5072657 6696F757350616765070B57656C636F6D6550616765084E65787450616765070B4C6963656E736550616765000C544E65774 7726F7570426F7811496E7374616C6C657247726F7570426F78044C656674020003546F70020005576964746803CD0006486 56967687402460743617074696F6E1419000000D0A2D0B8D0BF20D183D181D182D0B0D0BDD0BED0B2D0BAD0B8085461624F7 26465720200000F544E6577526164696F427574746F6E09496E7374616C6C6572044C656674020A03546F700210055769647 46803BE000648656967687402110743617074696F6E142E000000D0A3D181D182D0B0D0BDD0BED0B2D0BAD0B020D0BED0B1D 18BD187D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B807436865636B656409085461624F726465720200074F6E436C69636 B070E496E7374616C6C6572436C69636B00000F544E6577526164696F427574746F6E08506F727461626C65044C656674020 A03546F70022B05576964746803BE000648656967687402110743617074696F6E1438000000D0A0D0B0D181D0BFD0B0D0BAD 0BED0B2D0BAD0B020D0BFD0BED180D182D0B0D182D0B8D0B2D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B8085461624F726 465720201074F6E436C69636B070D506F727461626C65436C69636B0000000000000000448656967687403ED000000F11054 4E65774E6F7465626F6F6B506167650D53656C656374446972506167650D4578706C69636974576964746803A1010E457870 6C6963697448656967687403ED00000010544E65774E6F7465626F6F6B506167650D436F6D706F6E656E7450616765074361 7074696F6E1426000000D092D18BD0B1D0BED18020D182D0B8D0BFD0B020D183D181D182D0B0D0BDD0BED0B2D0BAD0B80B44 65736372697074696F6E142A000000D092D18BD0B1D0B5D180D0B8D182D0B520D182D0B8D0BF20D183D181D182D0B0D0BDD0 BED0B2D0BAD0B80C50726576696F757350616765070B57656C636F6D6550616765084E65787450616765070B4C6963656E73 6550616765000C544E657747726F7570426F7811496E7374616C6C657247726F7570426F78044C656674020003546F700200 05576964746803CD000648656967687402460743617074696F6E1419000000D0A2D0B8D0BF20D183D181D182D0B0D0BDD0BE D0B2D0BAD0B8085461624F726465720200000F544E6577526164696F427574746F6E09496E7374616C6C6572044C65667402 0A03546F70021005576964746803BE000648656967687402110743617074696F6E142E000000D0A3D181D182D0B0D0BDD0BE D0B2D0BAD0B020D0BED0B1D18BD187D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B807436865636B656409085461624F7264 657202000754616253746F7009074F6E436C69636B070E496E7374616C6C6572436C69636B00000F544E6577526164696F42 7574746F6E08506F727461626C65044C656674020A03546F70022B05576964746803BE000648656967687402110743617074 696F6E1438000000D0A0D0B0D181D0BFD0B0D0BAD0BED0B2D0BAD0B020D0BFD0BED180D182D0B0D182D0B8D0B2D0BDD0BED0 B920D0B2D0B5D180D181D0B8D0B8085461624F726465720201074F6E436C69636B070D506F727461626C65436C69636B0000 000000000000

[code]
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
ComponentPage: TWizardPage;
InstallerGroupBox: TNewGroupBox;
Installer: TNewRadioButton;
Portable: TNewRadioButton;

procedure InstallerClick(Sender: TObject); forward;
procedure PortableClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
{ Creates custom wizard page }
ComponentPage := CreateCustomPage(wpWelcome, 'Выбор типа установки', 'Выберите тип установки');

{ InstallerGroupBox }
InstallerGroupBox := TNewGroupBox.Create(WizardForm);
with InstallerGroupBox do
begin
Parent := ComponentPage.Surface;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(205);
Height := ScaleY(70);
Caption := 'Тип установки';
end;

{ Installer }
Installer := TNewRadioButton.Create(WizardForm);
with Installer do
begin
Parent := InstallerGroupBox;
Left := ScaleX(10);
Top := ScaleY(16);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Установка обычной версии';
Checked := True;
OnClick := @InstallerClick;
end;

{ Portable }
Portable := TNewRadioButton.Create(WizardForm);
with Portable do
begin
Parent := InstallerGroupBox;
Left := ScaleX(10);
Top := ScaleY(43);
Width := ScaleX(190);
Height := ScaleY(17);
Caption := 'Распаковка портативной версии';
OnClick := @PortableClick;
end;

Installer.TabOrder := 0;
Portable.TabOrder := 1;

InstallerGroupBox.TabOrder := 0;

{ ReservationBegin }
// Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;


procedure PortableClick(Sender: TObject);
begin

end;

procedure InstallerClick(Sender: TObject);
begin

end;

////////////////////////////////////////////////////////////////////////////////
var //
StartMenuIcon,DesktopIcon: TCheckBox; //
//
function MakeDesktopIcon: Boolean; begin Result:=DesktopIcon.Checked; end; //
function MakeStartMenuIcon: Boolean; begin Result:=StartMenuIcon.Checked;end; //
//
procedure NoStartMenuIcon(Sender: TObject); //
begin //
if StartMenuIcon.Checked = true then //
begin //
wizardform.GroupEdit.enabled:= false; //
wizardform.GroupBrowseButton.enabled:= false; //
end else begin //
wizardform.GroupEdit.enabled:= true; //
wizardform.GroupBrowseButton.enabled:= true; //
end; //
end; //
////////////////////////////////////////////////////////////////////////////////

procedure InitializeWizard();
begin
RedesignWizardForm;
WizardForm.DiskSpaceLabel.Hide;
//////////////////////////////////////////////////////////////////////////////////////////////
begin //
//
wizardform.SelectDirBrowseLabel.top:= wizardform.GroupEdit.top - ScaleY(48); //
wizardform.SelectDirLabel.left:= wizardform.GroupEdit.left + ScaleY(40); //
//
wizardform.GroupEdit.parent:= wizardform.SelectDirPage; //
wizardform.GroupEdit.top:= wizardform.GroupEdit.top + ScaleY(71); //
//
wizardform.GroupBrowseButton.parent:= wizardform.SelectDirPage; //
wizardform.GroupBrowseButton.top:= wizardform.GroupBrowseButton.top + ScaleY(70); //
//
wizardform.DirEdit.top:= wizardform.GroupEdit.top - ScaleY(90); //
wizardform.DirBrowseButton.top:= wizardform.GroupEdit.top - ScaleY(92); //
//
wizardform.SelectGroupBitmapImage.parent:= wizardform.SelectDirPage; //
wizardform.SelectGroupBitmapImage.left:= wizardform.GroupEdit.left + ScaleY (0); //
wizardform.SelectGroupBitmapImage.top:= wizardform.GroupEdit.top - ScaleY(64); //
//
wizardform.SelectStartMenuFolderLabel.parent:= wizardform.SelectDirPage; //
wizardform.SelectStartMenuFolderLabel.left:= wizardform.GroupEdit.left + ScaleY (40); //
wizardform.SelectStartMenuFolderLabel.top:= wizardform.GroupEdit.top - ScaleY(56); //
//
wizardform.SelectStartMenuFolderBrowseLabel.parent:= wizardform.SelectDirPage; //
wizardform.SelectStartMenuFolderBrowseLabel.left:= wizardform.GroupEdit.left + ScaleY (0); //
wizardform.SelectStartMenuFolderBrowseLabel.top:= wizardform.GroupEdit.top - ScaleY(30); //
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
DesktopIcon := TCheckBox.Create(WizardForm); //
DesktopIcon.Parent := WizardForm.SelectDirPage; //
DesktopIcon.Caption := 'Добавить ярлык на Рабочий стол'; //
DesktopIcon.SetBounds(ScaleX(0),WizardForm.DirEdit.Top+ScaleY(140),ScaleX(300),ScaleY(25)); //
DesktopIcon.TabOrder := 0; //
DesktopIcon.Checked:= true; //
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
StartMenuIcon := TCheckBox.Create(WizardForm); //
StartMenuIcon.Parent := WizardForm.SelectDirPage; //
StartMenuIcon.Caption := 'Не создавать папку в меню Пуск'; //
StartMenuIcon.SetBounds(ScaleX(220),WizardForm.DirEdit.Top+ScaleY(140),ScaleX(300),ScaleY(25)); //
StartMenuIcon.TabOrder := 0; //
StartMenuIcon.Checked:= false; //
StartMenuIcon.OnClick:= @NoStartMenuIcon; //
end; //
//////////////////////////////////////////////////////////////////////////////////////////////////
end;

Отправлено: 12:50, 08-11-2015 | #1050



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты 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




 
Переход