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

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

 

Ветеран


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

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


ChVL
в корне папки программы InnoSetup есть файл ISCrypt.dll. Это модуль криптования, и его необходимо скачивать отдельно. Подробнее тут, там же и ссылка на закачку.

Цитата:
[Setup]: Encryption
Valid values:
yes or no
Default value:
no
Description:
If set to yes, files that are compiled into the installation (via [Files] section entries) will be encrypted using ARCFOUR encryption, with a 128-bit key derived from the value of the Password [Setup] section directive.
Because of encryption import/export laws in some countries, encryption support is not included in the main Inno Setup installer and must be downloaded and installed separately if you wish to use it. See the Inno Setup Downloads page for more information.
If encryption is enabled and you call the ExtractTemporaryFile function from the [code] section prior to the user entering the correct password, the function will fail unless the noencryption flag is used on the [Files] section entry for the file.
The key used for encryption is a 128-bit MD5 hash of 64-bit random salt plus the value of Password.
При распаковке инсталляционного файла, защищенного паролем, программа распаковки запросит пароль.

в скрипте добавить строки
Код: Выделить весь код
[Setup]:
Encryption=true
Password=123456

Последний раз редактировалось snark, 13-02-2008 в 08:27.

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

Отправлено: 22:45, 12-02-2008 | #151



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

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


Аватара для unikum111

Старожил


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

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


Вопрос: при установки собранных с помощью данного инсталятора программ при выборе пункта "Запустить программу такую-то" (по окончании установки) инсталлятор не закрывается, а уходит в свёрнутый режим, и закрывается только после закрытия программы. Как это можно исправить?

Отправлено: 03:39, 13-02-2008 | #152


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


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

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


В скрипте в секции [Run] указываем след. флаг:
Код: Выделить весь код
Было:
Filename: {app}\dmaster.exe; Description: Запустить Download Master; Flags: postinstall unchecked
Стало:
Filename: {app}\dmaster.exe; Description: Запустить Download Master; Flags: postinstall unchecked nowait
nowait - не ждать завершения запущенной программы и выйти из установки

Отправлено: 03:56, 13-02-2008 | #153


Аватара для unikum111

Старожил


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

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


Вот так всё просто, мог бы и сам догадаться
Спасибо!

Отправлено: 04:21, 13-02-2008 | #154


Аватара для ChVL

Старожил


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

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


snark,
Вообще-то работает, но чрезвычайно криво.
Открываю запароленный MyProg.exe в Inno Setup Unpacker'e и он спокойно показывает всё содержимое сборки (впрочем, мне это тоже бы не хотелось). Даю команду распаковать и он, как обычно, просит папку. Тыкаю носом - всё, Unpacker намертво зависает. До этого момента, правда, успевает появиться папка {app} с файликом is-00001.tmp нулевого объёма. Никакого запроса пароля не последовало.
В принципе такой сценарий устраивает и даже вполне - это какой же будет мат при попытке распаковать.... Однако, смешно: я ведь тоже не смогу это сделать. Не дай Бог потерять исходники... И зачем тогда пароль?

Для справки:
Inno Setup Compiler 5.2.2
Inno Setup Unpacker 5.2.1

Отправлено: 17:35, 13-02-2008 | #155


Ветеран


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

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


ChVL, содержимое сборки - это еще не весь скрипт
Я пробовал распаковывать тестовую программу (сделано Inno Setup Compiler 5.2.2) через Uniextract 1.5 + innounp.exe v 0.20 (перепакованная версия с обновленными модулями). Распаковать пытается, спрашивает пароль; если пароля нет - тогда "до свиданья"...
Цитата ChVL:
я ведь тоже не смогу это сделать. Не дай Бог потерять исходники... И зачем тогда пароль? »
пароль хранится в открытом виде в скрипте - достаточно просто сделать резервную копию, чтоб быть уверенным, что не придется взламывать свои же наработки. Пароль - против тех, от кого нужно скрыть содержимое скрипта.

Отправлено: 20:35, 13-02-2008 | #156


Аватара для ChVL

Старожил


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

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


snark,
Спасибо за деятельное участие.
Ещё. Как построить процедуру введения в скрипт внешних данных через ключ? Например, необходимо ввести в реестр регистрационные данные, которые у каждого пользователя программой свои. Понятно, что для внутреннего использования всё вводится прямо в скрипт.

Отправлено: 08:33, 14-02-2008 | #157


Аватара для jameszero

Модератор


Moderator


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

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


ChVL
Если предусматривать поля для ввода регистрационных данных во время установки, то нужно будет "рисовать" эти поля в секции [code], не скажу, что это просто... мануалы почитать придётся.

А с помощью ключей установки регистрацию можно реализовать так:

В скрипт добавляется секция [code]
Код: Выделить весь код
[code]
function GetSerial(Param: String): String;
begin
if ExpandConstant('{param:SERIAL}') = '' then
Result := ExpandConstant('{cm:DemoSerial}')
else Result := ExpandConstant('{param:SERIAL}')
end;

function GetName(Param: String): String;
begin
if ExpandConstant('{param:USER}') = '' then
Result := ExpandConstant('{sysuserinfoname}')
else Result := ExpandConstant('{param:USER}')
end;

function GetOrganisation(Param: String): String;
begin
if ExpandConstant('{param:COMPANY}') = '' then
Result := ExpandConstant('{sysuserinfoorg}')
else Result := ExpandConstant('{param:COMPANY}')
end;
В [CustomMessages] и [Registry] добавляется
Код: Выделить весь код
[CustomMessages]
DemoSerial=1111-2222-3333-4444

[Registry]
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: Serial; ValueData: {code:GetSerial}
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: User; ValueData: {code:GetName}
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: Company; ValueData: {code:GetOrganisation}
Установка программы с регистрацией:

program.exe /SERIAL=9999-8888-7777-6666 /USER=Pupkin /COMPANY=Home

При установке программы без ключей, подхватится демонстрационный серийный номер из секции [CustomMessages], а имя пользователя и название организации будут взяты системные из Windows

-------
RuntimePack официальный сайт
Политика ограниченного использования программ для всех редакций Windows
--
мои аддоны в облаке

Не было печали, апдейтов накачали.

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

Отправлено: 12:05, 14-02-2008 | #158


Аватара для ChVL

Старожил


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

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


jameszero,
Понял, спасибо! Особенно интересна последняя фишка. А вот если б ещё без ключей прописывалось "демонстрационное" имя - цены бы ей не было...

К сожалению, дальнейшие исследования функции Encryption показали её полную несостоятельность. Оказалось, что если в секции [Setup] происана строка Encryption, причём, неважно(!) с каким значением: yes или no, то при попытке инсталляции сборки запрашивается Password. Мне это совсем не надо. Что-то тут Jordan Russell или Martijn Laan явно перемудрили (или недомудрили). Если же строку Password не писать или оставить пустой - не компилируется.
Похоже, придётся искать стороннюю программу для защиты от распаковки...

Последний раз редактировалось ChVL, 14-02-2008 в 16:20.


Отправлено: 15:44, 14-02-2008 | #159


Аватара для jameszero

Модератор


Moderator


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

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


ChVL
Цитата:
если б ещё без ключей прописывалось "демонстрационное" имя
Если я правильно понял вопрос, то это делается по аналогии с серийным номером.
При отсутствии ключа /USER, в реестр пропишется слово Tester
Код: Выделить весь код
[CustomMessages]
DemoSerial=1111-2222-3333-4444
DemoName=Tester

[code]
function GetSerial(Param: String): String;
begin
if ExpandConstant('{param:SERIAL}') = '' then
Result := ExpandConstant('{cm:DemoSerial}')
else Result := ExpandConstant('{param:SERIAL}')
end;

function GetName(Param: String): String;
begin
if ExpandConstant('{param:USER}') = '' then
Result := ExpandConstant('{cm:DemoName}')
else Result := ExpandConstant('{param:USER}')
end;
...

-------
RuntimePack официальный сайт
Политика ограниченного использования программ для всех редакций Windows
--
мои аддоны в облаке

Не было печали, апдейтов накачали.


Отправлено: 21:19, 14-02-2008 | #160



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




 
Переход