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

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

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

Ветеран


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


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

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


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;
    Предыдущая версия: 5.3.0 [07.04.2009] - Скачать (зеркало) | Русификатор (зеркало);

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать;

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

  • 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.3 [11.09.2009] - Скачать;


Ссылка на архив предыдущей темы (также можно скачать из вложения)

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


Отправлено: 22:06, 23-08-2009

 

Аватара для маркузяка

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


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

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


а что именно интересует? процент распаковки а размер текущего файла?

-------
ICQ - 498863759
Просто так даже муха на говно не садится!


Отправлено: 21:21, 22-08-2010 | #2251



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

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


Аватара для маркузяка

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


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

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


вот, нужно только название проги, версию, нужные файлы (папки) и иконки сделать

Код: Выделить весь код
[Setup]
AppName=имя программы
AppVersion=1.5
AppVerName=имя программы 1.5
AppPublisher=издатель, Inc.
DefaultDirName={pf}\имя программы
DefaultGroupName=имя программы
AllowNoIcons=yes
OutputDir=C:\Users\Admin\Desktop
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
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: file1.abc; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: Progress()
Source: file2.abc; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: Progress()
Source: file3.abc; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: Progress()
; NOTE: Don't use "Flags: ignoreversion" on any shared system files


[Code]
var
  ProgressLabel, SizeLabel: TLabel;

procedure Progress();
var
  size: integer;

begin
  with WizardForm.ProgressGauge do
    ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + '%';
	FileSize(ExpandConstant(CurrentFileName), size);
	SizeLabel.Caption:= IntToStr(size) + ' bytes';
end;

procedure InitializeWizard();
begin
  ProgressLabel := TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      ProgressLabel.Top := Top + Height + ScaleY(8);
      ProgressLabel.Left:= Left + Width/2 - ScaleX(8);
      ProgressLabel.AutoSize := True;
      ProgressLabel.Parent := WizardForm.InstallingPage;
    end;

  SizeLabel := TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      SizeLabel.Top := Top + Height + ScaleY(8);
      SizeLabel.Left:= Left;
      SizeLabel.AutoSize := True;
      SizeLabel.Parent := WizardForm.InstallingPage;
    end;
end;

-------
ICQ - 498863759
Просто так даже муха на говно не садится!

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

Отправлено: 22:34, 22-08-2010 | #2252


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

Ветеран


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

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


Цитата Serega:
накидал вам пример, как это делается »
мааленький минус в этом скрипте - у MPC есть подкомпонента (аппаратное воспроизведение DXVA)
при "щелканье" на эту подкомпонету выбирается и MPC и она, но флаг "регить на MPC" остается засвеченным.
Решил так:
Код: Выделить весь код
  { в зависимости от того на кого кликнули, производим действия }
  if WizardForm.ComponentsList.Checked[kmp] then WizardForm.ComponentsList.ItemEnabled[kReg]:=True else WizardForm.ComponentsList.ItemEnabled[kReg]:=False;
  if WizardForm.ComponentsList.Checked[mpc] then WizardForm.ComponentsList.ItemEnabled[mReg]:=True else WizardForm.ComponentsList.ItemEnabled[mReg]:=False;
  //if WizardForm.ComponentsList.Checked[gom] then WizardForm.ComponentsList.ItemEnabled[gReg]:=True else WizardForm.ComponentsList.ItemEnabled[gReg]:=False;
  case WizardForm.ComponentsList.ItemIndex of
    kmp: ;  mpc: ;   //gom: ;
    else Correct := False;
  end;
Вот еще нашел простой пример (который искал давно и он оказался в шапке - примеры скриптов Inno, скачал их но искал невнимательно, файл SelComp-EnableGroup.iss)
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program

[Components]
Name: A; Description: Группа А
Name: A\A1; Description: Компонент 1
Name: A\A2; Description: Компонент 2
Name: B; Description: Группа B
Name: B\B1; Description: Группа B1
Name: B\B1\B11; Description: Компонент 1; Flags: exclusive
Name: B\B1\B22; Description: Компонент 2; Flags: exclusive

[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Check: Check1
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Check: Check2

[_Code]
function Check1: Boolean;
begin
  Result:=WizardForm.ComponentsList.ItemEnabled[5] and WizardForm.ComponentsList.Checked[5]
end;

function Check2: Boolean;
begin
  Result:=WizardForm.ComponentsList.ItemEnabled[6] and WizardForm.ComponentsList.Checked[6]
end;

procedure OnClickCheck(Sender: TObject);
begin
  if WizardForm.ComponentsList.Checked[2] = True then
  begin
    WizardForm.ComponentsList.ItemEnabled[4]:=True
    WizardForm.ComponentsList.ItemEnabled[5]:=True
    WizardForm.ComponentsList.ItemEnabled[6]:=True
  end else
  begin
    WizardForm.ComponentsList.ItemEnabled[4]:=False
    WizardForm.ComponentsList.ItemEnabled[5]:=False
    WizardForm.ComponentsList.ItemEnabled[6]:=False
  end
end;

procedure InitializeWizard();
begin
  WizardForm.ComponentsList.Checked[2]:=True
  WizardForm.ComponentsList.Checked[4]:=True
  WizardForm.ComponentsList.OnClickCheck:=@OnClickCheck
end;

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


Отправлено: 09:25, 23-08-2010 | #2253


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


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

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


маркузяка Спасибо!
А как прикрутить ссылку на сайт.


Отправлено: 09:45, 23-08-2010 | #2254


Аватара для Habetdin


Автор проектов


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

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


Dima2009,
читать дальше »
Код: Выделить весь код
[Code]
var
  MouseLabel,SiteLabel: TLabel;

procedure SiteLabelOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('open', 'http://forum.oszone.net/member.php?u=47933', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  SiteLabel.Font.Color:=$0000C8FF
end;

procedure SiteLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  SiteLabel.Font.Color:=$000080FF
end;

procedure SiteLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  SiteLabel.Font.Color:=$0000A0FF
end;

procedure SiteLabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  SiteLabel.Font.Color:=$000080FF
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  MouseLabel:=TLabel.Create(WizardForm)
  MouseLabel.Width:=WizardForm.Width
  MouseLabel.Height:=WizardForm.Height
  MouseLabel.Autosize:=False
  MouseLabel.Transparent:=True
  MouseLabel.OnMouseMove:=@SiteLabelMouseMove2
  MouseLabel.Parent:=WizardForm

  SiteLabel:=TLabel.Create(WizardForm)
  SiteLabel.Left:=10
  SiteLabel.Top:=330
  SiteLabel.Cursor:=crHand
  SiteLabel.Font.Color:=$000080FF
  SiteLabel.Caption:='Copyright © 2006-2009 ProkaZZZa'
  SiteLabel.OnClick:=@SiteLabelOnClick
  SiteLabel.OnMouseDown:=@SiteLabelMouseDown
  SiteLabel.OnMouseUp:=@SiteLabelMouseUp
  SiteLabel.OnMouseMove:=@SiteLabelMouseMove
  SiteLabel.Parent:=WizardForm
end;

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке

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

Отправлено: 15:08, 23-08-2010 | #2255


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


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

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


Здравствуйте!
Помогите, пожалуйста. После установки аппликухи в Add/Remove Programs отображается неверный размер приложения. Не то, чтоб чуть-чуть неверный, а совсем. Ну т.е. в реальности 200 метров, а в списке 7 Гиг. Смею предположить, что размер где-то прописывается в реестрах при установке. Удалось найти только, что за регистрацию приложений в системе отвечает appmgmts.dll, но каким образом система получает размер файлов - не ясно. Может кто знает в чем может быть причина?
В сетап зашито много мелких файлов, при инсталляции нужно выбирать из списка. Может в этом месте что-то сбивается? Максимум - 10 000 файлов, общим объемом не более 1, 5 Гб. Полученный setup.exe записывается на CD, т.е. не более 700 метров. Вообще, это сетап-скрипт рассказывает системе о приложении?

Отправлено: 12:32, 24-08-2010 | #2256


Аватара для маркузяка

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


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

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


Habetdin, а выозможно ли что то подобное при распаковке rar sfx архива созданного в winrar?

-------
ICQ - 498863759
Просто так даже муха на говно не садится!


Отправлено: 13:24, 24-08-2010 | #2257


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

Ветеран


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

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


Цитата Serega:
Для лучшего сжатия попробуйте добавить флаги:
sortfilesbyextension sortfilesbyname
не помогло, стало толще

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


Отправлено: 14:07, 24-08-2010 | #2258


Аватара для Habetdin


Автор проектов


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

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


маркузяка, типы инсталляторов. Для WinRAR SFX ключ тихой распаковки -s (подробнее в справке WinRAR)

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке

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

Отправлено: 15:12, 24-08-2010 | #2259


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


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

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


Подскажите как добавить окно чтобы в нем отображался список распаковываемых файлов...

Отправлено: 16:53, 24-08-2010 | #2260



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход