Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (17-06-2008 18:16): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.  
 
Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
Версия 5.1 скачать || версия 5 скачать|зеркало || версия 4 скачать|зеркало || версия 3 скачать|зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы)
Новая версия (Web-интерфейс) || Старая chm-версия скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать скрипт | зеркало | скриншот | описание | старая версия | InnoSetup Upgrade | Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы исправить добавьте этот код.
Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи в реестр вносит та или иная программа, то понадобится RegShot.


Дополнительные утилиты для Inno Setup


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.2.1 [15.10.2007]
Скачать | зеркало  
 
Русификатор
Скачать | зеркало

Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к Total Commander или FAR с помощью MultiArc плагинов.
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.2.3
 
Последний релиз: 0.20 [23.05.2008] New
Скачать  
 

Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновление | изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.2.3.
 
Старая версия [ScriptMaker 5.1.6.9 от 09.07.2006]
Русификатор версии 5.1.5 от GloThin | зеркало | зеркало | зеркало пароль: ruboard

Примечание для всех участников

Длинные куски кода помещайте под тегом more, дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 17:33 25-09-2007 | Исправлено: juvaforza, 13:39 24-05-2008
PolluxVonTXII



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2All
Подкажите какой ValueType: вот у этого параметра реестра @="1"

Всего записей: 501 | Зарегистр. 25-06-2007 | Отправлено: 16:28 13-01-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PolluxVonTXII
 
Строковый  (String;)

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 17:43 13-01-2008
starwork

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Снимаю свой вопрос.... На другом компе всё в порядке, видимо проблемка с моей виндой..., всех с наступающим НГ по старому стилю !!!

Всего записей: 94 | Зарегистр. 12-08-2006 | Отправлено: 00:16 14-01-2008
geranik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RedGeek
выключить процесс через bat файл
taskkill /f /im process.exe
 и команды
[UninstallRun]
Filename: {app}\file.bat; WorkingDir: {app}; StatusMsg: выключение игры...; Flags: waituntilterminated runminimized
или просто:
Filename: {sys}\taskkill.exe; Parameters: "/f /im process.exe"; StatusMsg: Выключение Игры...; Flags: waituntilterminated
_____
 И есть вопрос - какой флаг для обновления существующиих файлов в каталоге?
конретно такого не нашёл.
 

Всего записей: 33 | Зарегистр. 26-11-2007 | Отправлено: 16:28 14-01-2008 | Исправлено: geranik, 13:15 16-01-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня 2-ва вопросика!
 
1-ый: Как сделать чтобы программа установки автоматический проверила присутствие определенной программы или дров!
Доаустим Net Framwork
 
2-ой: Хочу сделать инсталлер с 4-мя NoCd-шниками Splinter Cell 1,2,3,4...
Мне надо чтобы на каждый noCd была своя проверка определенного файла!
Допустим я выбрал NoCd для Splinter Cell - Chaos Theory ставлю флажок жму далее он проверяет установленна ли игра и присутствие sc.exe
 
 
Заранее спасибо!

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 02:13 15-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KurtWagner
1) Проверка присутствия программы или драйвера в основном делается через реестр, как - см. руководство Kindly. Например, проветь установленные версии .NET Framework можно так. (Скрипт Виктора Доброва)
2) См. ответ на вопрос 1. Ну, можно ещё использовать функции FileExists (существует указанный файл или нет) и GetMD5OfFile (проверка файла на целостность).

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 03:30 15-01-2008
RedGeek



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
RedGeek  
выключить процесс через bat файл  
taskkill /f /im process.exe  
 и команды  
[UninstallRun]  
Filename: {app}\file.bat; WorkingDir: {app}; StatusMsg: выключение игры...; Flags: waituntilterminated runminimized  
можно это ещё и скрипте как-то сделать.

Так некрасиво, лишний батник к тому же... Но все равно спасибо.
А как все таки в inno это реализовать?

Всего записей: 157 | Зарегистр. 11-12-2006 | Отправлено: 03:34 15-01-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как сделать! Кнопки проигрыша мелодии?
 
Добавлено:
Как сделать! Кнопки проигрыша мелодии? http://ipicture.ru/uploads/080115/qog65VpUj0.jpg

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 06:07 15-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KurtWagner
Примерно так.
Отсюда можно скачать примеры, когда на кнопки наложены текстуры.
 
Добавлено:
RedGeek
Остановка запущенного процесса может быть реализована через dll, пример подобного кода - в данном руководстве.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 06:42 15-01-2008
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, ответьте тогда уж на простой вопрос: какой язык использутся для написания скриптов в Inno Setup? Я имею ввиду не формат файла .iss, а чисто програмные модули, вызываемые, например, через подраздел [code]. Сорри за невнятное описание - ну, не программер я . Надо просто реализовать некий скрит, типа Подробнее...  
для автоматической регистрации программы в процессе установки, но никак не соображу как это сделать. Дело в том, что пример, который я привел, крайне примитивен: я знаю, например, как сие реализовать посредством WSH (кажется, это так называется) или AutoIT, НО... работоспособность оного не всегда на высоте . Правильнее бы было бы отслеживать ПИД процесса (если я опять же не ошибаюсь в терминологии), но это мне не по зубам.
Может быть, кто-нибудь из высокоуважаемых Гуру поможет мне?

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 08:51 15-01-2008
Vitalliano

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kindly, вопрс к Вам.
 
Я в Вашем руководстве увидел скрипт который не позволяет пользователю установить программу в уже существующею app директорию.
  А как сделать так, чтобы прога к примеру не могла установится в внешнюю директорию, к примеру proga а в любую другую могла?
 
Вот сам скрипт:
 
Подробнее...
 
Заранее благодарю!!!

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 12:38 15-01-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV
Цитата:
Надо просто реализовать некий скрит, типа Подробнее...  
для автоматической регистрации программы в процессе установки
-- не совсем понятно, что именно подразумевается под "автоматической регистрацией", но вероятно, надо смотреть в сторону:
UserInfoPage, DefaultUserInfoName, DefaultUserInfoOrg, DefaultUserInfoSerial и function CheckSerial(Serial: String): Boolean;

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
UserInfoPage=yes
DefaultUserInfoSerial=123456
 
[Code]
function CheckSerial(Serial: String): Boolean;
begin
  if Serial = '123456' then Result:= True;
end;
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 14:36 15-01-2008
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri

Цитата:
-- не совсем понятно, что именно подразумевается под "автоматической регистрацией"

Имеется ввиду ввод имени пользователя и серийного номера после установки приложения, т.е. типа:
[Run]
Filename: {app}\program.exe; Parameters: -x; Flags: waituntilterminated  shellexec
должен запускаться код на выполнение этого самого ввода имени и пароля (серийника).

Цитата:
но вероятно, надо смотреть в сторону:  
UserInfoPage, DefaultUserInfoName, DefaultUserInfoOrg, DefaultUserInfoSerial и function CheckSerial(Serial: String): Boolean;

Я это смотрел, если не ошибаюсь, это из руководства в шапке. Но... это немного не мой уровень .
Просто у меня в приложении имя пользователя связанно с серийником, т.е. при изменении имени меняется и серийный номер. И мне не очень понятно, как это дело ввести через скрипт. Сама идея ясна - именно так и хотелось бы реализовать это, но...
знаний моих не хватает . Просто при запуске программы через [Run] вылазит окошко, где надо ввести и имя пользователя, и серийник. Вот я и "пытался изобразить" в том скрипте эту картину.
Если не сложно - помоги,  плииз реализовать столь непосильную для меня задачу...
 

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 15:26 15-01-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV, серийный номер с именем пользователя можно связать так:
 
[Setup]
AppName=Serial
AppVerName=Serial
CreateAppDir=false
UserInfoPage=true
DefaultUserInfoName={username}
 
[Code]
var MD5, SerName: String; n: Integer;
 
Function CheckSerial(Serial: String): Boolean;
Begin
    if
Serial = SerName then Result:= True;
End;
 
Procedure CurPageChanged(CurPageID: Integer);
Begin
  if
(CurPageID = wpUserInfo) and (SerName = '') then begin
    MD5:= Uppercase(GetMD5OfString(ExpandConstant('{username}')))
    for n:= 1 to Length(MD5) do begin
      SerName:= SerName + MD5[n]
      n:= n + 1     // убираем каждый второй символ - это только пример)
    end
    if
WizardForm.UserInfoSerialEdit.Text = '' then WizardForm.UserInfoSerialEdit.Text:= SerName // удалить после отладки
  end
End;

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 02:59 16-01-2008 | Исправлено: Victor_Dobrov, 15:44 16-01-2008
RedGeek



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мне кажется, не очень разумно оставлять код проверки серийника в инсталляторе.

Всего записей: 157 | Зарегистр. 11-12-2006 | Отправлено: 03:14 16-01-2008
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите кто знает.......
Пишу в [Registry]
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10656425-AFEB-42F3-9E51-D4A92B7EE022}; ValueType: string; ValueName: ConfigApplicationPath; ValueData: {app}\
 
Но после инсталляции в реестре получается  
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{10656425-AFEB-42F3-9E51-D4A92B7EE022}\]
"ConfigApplicationPath"="C:\\Program Files\\Electronic Arts\\Crytek\\Crysis\\"
"ConfigGDFBinaryPath"="C:\\Program Files\\Electronic Arts\\Crytek\\Crysis\\Tools\\VistaEssentials.dll"
"Title"="Crysis"
 
Тоесть инсталлятор после {10656425-AFEB-42F3-9E51-D4A92B7EE022} ставит еще и \
Как это избежать?????
 
Добавлено:
Все...разобрался - не критично

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 05:52 16-01-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV -- если я правильно понял, в составе приложения есть файл program.exe, запуск которого приводит к появлению окна с двумя полями (для ввода имени пользователя и серийного номера). Ты хочешь автоматизировать процесс заполнения этих полей.
Если все так, то задача выходит за рамки инно. Теоретически, такую фишку прикрутить к инно можно. Но имхо игра не стоит свеч. Да и в чем смысл автоввода серийного номера ? Или это из разряда "варез" ?

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 10:27 16-01-2008
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri

Цитата:
если я правильно понял, в составе приложения есть файл program.exe, запуск которого приводит к появлению окна с двумя полями (для ввода имени пользователя и серийного номера).  

Абсолютно верно.

Цитата:
Ты хочешь автоматизировать процесс заполнения этих полей.

Угу.

Цитата:
Если все так, то задача выходит за рамки инно.

Жаль.

Цитата:
Теоретически, такую фишку прикрутить к инно можно.

А как?

Цитата:
Но имхо игра не стоит свеч.

Почему?

Цитата:
Да и в чем смысл автоввода серийного номера ?

Смысл - в автоматической установке приложения (ключ /VERYSILENT) на этапе установке Виндоус уже зарегистрированным. Чтобы потом избежать мучительной головной боли со всякими "тыканьями" мышкой и настройки кучи программ. Задача: в результате Unattended-установки получить полностью настроенную СИСТЕМУ. Ну, или почти . Я же все равно инсталлятор этого приложения полностью пересобирал в Inno Setup - в оригинале было слишком много лишнего, да не ставился он в Silent-mode, вот и появилась идея его сразу зарегистрировать.

Цитата:
Или это из разряда "варез" ?

Именно. Но здесь мы будем рассматривать это, как наличие у пользователя некоей лицензии .
 
Victor_Dobrov
Большое спасибо за пример скрипта - я обязательно попробую на чем-нибудь своем, НО... в данном случае он представляет (для меня) чисто академический интерес . Задача стоит несколько иная - я ее подробно изложил в своем ответе к Genri.
 
 
 
 
 
 
 
 
 
 

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 11:00 16-01-2008
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
комрады, как открыть *.xml, найти там определенную строку и заменить ее на другую, сохранив табуляцию и пр.?

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 12:05 16-01-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RedGeek

Цитата:
не очень разумно оставлять код проверки серийника в инсталляторе.

Это касается любого кода в Inno Setup, который остаётся без защиты, так как исходники программы открыты.
А вместо проверки серийного номера рекомендую защищать инсталлятор шифрованием по паролю.
 
Sergey_AV, обычно серийник пишется в реестр, и вместо регистрации программы достаточно импортировать REG-файл.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 13:21 16-01-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (17-06-2008 18:16): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru