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

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

Закрытая тема
Настройки темы
[архив] Inno Setup .:[все вопросы]:.

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


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

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


Изменения
Автор: volk1234
Дата: 27-08-2009
Описание: перевел в архив
Лимит страниц.
Тема закрыта.
продолжаем тут:

Inno Setup. Обсуждение установщика

Скрипты Inno Setup. Помощь и советы



Полезные ресурсы:
Официальный сайт| Inno Setup 5.2.3 RU
Русская справка |Зеракало 1| Зеракало 2
ISTool 5.30 |Русификатор
Русификатор ISTool |Зеркало 1|Зеркало 2
Inno Setup Script Generator |Зеркало 1
Unpaker 2.1 от 21.04.2009 - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4.
InnoUnpaker 2.6b3 [от valeron87]- можнет просмотривать содержание CompiledCode.bin
Unpaker 0.23 - расширенная китайская версия 2008-08-08 ( модификация)
Unpacker 0.24 | Зеркало 1 | Зеркало 2 - Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009]
Набор Restools
Restools - расширенная версия Inno Setup от китайских разработчиков, добавляет вашему инсталлятору новые возможности по оформлению, а также более удобный редактор скриптов (требуется наличие установленного Preprocessor'а).
Последние версии разработок от Restools:
InnoCompiler090319_English - в него входят файлы: Compil32.exe и Templates.dat;
Inno_ISCmplr_Setup090302 - в него входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32.
InnoCompiler090319_Russian - Русский перевод (80%) от tem000 - NEW !

QuickStart Pack - Inno Setup + Preprocessor (последняя версия ispack-5.2.4-dev)
"Всё в одном" от unikum111
читать дальше »

Цитата unikum111:
В сборку входят следующие компоненты:
Inno Setup compiler 5.2.2 русская версия;
ISTool 5.2.1 русская версия;
Inno Script Generator английская версия;
Inno Setup Unpacker Explorer 1.0 аглийская версия;
Примечание: в Inno Setup Unpacker Explorer 1.0 заменён innounp.exe на тестовую версию 2.0, так что распаковывает инсталляторы вплоть до версии 5.2.2.
Есть возможность выбора компонентов.
Скачать: ifolder, RapidShare, iBox (Размер: 5.34 Mb).»



Полезные мелочи для Inno Setup:

- Converter v.0.1.2 - конвертор REG- файлов в формат скриптов Inno от Serega_ -новая версия
- Как убрать страницу приветствия (wpWelcome) в мастере установки приложения:
- Примеры скриптов на паскале
- Inno Setup Addon 0.07 For Total Commander
- Параметры командной строки инсталляторов InnoSetup:

Код: Выделить весь код
/SP-
Отключает страницу "Эта программа установит... Вы хотите продолжить?" инсталятора. 
Выполнится только если DisableStartupPrompt секции [Setup] равна yes. 

/SILENT, /VERYSILENT  
Установка в ускоренном или очень ускоренном режиме. При установке в ускоренном режиме 
окно мастера и фоновое окно мастера не отображаются, отображается только окно прогресса. 
При очень ускоренной установке окно прогресса тоже не отображается. Остальная установка 
проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница 
приветствия (если ее отображение не отменено директивой DisableStartupPrompt или 
параметром '/SP-' командной строки).

Если после установки необходима перезагрузка, команды '/NORESTART' не дано и установка 
проходит в ускоренном режиме, появится сообщение "Перезагрузить компьютер?". Если режим 
установки очень ускоренный, система перезагрузится не спрашивая.

/LOG 
Указывает инсталятору создать log-файл в папке TEMP для подробного отчета о действиях 
и событиях в секции [Run], предпринятых в ходе установки. Применяется при отслеживании 
ошибок. Например, если вы подозреваете, что файл не был удален, хотя должен был, 
log-файл сообщит, что файл былдействительно пропущен и почему. 

log-файлу присваивается уникальное имя на базе текущей даты. (Существующие файлы не 
перезаписываются и не дополняются). 
Информация, содержащаяся в log-файле, техническая и поэтому не может быть понята 
пользователем. 

/LOG="filename" 
Параметр похож на /LOG, но в отличие от него позволяет указать фиксированный
путь/имя файла для log-файла. Если файл с указанным именем уже существует, он будет 
заменен. Если файл не может быть создан, установка прервется и выдаст сообщение 
об ошибке.

/NOCANCEL  
Не дает пользователю прервать установку, отключая кнопку Отменить и игнорируя клики на 
кнопке Закрыть. Используется в комбинации с '/SILENT' или '/VERYSILENT'. 

/NORESTART 
Указывает инсталятору не перезагружать компьютер даже если это необходимо. 

/RESTARTEXITCODE=exit code  
Задает инсталятору код, который он должен возвратить, если необходима перезагрузка. 
Используется с '/NORESTART'.
См. также Коды выхода инсталятора. (кому интерестно, могу выложить или же доступно в хелпе)

/LOADINF="filename" 
Указывает инсталятору загрузить параметры установки из указанного файла после проверки 
командной строки. Этот файл может быть подготовлен с помощью '/SAVEINF='command.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 

/SAVEINF="filename" 
Указывает инсталятору сохранять параметры установки в указанный файл.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 

/LANG=language 
Задает используемый язык. language задает имя языка, заданного в параметре секции 
[Languages]. При использовании параметра /LANG появляется диалог Выбор языка установки.

/DIR="x:\dirname" 
Меняет имя папки, заданное по умолчанию, на странице Выбор папки назначения. 
Должен быть задан полный путь. 

/GROUP="folder name" 
Меняет имя папки на странице Выбор папки меню Пуск. Если директива 
DisableProgramGroupPage секции [Setup] равна yes, этот параметр командной строки 
игнорируется. 

/NOICONS 
Указывает инсталятору проверять, выбрана ли команда Не создавать значков на странице 
Выбор папки меню Пуск. 

/COMPONENTS="comma separated list of component names" 
Меняет выбраные по умолчанию компоненты. В этом случае параметр командной строки 
указывает инсталятору менять тип установки на Выборочный. 

/PASSWORD=password  Задает пароль. Если не указана директива Password секции [Setup], 
этот параметр игнорируется. Если введен неправильный пароль, параметр 
также игнорируется.

Отправлено: 21:42, 17-03-2005

 

Аватара для Rosich

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


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

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


Serega
Спасибо, конечно, но сделал все по вашим подсказкам и вставил процедуру CurPageChanged. В итоге скрипт компилируется и работает, но последняя страница, получается урезанная: .
Проверил все что мог, по размерам нигде отклонений нет, но все-таки страница завершения получается урезанная, а так все работает идеально.

Прошу помощи еще на один мой вопрос:
У меня для этой игры есть два официальных патча, но установить их можно, только если в игре стоят оригинальные файлы, с которых я делаю бекап. То есть реально установка этих патчей должна начаться сразу после "тихой деинсталляции" до установки основных файлов и только по одному - сначала файл myprogram v. 1.1, после завершения установки этого файла, идет установка файла myprogram v. 1.2 и только после того как установится второй файл должна начаться установка основных файлов.
КАК это сделать?!

Отправлено: 19:47, 02-08-2009 | #1191



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

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


Ветеран


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

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


Цитата VitHAK:
Но как сделать проверку наличия файла {src}\Setup.exe ? »
сразу за кодом создания кнопки, добавьте:
Код: Выделить весь код
  if not FileExists(ExpandConstant('{src}\Setup.exe')) then
  btn2.Enabled:= False;
Цитата Rosich:
страница, получается урезанная: »
так я сам удивился, когда увидел в вашей процедуре изменение страницы, но вы же писали скрипт и для чего это вам надо я не знаю, поэтому я это оставил без изменений, просто сделал, чтоб всё работало.
Исправил
Код: Выделить весь код
procedure CurPageChanged(CurPageID: Integer);
var
  ResultCode: Integer;
  UnInstallPath: string;
begin
  PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel1.Caption:= 'Апаратное Обеспечение';
  PageDescriptionLabel1.Caption:= 'Программа установки обнаружила следуюшие необходимые компоненты';
  PageNameLabel2.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel2.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel3.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel3.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel4.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel4.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel5.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel5.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel6.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel6.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel7.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel7.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel8.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel8.Caption:= WizardForm.PageDescriptionLabel.Caption;
  if CurPageID = wpSelectComponents then
    begin
      RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C05D8CDB-417D-4335-A38C-A0659EDFD6B8}_is1','UninstallString', UnInstallPath);
      UnInstallPath:= RemoveQuotes(UnInstallPath);
      Exec(UnInstallPath, '/verysilent','', SW_HIDE, ewWaitUntilTerminated, ResultCode);
    end;
  if CurPageID = wpSelectDir then
    begin
      GetNeedSpaceCaption;
      if FreeMB < NeedSize then
      WizardForm.NextButton.Enabled:= False;
    end;
  if CurPageID = wpReady then
    WizardForm.BackButton.Enabled:= False;
  if CurPageID = wpFinished then
      WizardForm.Position:= poScreenCenter;
end;

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

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

Отправлено: 20:18, 02-08-2009 | #1192


Ветеран


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

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


Извиняюсь сразу чего-то проглядел...
Цитата Rosich:
КАК это сделать?! »
1. Бекап файлов;
2. Происходит деинсталляция... чего? Программы?
3. Я так понимаю - востановление оригинальных файлов?
4. Установка двух патчей;
5. Ваша установка программы.
Я правильно понял?

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

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

Отправлено: 20:33, 02-08-2009 | #1193


Аватара для Rosich

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


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

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


На соседнем форуме есть интересная программка, называется она InnoSetup Script Joiner, сделана он одним из постояльцев того форума. Смысл ее работы в том, что она сшивает скрипты, объединяя несколько в один. Работать с ней просто: скрипты, которые хотите объединить делите по файлам с расширением *.iss (только секцию [code]) клик правой кнопкой мыши и скрипт – готов. Не так красиво, как это сделает человек, но работает.

Отправлено: 20:35, 02-08-2009 | #1194


Аватара для Rosich

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


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

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


Цитата Serega:
1. Бекап файлов;
2. Происходит деинсталляция... чего? Программы?
3. Я так понимаю - востановление оригинальных файлов?
4. Установка двух патчей;
5. Ваша установка программы.
Я правильно понял? »
Немного не так.
При первой установки инсталлятора после выбора компонентов, если пользователь выбрал установку патчей:
1. Запуск программы установки.
2. После страницы выбора компонентов, устанавливаются патчи, по одному:
2.1 Первый патчь, от начала установки до полного ее завершения.
2.2 Второй патчь, от начала установки до полного ее завершения.
3. Бекап файлов.
4. Установка остальных компонентов программы.

При повторном запуске инсталлятора, если пользователь сразу не выбрал установку патчей:
1. Запуск программы установки.
2. После страницы выбора компонентов, идет "тихая деинсталляция".
3. Устанавливаются патчи, по одному:
3.1 Первый патчь, от начала установки до полного ее завершения.
3.3 Второй патчь, от начала установки до полного ее завершения.
4. Бекап файлов.
5. Установка остальных компонентов программы.

Отправлено: 20:51, 02-08-2009 | #1195


Аватара для VitHAK

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


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

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


Serega, Спасибо!
Я уже написал процедуру:
Код: Выделить весь код
If (FileSearch('setup.exe', ExpandConstant('{src}'))='')
    then
    begin
	btn2.Enabled := False;
    end
Но Вы предложили лутшее решение.

Я сегодня только первий день знакомлюсь с Inno Setup Script

Отправлено: 21:13, 02-08-2009 | #1196


Аватара для Rosich

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


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

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


Цитата Serega:
так я сам удивился, когда увидел в вашей процедуре изменение страницы, но вы же писали скрипт и для чего это вам надо я не знаю, поэтому я это оставил без изменений, просто сделал, чтоб всё работало. »
Спасибо все прекрасно работает!!!

P.S.
Сейчас проверил на запуск программы, до этого программу не запускал – тестировал на бекап файлов, запуск программы – пропал, программа не запускается со страницы завершения. Подозреваю, запуск DirectX тоже пропал, проверить не могу, он у меня уже установлен, только если попробовать подсунуть старую версию?!
SOS
Попробуйте, посмотрите, пожалуйста, весь скрипт, и еще прикладываю второй вариант – в нем все работает, но есть абсолютный путь, а это не есть "ХУ". Посмотрите, пожалуйста, может, что и получится.

Последний раз редактировалось Rosich, 02-08-2009 в 23:42.


Отправлено: 22:31, 02-08-2009 | #1197


Ветеран


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

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


Цитата Rosich:
Сейчас проверил на запуск программы »
Извиняюсь, удалил лишнее... Добавьте в procedure CurPageChanged сразу после begin:
Код: Выделить весь код
  PageID:= CurPageID;

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

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

Отправлено: 22:09, 03-08-2009 | #1198


Аватара для Rosich

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


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

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


Цитата Serega:
Добавьте в procedure CurPageChanged сразу после begin: »
Спасибо!!! Теперь все работает.

Отправлено: 23:02, 03-08-2009 | #1199


Ветеран


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

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


Вложения
Тип файла: 7z forum.oszone.net.7z
(16.4 Kb, 12 просмотров)

Rosich, немного подредактировал ваш скрипт, он стал на 250 строк меньше...
Проверьте на работоспособность.

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


Последний раз редактировалось Serega, 04-08-2009 в 01:13.

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

Отправлено: 00:35, 04-08-2009 | #1200



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Inno Setup. Прочие вопросы El Sanchez Автоматическая установка приложений 653 09-01-2023 20:13
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
[Архив] Твики реестра .: [все вопросы] :. Vadikan Автоматическая установка Windows 2000/XP/2003 1431 26-01-2008 08:51
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход