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

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

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

Ветеран


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


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

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


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

 

Старожил


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

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


Как изменить цвет инсталятора на черный?

-------
Стремись не к тому, чтобы добиться успеха, а к тому, чтобы твоя жизнь имела смысл.(Альберт Эйнштейн)


Отправлено: 19:31, 23-02-2011 | #871



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

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


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


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

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


Народ выручите плиз. Знаю что заезженая тема но всё же спрошу
Дайте скрипт, чтобы на странице выбора куда ярлыки в пуск будут запихиваться картинка разъезжалась на весь инсталятор, я так понял это должен быть аналог вот этого:

Код: Выделить весь код
procedure SelectDirPage;
begin
  with WizardForm do
    begin
      with DirEdit do
        begin
          Left:= 40;
          Top:= 137;
          Parent:= pnl;
        end;
      with DirBrowseButton do
        begin
          Left:= WizardForm.DirEdit.Left + WizardForm.DirEdit.Width + 10;
          Top:= WizardForm.DirEdit.Top - 1;
          Parent:= pnl;
        end;
      with SelectDirBitmapImage do
        begin
          Left:= WizardForm.DirEdit.Left;
          Top:= WizardForm.DirEdit.Top - 62;
          Stretch:= True;
          Parent:= pnl;
        end;
    end;
  with TLabel.Create(pnl) do
    begin
      AutoSize:= WizardForm.SelectDirBrowseLabel.AutoSize;
      SetBounds(WizardForm.DirEdit.Left,WizardForm.DirEdit.Top - 30,
                WizardForm.SelectDirBrowseLabel.Width, WizardForm.SelectDirBrowseLabel.Height);
      WordWrap:= WizardForm.SelectDirBrowseLabel.WordWrap;
      Caption:= WizardForm.SelectDirBrowseLabel.Caption;
      with Font do
        begin
          Color:= WizardForm.SelectDirBrowseLabel.Font.Color;
          Style:= WizardForm.SelectDirBrowseLabel.Font.Style;
          Name:= WizardForm.SelectDirBrowseLabel.Font.Name;
          Size:= WizardForm.SelectDirBrowseLabel.Font.Size;
        end;
      Transparent:= True;
      Parent:= pnl;
    end;
  with TLabel.Create(pnl) do
    begin
      AutoSize:= WizardForm.SelectDirLabel.AutoSize;
      SetBounds(WizardForm.SelectDirBitmapImage.Left + 50,WizardForm.SelectDirBitmapImage.Top + 10,
                WizardForm.SelectDirLabel.Width,WizardForm.SelectDirLabel.Height);
      WordWrap:= WizardForm.SelectDirLabel.WordWrap;
      Caption:= WizardForm.SelectDirLabel.Caption;
      with Font do
        begin
          Color:= WizardForm.SelectDirLabel.Font.Color;
          Style:= WizardForm.SelectDirLabel.Font.Style;
          Name:= WizardForm.SelectDirLabel.Font.Name;
          Size:= WizardForm.SelectDirLabel.Font.Size;
        end;
      Transparent:= True;
      Parent:= pnl;
    end;
  with TLabel.Create(pnl) do
    begin
      AutoSize:= WizardForm.DiskSpaceLabel.AutoSize;
      SetBounds(WizardForm.DirEdit.Left,WizardForm.Bevel.Top - 25,
                WizardForm.DiskSpaceLabel.Width,WizardForm.DiskSpaceLabel.Height);
      WordWrap:= WizardForm.DiskSpaceLabel.WordWrap;
      Caption:= WizardForm.DiskSpaceLabel.Caption;
      with Font do
        begin
          Color:= WizardForm.DiskSpaceLabel.Font.Color;
          Style:= WizardForm.DiskSpaceLabel.Font.Style;
          Name:= WizardForm.DiskSpaceLabel.Font.Name;
          Size:= WizardForm.DiskSpaceLabel.Font.Size;
        end;
      Transparent:= True;
      Parent:= pnl;
    end;
  pnl.Repaint;
end;
Может кто нибудь его переделать или дать уже готовый????

p.s. Не ругайтесь сильно за заезженую тему)))

-------
Если вам понравился мой совет, то нажмите "Полезное сообщение" :)


Отправлено: 19:57, 23-02-2011 | #872


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


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

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


Помогите вставить

читать дальше »

procedure InitializeWizard();
begin
with WizardForm do begin
with MainPanel do
Height := Height - 1;
with WizardSmallBitmapImage do begin
Left := 0;
Top := 0;
Height := 58; //Размер рисунка
Width := 497; //
end;
with PageNameLabel do begin
Width := Width - 555; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 555; //
end;
with PageDescriptionLabel do begin
Width := Width - 555; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 555; //
end;
end;
end


в этот скрипт

читать дальше »

[Setup]
AppId={{4E7C4AAA-6115-4228-B387-707B52DDCD89}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=no
;disablereadypage=true

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

[Messages]
BeveledLabel=111

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

[Files]
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy nocompression
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy nocompression
source: 1.bmp; DestDir: {tmp}; Flags: dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression

[code]
var
AboutButton, CancelButton, URLButton: TButton;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
BmpFile: TBitmapImage;

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

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

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';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('Ýòî äåìî âåðñèÿ ïðîãðàììû.', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/topic.cgi?forum=5&topic=35848&start=40#lt', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp'); //Èçâëåêàåì ôàéë, êîòîðûé ïîéäåò â îêíî èíñòàëëÿòîðà
//Âñòàâëÿåì èçîáðàæåíèå â îêíî èíñòàëëÿòîðà, äëÿ êàæäîé ñòðàíèöû íóæíî äîáâëÿòü èçîáðàæåíèå çàíîâî
ExtractTemporaryFile('splash.png');
BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.WelcomePage;
end;

BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.FinishedPage;
end;

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

with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
with AboutButton do begin
Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := '&Repack info';
OnClick := @AboutButtonOnClick;
Parent := WizardForm;
end;

URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := 'Ñàéò';
OnClick := @URLLabelOnClick;
Parent := WizardForm;
end;

BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := ScaleX(50);
BackgroundBitmapImage.Top := ScaleY(100);
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;

BackgroundBitmapText := TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID <> wpWelcome then begin
AboutButton.Hide; URLButton.Hide end else begin
AboutButton.Show; URLButton.Show; end;
end;


Это расширяет картинку с верху

Отправлено: 21:51, 24-02-2011 | #873


Аватара для Devils0411

Ветеран


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

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


Habetdin, Проблемка появилась.
Код: Выделить весь код
#define Const1 "5"
#define Const2 "8"

[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Types]
Name: "Const1"; Description: "{#Const1} -> data.ini";
Name: "Const2"; Description: "{#Const2} -> data.ini";

[Components]
Name: "Const1"; Description: "{#Const1} -> data.ini"; Types: "Const1";
Name: "Const2"; Description: "{#Const2} -> data.ini"; Types: "Const2";

[Ini]
filename: {app}\Data.ini; section: Settings; key: Chislo; string: {#Const1}; Components: Const1;
filename: {app}\Data.ini; section: Settings; key: Chislo; string: {#Const2}; Components: Const2;

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Пересобрал этот скрипт.
в итоге.. при запуске выходного экзешника (например setup.exe) из консоли с такими параметрами
Код: Выделить весь код
setup.exe /SILENT /COMPONENTS="Const2"
то в файл data.ini пишется 5, а не 8. В чем ошибка? использую на текущий момент самую последнюю версию программы.

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 21:55, 24-02-2011 | #874


Аватара для Gnom_aka_Lexander

Ветеран


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

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


my-94,Вот это:
читать дальше »
Код: Выделить весь код
begin
with WizardForm do begin
with MainPanel do
Height := Height - 1;
with WizardSmallBitmapImage do begin
Left := 0;
Top := 0;
Height := 58; //Размер рисунка
Width := 497; //
end;
with PageNameLabel do begin
Width := Width - 555; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 555; //
end;
with PageDescriptionLabel do begin
Width := Width - 555; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 555; //
end;
Добавляеш сразу после procedure InitializeWizard();, это:
Код: Выделить весь код
end;
end;
добавляеш после
Код: Выделить весь код
BackgroundBitmapText.Parent := MainForm;

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

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

Отправлено: 22:17, 24-02-2011 | #875


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


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

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


Лександер

Спасибо огромное хоть что то я вписал сам

Отправлено: 22:31, 24-02-2011 | #876


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата my-94:
хоть что то я вписал сам »
Ты хоть примерно понял, почему именно так нужно вписать?

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


Отправлено: 22:37, 24-02-2011 | #877


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


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

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


а все остальные добавления InitializeWizard() так же вставлять ?

Отправлено: 22:38, 24-02-2011 | #878


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Примерно, можно просто эту процедуру добавлять еще одну тут береш дубликаторы, и смотриш, как это делается

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

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

Отправлено: 22:45, 24-02-2011 | #879


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


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

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


Да пока трудновато ,но попробую разобраться

Отправлено: 22:50, 24-02-2011 | #880



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




 
Переход