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

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

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

Ветеран


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


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

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


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

 

Аватара для nik1967

Старожил


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

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


Vista-w,
На сколько я знаю (может и не прав), дефолтный SelectDirPage: TNewNotebookPage не изменить, не передвинуть нельзя. Только если скрыть, и нарисовать новый.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Отправлено: 17:05, 21-02-2011 | #831



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

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


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


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

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


my-94,
Вот бери http://rghost.ru/4473090

nik1967,
Вот это попа(((

Отправлено: 17:08, 21-02-2011 | #832


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


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

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


Vista-w


Спасибо

Отправлено: 19:54, 21-02-2011 | #833


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


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

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


my-94,
н.з)

Отправлено: 20:40, 21-02-2011 | #834


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


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

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


Цитата Vista-w:
решить проблему? »
ну, так можно передвинуть


[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=userdocs:InnoSetupTest.

[code]
procedure InitializeWizard();
begin
with WizardForm do
begin
ClientWidth := ClientWidth + ScaleX(100);
OuterNotebook.Width := ClientWidth;
InnerNotebook.Left := ClientWidth div 2 - InnerNotebook.Width div 2;
end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:46, 21-02-2011 | #835


Аватара для Gnom_aka_Lexander

Ветеран


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

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


nik1967,
Ты прав, но есть выход
Vista-w,
Код: Выделить весь код
 procedure InitializeWizard();
begin
 with WizardForm.InnerPage do
  begin
    Enabled := False;
  end;
end;
Проверено, помогает
serg aka lain, Там как раз этим InnerPage перекрывает, а нотебуки уже увеличины до нужных размеров.

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

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

Отправлено: 21:12, 21-02-2011 | #836


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата Лександер:
Enabled := False; »
Оказалось слишком круто достаточно
Код: Выделить весь код
Visible := False;
На полном отключении перестают работать обзоры и чекбоксы

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


Отправлено: 21:53, 21-02-2011 | #837


Аватара для nik1967

Старожил


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

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


Vista-w,
Руководствуясь данными serg aka lain, получилось что то типа
читать дальше »
Код: Выделить весь код
[Setup]
AppName=Name
AppVerName=Name
DefaultDirName={pf}\Name

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
 
[_Code]
procedure InitializeWizard();
var
  L: Integer;
begin
with WizardForm do begin
    L:=ScaleX(50); // На сколько надо увеличить длину инсталла
    ClientWidth := ClientWidth + L;
    OuterNotebook.Width := ClientWidth;
    InnerNotebook.Left := ClientWidth div 2 - InnerNotebook.Width div 2;
    Bevel.Width:= ClientWidth;
    Bevel1.Width:= ClientWidth;
    MainPanel.Width:= ClientWidth;
with WelcomeLabel1 do
    Left:= WelcomeLabel1.Left + L;
with WelcomeLabel2 do
    Left:= WelcomeLabel2.Left + L;
with FinishedLabel do
    Left:= FinishedLabel.Left + L;
with FinishedHeadingLabel do
    Left:= FinishedHeadingLabel.Left + L;
with WizardSmallBitmapImage do
    Left:= WizardSmallBitmapImage.Left + L;
  end;
end;

procedure InitializeUninstallProgressForm;
var
  L: Integer;
begin
with UninstallProgressForm do begin
    L:=ScaleX(50); // На сколько надо увеличить длину инсталла
    ClientWidth := ClientWidth + L;
    OuterNotebook.Width := ClientWidth;
    InnerNotebook.Left := ClientWidth div 2 - InnerNotebook.Width div 2;
    Bevel.Width:= ClientWidth;
    Bevel1.Width:= ClientWidth;
    MainPanel.Width:= ClientWidth;
with WizardSmallBitmapImage do
    Left:= WizardSmallBitmapImage.Left + L;
  end;
end;

Последний раз редактировалось nik1967, 21-02-2011 в 23:08.

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

Отправлено: 22:53, 21-02-2011 | #838


Аватара для Gnom_aka_Lexander

Ветеран


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

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


nik1967, С этим разобрались код скрытия иннерпейджа отлично помог, сейчас другая заморочка, может поможеш, а то у меня мозг кипит? Сейчас сам объяснит, чего у нас не получается.
Вот, может пригодится, увеличение окна инсталлятора, без дополнительных модулей и перерисовки компонентов страницы, заодно объединил пару страниц
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
;// отключение ненужных страниц
DisableProgramGroupPage=true
[_Code]
procedure InitializeWizard();
begin
  with WizardForm do
  begin
    AutoScroll := False;
    ClientHeight := ScaleY(380);
    ClientWidth := ScaleX(600);
  end;

  with WizardForm.Bevel do
  begin
    Left := ScaleX(1);
    Top := ScaleY(334);
    Width := ScaleX(600);
  end;

  with WizardForm.CancelButton do
  begin
    Left := ScaleX(508);
    Top := ScaleY(343);
  end;

  with WizardForm.NextButton do
  begin
    Left := ScaleX(423);
    Top := ScaleY(343);
  end;

  with WizardForm.BackButton do
  begin
    Left := ScaleX(348);
    Top := ScaleY(343);
  end;

  with WizardForm.OuterNotebook do
  begin
    Width := ScaleX(601);
    Height := ScaleY(336);
  end;

  with WizardForm.WizardBitmapImage do
  begin
    Width := ScaleX(200);
    Height := ScaleY(340);
  end;

  with WizardForm.WelcomeLabel2 do
  begin
    Left := ScaleX(256);
  end;

  with WizardForm.WelcomeLabel1 do
  begin
    Left := ScaleX(256);
  end;

  with WizardForm.Bevel1 do
  begin
    Width := ScaleX(603);
    Height := ScaleY(0);
  end;

  with WizardForm.InnerNotebook do
  begin
    Top := ScaleY(70);
    Width := ScaleX(520);
    Height := ScaleY(260);
  end;

  with WizardForm.LicenseNotAcceptedRadio do
  begin
    Left := ScaleX(16);
    Top := ScaleY(240);
  end;

  with WizardForm.LicenseAcceptedRadio do
  begin
    Left := ScaleX(16);
    Top := ScaleY(220);
  end;

  with WizardForm.LicenseMemo do
  begin
    Width := ScaleX(521);
    Height := ScaleY(180);
  end;

  with WizardForm.PasswordEdit do
  begin
    Left := ScaleX(56);
  end;

  with WizardForm.PasswordEditLabel do
  begin
    Left := ScaleX(56);
  end;

  with WizardForm.PasswordLabel do
  begin
    Left := ScaleX(56);
  end;

  with WizardForm.InfoBeforeMemo do
  begin
    Width := ScaleX(521);
    Height := ScaleY(221);
  end;

  with WizardForm.UserInfoSerialEdit do
  begin
    Left := ScaleX(56);
    Top := ScaleY(224);
    Parent := WizardForm.PasswordPage;
  end;

  with WizardForm.UserInfoSerialLabel do
  begin
    Parent := WizardForm.PasswordPage;
    Left := ScaleX(56);
    Top := ScaleY(208);
  end;

  with WizardForm.UserInfoOrgEdit do
  begin
    Left := ScaleX(56);
    Top := ScaleY(172);
    Parent := WizardForm.PasswordPage;
  end;

  with WizardForm.UserInfoOrgLabel do
  begin
    Parent := WizardForm.PasswordPage;
    Left := ScaleX(56);
    Top := ScaleY(156);
  end;

  with WizardForm.UserInfoNameEdit do
  begin
    Left := ScaleX(56);
    Top := ScaleY(120);
    Parent := WizardForm.PasswordPage;
  end;

  with WizardForm.UserInfoNameLabel do
  begin
    Parent := WizardForm.PasswordPage;
    Left := ScaleX(56);
    Top := ScaleY(104);
  end;

  WizardForm.UserInfoSerialEdit.TabOrder := 0;
  WizardForm.UserInfoSerialLabel.TabOrder := 1;
  WizardForm.UserInfoOrgEdit.TabOrder := 2;
  WizardForm.UserInfoOrgLabel.TabOrder := 3;
  WizardForm.UserInfoNameEdit.TabOrder := 4;
  WizardForm.UserInfoNameLabel.TabOrder := 5;

  with WizardForm.SelectDirBitmapImage do
  begin
    Left := ScaleX(48);
  end;

  with WizardForm.DiskSpaceLabel do
  begin
    Left := ScaleX(48);
    Top := ScaleY(112);
  end;

  with WizardForm.DirBrowseButton do
  begin
    Left := ScaleX(390);
    Top := ScaleY(76);
  end;

  with WizardForm.DirEdit do
  begin
    Left := ScaleX(48);
    Top := ScaleY(76);
  end;

  with WizardForm.SelectDirBrowseLabel do
  begin
    Left := ScaleX(48);
  end;

  with WizardForm.SelectDirLabel do
  begin
    Left := ScaleX(92);
  end;

  with WizardForm.ComponentsDiskSpaceLabel do
  begin
    Left := ScaleX(8);
    Top := ScaleY(232);
  end;

  with WizardForm.ComponentsList do
  begin
    Width := ScaleX(521);
    Height := ScaleY(168);
  end;

  with WizardForm.TypesCombo do
  begin
    Left := ScaleX(48);
  end;

  with WizardForm.SelectComponentsLabel do
  begin
    Left := ScaleX(48);
  end;

  with WizardForm.SelectGroupBitmapImage do
  begin
    Left := ScaleX(48);
    Top := ScaleY(135);
    Parent := WizardForm.SelectDirPage;
  end;

  with WizardForm.NoIconsCheck do
  begin
    Left := ScaleX(48);
    Top := ScaleY(231);
    Parent := WizardForm.SelectDirPage;
  end;

  with WizardForm.GroupBrowseButton do
  begin
    Left := ScaleX(390);
    Top := ScaleY(204);
    Parent := WizardForm.SelectDirPage;
  end;

  with WizardForm.GroupEdit do
  begin
    Left := ScaleX(48);
    Top := ScaleY(204);
    Parent := WizardForm.SelectDirPage;
  end;

  with WizardForm.SelectStartMenuFolderBrowseLabel do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(48);
    Top := ScaleY(180);
  end;

  with WizardForm.SelectStartMenuFolderLabel do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(92);
    Top := ScaleY(145);
  end;

  WizardForm.NoIconsCheck.TabOrder := 0;
  WizardForm.GroupBrowseButton.TabOrder := 1;
  WizardForm.GroupEdit.TabOrder := 2;
  WizardForm.SelectStartMenuFolderBrowseLabel.TabOrder := 3;
  WizardForm.SelectStartMenuFolderLabel.TabOrder := 4;

  with WizardForm.TasksList do
  begin
    Left := ScaleX(64);
    Height := ScaleY(224);
  end;

  with WizardForm.SelectTasksLabel do
  begin
    Left := ScaleX(56);
  end;

  with WizardForm.ReadyMemo do
  begin
    Width := ScaleX(521);
    Height := ScaleY(237);
  end;

  with WizardForm.ReadyLabel do
  begin
    Left := ScaleX(40);
  end;

  with WizardForm.PreparingErrorBitmapImage do
  begin
    Left := ScaleX(48);
    Top := ScaleY(56);
  end;

  with WizardForm.PreparingLabel do
  begin
    Left := ScaleX(72);
    Top := ScaleY(56);
  end;

  with WizardForm.PreparingYesRadio do
  begin
    Left := ScaleX(72);
    Top := ScaleY(161);
  end;

  with WizardForm.PreparingNoRadio do
  begin
    Left := ScaleX(72);
    Top := ScaleY(183);
  end;

  with WizardForm.FilenameLabel do
  begin
    Top := ScaleY(136);
  end;

  with WizardForm.StatusLabel do
  begin
    Top := ScaleY(120);
  end;

  with WizardForm.ProgressGauge do
  begin
    Top := ScaleY(162);
    Width := ScaleX(521);
    Height := ScaleY(29);
  end;

  with WizardForm.InfoAfterMemo do
  begin
    Width := ScaleX(521);
    Height := ScaleY(237);
  end;

  with WizardForm.MainPanel do
  begin
    Width := ScaleX(603);
  end;

  with WizardForm.WizardSmallBitmapImage do
  begin
    Left := ScaleX(544);
    Top := ScaleY(0);
  end;

  with WizardForm.WizardBitmapImage2 do
  begin
    Width := ScaleX(200);
    Height := ScaleY(340);
  end;

  with WizardForm.RunList do
  begin
    Left := ScaleX(264);
  end;

  with WizardForm.NoRadio do
  begin
    Left := ScaleX(264);
    Top := ScaleY(180);
  end;

  with WizardForm.YesRadio do
  begin
    Left := ScaleX(264);
    Top := ScaleY(158);
  end;

  with WizardForm.FinishedLabel do
  begin
    Left := ScaleX(264);
    Top := ScaleY(79);
  end;

  with WizardForm.FinishedHeadingLabel do
  begin
    Left := ScaleX(264);
    Top := ScaleY(24);
  end;

  with WizardForm.BeveledLabel do
  begin
    Top := ScaleY(330);
  end;
end;

Код длинноват, потому что под новые размеры все подгонял - передвигал, может есть способ его оптимизировать
Да, и еще, на расширенной версии 541 иннерпейдж ни скрывать, ни отключать не требуется, она не мешает - видимо автоматом раздвигается

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


Последний раз редактировалось Gnom_aka_Lexander, 22-02-2011 в 10:19.

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

Отправлено: 23:29, 21-02-2011 | #839


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


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

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


Кто не то может помочь хочу чтобы перед установкой высвечивалась картинка

к этому скрипту надо привязать

вот это

читать дальше »
[code]
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';

procedure InitializeWizard();
begin

ExtractTemporaryFile('splash.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);
end;

[Files]


Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression


с помощью библиотеки isgsg.dll
и картинки splash.png которая будет отображаться
всё файлы в архиве

Последний раз редактировалось my-94, 22-02-2011 в 15:51.


Отправлено: 09:25, 22-02-2011 | #840



Компьютерный форум 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




 
Переход