PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для ПК (https://www.pspx.ru/forum/forumdisplay.php?f=474)
-   -   Inno Setup & Inno Script Studio (https://www.pspx.ru/forum/showthread.php?t=107970)

ErikPshat 18.07.2018 07:18

Inno Setup & Inno Script Studio
 
Вложений: 27
Inno Setup &
Inno Script Studio


Бесплатный инсталлятор для программ Windows, впервые появился в 1997 году, но и сегодня конкурирует, и даже превосходит многие коммерческие инсталляторы по возможностям, стабильности, беспредельным возможностям создания невообразимых инсталляций.

  • Inno Script Studo ***
    Inno Script Studo
  • Документация Inno Setup ***
    Документация Inno Setup
  • Выбор языка ***
    Выбор языка
  • Inno Setup Compiler ***
    Inno Setup Compiler
  • Документация Inno Setup ***
    Документация Inno Setup
  • Дизайнер диалогов ***
    Дизайнер диалогов

Основные достоинства:
  • Поддержка всех версий Windows используемых сегодня: Windows 10, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003 и Windows 2000 (независимо от пакета обновлений);
  • Обширная поддержка инсталляций 64-битных приложений на 64-битных выпусках Windows. Также поддерживает x64 разрядные процессоры. (При использовании процессоров Itanium необходимо установить Service Pack);
  • Поддержка создания одного файла EXE, что облегчает установку вашей программы через сеть. Также поддерживается разбивка на диски;
  • Стандартный стиль интерфейса мастера Windows 2000/XP;
  • Настраиваемые типы установки, например: Полная (Full), Компактная (Compact), Выборочная (Custom);
  • Возможность создания деинсталлятора;
  • Установка файлов:
  • Включает интегрированную поддержку сжатия файлов (bzip2 и 7-Zip LZMA/LZMA2). Инсталлятор может сравнивать версии файлов, заменять загруженные в память файлы, ведет подсчет общедоступных файлов, регистрирует DLL/OCX и библиотеки типов, устанавливает шрифты;
  • Создание ярлыков, включая меню Пуск и на Рабочем столе;
  • Работа с системным реестром и файлами *.ini;
  • Имеет встроенную поддержку скриптов на Паскале;
  • Поддерживает создание инсталляторов на различных языках;
  • Поддержкивает пароли и шифрование инсталляторов;
  • Поддерживается тихая установка и тихая деинсталляция, с помощью ключей командной строки;
  • Доступен полный исходный код (Borland Delphi 2.0-5.0 и 2009).
Основной бесплатный конкурент - NSIS (Nullsoft Scriptable Install System).

Последняя стабильная версия - 5.6.1 [14.06.2018]. Официальный сайт. История версий. Все сборки.
Существует 2 вида инсталлятора и 2 вида версий - ANSI-версия для чисто английского алфавита и Unicode-версия для мультиязыковой поддержки, включая русский, а так же, "Обычная компактная версия" и "QuickStart Pack" с возможностью установки полного расширенного комплекта.
  1. Stable Release - включает в себя только программу Inno Setup.
  2. QuickStart Pack - включает Inno Setup + редактор сценариев Inno Script Studio v2.3.0 + модуль шифрования ISCrypt.dll.
Отдельно Inno Script Studio от Kymoto Solutions (устанавливается в версии QuickStart Pack)
Inno Script Studio является новым, интуитивно понятным, графическим интерфейсом для создания и компиляции скриптов Inno Setup.
Скачать: :download: Inno Script Studio v2.3.0 [30.04.2018]
Дополнительно:
Русификация Inno Script Studio: :download: Вложение 14887 (Russian.lng - скопировать в папку "Inno Script Studio\Languages")
Русская справка по Inno Setup 5.6.1: :download: Вложение 14885 (ISetup.chm - копировать с заменой в корень "Inno Setup 5")
О русской справке:
Авторы перевода: BagIra, bugron, Leserg.
Данный chm файл является переводом оригинальной справки по Inno Setup. Перевод практически полный.
  • Встроенные функции расширенной версии Inno Setup,
  • Подборку полезных примеров из топика по Inno Setup (автор: fty),
  • Руководство по InnoSetup 5 (автор: Kindly),
  • Inno FAQ 1.4 с дополнениями (авторы: Krinkels, Shegorat, nik1967),
  • Inno Setup на практике (автор: BagIra),
  • Препроцессор Inno Setup. (автор перевода: Leserg).
Источник

Инструкция по установке Inno Setup:
  1. Скачайте инсталлятор Inno Setup юникодовый (для поддержки мультиязычности, в том числе русского языка).
    Желательно сразу QuickStart Pack unicode - это онлайн установщик, он, кроме самого "Inno Setup", заодно скачает и установит "Inno Script Studio" + модуль шифрования ISCrypt.dll.
  2. Теперь, у вас будет установлена не только "Inno Setup", а рядом будет установлена "Inno Script Studio" - собственно через которую и будет происходить редактирование скриптов и их компиляция. Но, на оффсайте ещё лежит файл русификации...
    Скачайте Русификацию для Inno Script Studio и извлеките из архива файл Russian.lng в папку "Inno Script Studio\Languages".
    Запустите программу, зайдите в меню "View -> Languages" и выберите "Русский (Россия)".
  3. Скачайте и распакуйте с заменой Русскую справку ISetup.chm в корень установленной папки программы "Inno Setup 5".
    В справке подробно по-русски расписаны все секции и возможные команды, а так же собраны по форумам многие решения и ответы на вопросы.
    Кроме того, когда вы в скрипте выделяете ключевое слово или команду, выбираете в меню "Помощь -> Вложение 14898 Документация Inno Setup", тогда автоматически производится поиск по справке и выводится результат.
  4. Теперь, когда щёлкаете по файлу скрипта *.iss исходника, он автоматически будет открываться в "Inno Script Studio".
  5. Наверху нажимаете кнопочку Вложение 14888 (Выполнить) - происходит тестовая компиляция и проверка работы скомпилированной программы.
  6. В заключении нажимаете кнопку Вложение 14889 (Компилировать текущий скрипт Inno Setup)
  7. Забираете готовый экзешник в папке Output или оттуда, как указан путь в скрипте.


Если вы захотите скомпилировать какой-нибудь из старых проектов, то последние версии, от 5.5.3 и выше, чаще всего не смогут ничего скомпилировать, просто будут вылетать ошибки. Дело в том, что довольно долгое время разработка не развивалась и остановилась на стабильной версии 5.5.1. За это время было написано под неё много плагинов, было выпущено много всевозможных разработок, особенно нашими китайскими собратьями.

Поэтому, если вы хотите иметь возможность компилировать скрипты, сделанные в "Расширенной версии" от китайских разработчкивов, тогда вам необходимо установить версию Inno Setup 5.5.2. Рекомендуется к применению из-за огромного количества компонентов, функций и процедур, удобного интерфейса, наличия отладчика и Form Designer-а. Собран на основе исходников Inno Setup 5.5.2.

Инструкция по установке "Расширенной версии Inno Setup" от команды Restools
  1. Скачайте и установите Вложение 15761 (зеркало) или Вложение 15762 (зеркало)
    5.5.1 - номер официальной версии Inno Setup только на которую можно установить Расширенную версию от китайцев.
    Примечание: Если у вас установлена последняя официальная версия Inno Setup 5.6.1 и вы не хотите, чтобы она затёрлась, тогда, во время установки этой старой версии, измените название папки установки с "Inno Setup 5" на "Inno Setup 5.5.1".
  2. У вас будет установлена не только "Inno Setup 5.5.1", но и "Inno Script Studio 2.3.0" - собственно через которую намного удобнее производить редактирование скриптов и их компиляцию. На оффсайте для "Inno Script Studio" лежит файл русификации...
    Скачайте Русификацию для Inno Script Studio и извлеките из архива файл Russian.lng в папку "Inno Script Studio\Languages".
    Запустите программу, зайдите в меню "View -> Languages" и выберите "Русский (Россия)".
  3. Скачайте и распакуйте с заменой Русскую справку ISetup.chm в корень установленной папки программы "Inno Setup 5.5.1".
  4. Скачайте и распакуйте Inno Setup Compiler Extended build 121216: :download: Вложение 14880 | Скачать с оффсайта
    Применимо к версиям 5.5.0 - 5.5.2, расширение build 121216. Многоязыковая поддержка: английский, китайский, русский.
    • Из одноимённой папки, в соответствии с установленной версией (ANSI или Unicode), скопируйте Compil32Ex.exe, Templates.dat и папку ISLanguages в каталог Inno Setup 5 (по умолчанию: C:\Program Files (x86)\Inno Setup 5).
    • Примечание: если у вас Unicode версия, то дополнительно примените твик реестра (файл CourierNew.reg) из папки UnicodeFontLink и перезагрузите компьютер. Твик добавляет к шрифту CourierNew поддержку восточно-азиатских символов.
  5. Скачайте и распакуйте Inno ISCmplr Setup Extended: :download: Вложение 14881 | Скачать с оффсайта
    Применимо только к версии Inno Setup 5.5.1.
    • Из папки, в соответствии с установленной версией (InnoSetup_ANSI или InnoSetup_Unicode), из подпапки FullVCL скопируйте все файлы в каталог Inno Setup (по умолчанию: C:\Program Files\Inno Setup 5.5.1\).
  6. Теперь вы можете компилировать программы через "Inno Script Studio". Запустите программу, откройте в меню "Сервис -> Настройки", пройдите к вкладке "Настройки компилятора" и выставьте путь к папке "C:\Program Files (x86)\Inno Setup 5.5.1".
  7. Если "Inno Script Studio" всё равно выкидывает ошибки при компиляции старых программ, тогда попробуйте компилировать программы напрямую через "Inno Setup 5.5.1". Для этого, зайдите в эту папку и запустите файл Compil32Ex.exe, откройте меню "Инструменты -> Настройки..." и нажмите кнопку "Связать файлы *.iss с этим компилятором", а компилятор "Inno Script Studio" свяжите с последней версией "Inno Setup 5" (v5.6.1) по инструкции из предыдущего пункта. Теперь, при щелчке по файлам *.iss, они будут открываться сразу в этом компиляторе.

ISSkin это дополнение для компилятора от Jordan Russell's Inno Setup, который обеспечивает расширенную поддержку скинов для Inno Setup. Это бесплатная версия от Codejock, которая позволяет добавлять настраиваемые скины для Inno Setup. Inno Setup является свободным компилятором для создания настраиваемых, профессионально выглядящих инсталляторов. ISSkin дает вам гибкость создания пользовательских визуальных стилей, которые могут использоваться с Inno Setup для добавления богатого профессионального вида для любой установки Inno Setup и причём совершенно бесплатно!

Особенности:
  • Поддержка существующих визуальных стилей Microsoft.
  • Простой в использовании, с помощью нескольких строк кода.
  • Скины, поддержка существующих установок.
Требования:
  • Inno Setup - для компиляции инсталлятора.
  • Microsoft Windows.
Достижение полностью тематического приложения может быть выполнено лишь в несколько строк кода. Основа скина обеспечивает максимальную совместимость с существующими Windows XP и выше, визуальных стилей и может использоваться на любой платформе Windows. Прилагается коллекция визуальных стилей, как например, Office 2007, Windows XP Royale Blue, Windows XP Luna стили от разработчика и много-много прочих от третьих лиц.

Использование:
  1. Скачайте архив, содержащий готовый пример кода в ISS и коллекцию из 700 всевозможных стилей *.cjstyles: :download: Вложение 15766
  2. Просто запустите ISSkin_Styles.iss и скомпилируйте инсталлятор.
  3. Просто поменяйте название скина на любое из имеющихся в строке #define Skin "Skin Name" между кавычками.
  4. Вам остаётся вставить туда свой код инсталлятора и инсталлятор с вашим оформлением готов!
  5. Вы можете сами редактировать свои стили с помощью редактора скинов, скачайте и установите редактор с оффсайта isskin.codejock.com.

ErikPshat 18.07.2018 15:09

Такс, засыпаю на ходу. Если вам будет не влом, посмотрите пожалуйста что здесь не так (архив во вложении)...
  • Инструкция у вас уже есть - как компилировать, я же не просто так почву подготавливал ;)
  • Там в папке Include лежат ресурсы к программе.
  • А в папке Archives я кинул для распаковки 6-томный архив "Test.7z.00x".
Вообщем, пока я сплю, может быть вы проверите работу всех кнопочек?
А главное, может найдёте решение, почему у меня архивы по 1-ой кнопкой не распаковываются?


P.S. Это как бы я готовлю шаблон для релиза игр в разделе "Прямое скачивание" для юзеров форума :)

in1975 18.07.2018 16:10

Вложений: 1
ErikPshat, 7zip кривой какой-то. С этим все норм Вложение 14875

BaseD 18.07.2018 16:23

ErikPshat, Кнопочки работают https://ibb.co/dk76My
Распаковывать не хочет...
Нажмите для увеличения


P.S Отвлеку маленько, это как https://ibb.co/i0mK8d

in1975 18.07.2018 16:36

BaseD, читай выше, проблему с распаковкой решил за 10 минут.

BaseD 18.07.2018 16:45

Цитата:

Сообщение от in1975 (Сообщение 1147924)
BaseD, читай выше, проблему с распаковкой решил за 10 минут.

Все работает.
Так я и не понял зачем инсталлятор для игр?

in1975 18.07.2018 18:13

Цитата:

Сообщение от BaseD (Сообщение 1147928)
Так я и не понял зачем инсталлятор для игр?

для меня это тоже загадка... :)

ErikPshat 19.07.2018 07:20

Цитата:

Сообщение от in1975 (Сообщение 1147915)
ErikPshat, 7zip кривой какой-то. С этим все норм Вложение 14875

О! Классно!!! Только там путь в батнике нужно поменять или параметр добавить на перезапись без запросов, а то запрашивает разрешение на запись файлов в ту же папку, где они и лежат в папке Include.

Цитата:

Сообщение от BaseD (Сообщение 1147928)
Так я и не понял зачем инсталлятор для игр?

Цитата:

Сообщение от in1975 (Сообщение 1147932)
для меня это тоже загадка... :)

Ну я так подумал, что можно выкладывать игры не просто так пакетами PKG, а прикольнее было бы, чтобы инсталлятор запускался, где можно было видеть описание по игре, открыть страницу с релизом на PSPx, сделать распаковку 7-Zip LZMA-2, причём запаролленный ключом "толькодлясвоих" :), ну и раздача игры в таком экзешнике - это как бы копирайт нашего сайта.

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

А по замыслу, должен раздаваться только экзешник, внутри которого будут лежать все PKG и которые просто так нельзя будет взять и вытащить. Нажимаешь кнопку "Распаковать" и 2 PKG должны извлекаться из экзешника, хотя внутри они будут лежать многотоммными архивами 7-Zip, arc или rar. Правда это пока я сделал на коленке через батник, а вообще для этого есть библиотека ISDone 0.6 Final для Inno Setup.
Если что, как паковать и распаковывать с помощью ISDone есть на Ютубе видео. Ну а, если появятся вопросы, можно попросить помочь написать нужный код, вам всегда помогут, например на Ру-Борде или на форуме Krinkels.org или на ОС Зоне

ErikPshat 19.07.2018 07:44

Вот в этом маленьком уроке с примером вы уже знаете достаточно много, в частности:
  • Как создавать окна программы.
  • Как выводить картинку BMP в окно.
  • Как расставить кнопочки.
  • Научились запускать из кнопочки батник или экзешник.
  • Найчились запускать текстовик локально.
  • Научились запускать локально HTML-страницу (HTM).
  • Найчились, как создавать такие HTML-страницы с картинками, с жирным заголовком и цветным шрифтом.
  • Научились кнопкой открывать сайты в интернете.
  • Даже научились открывать папку на компьютере.
Вот видите. На таком маленьком уроке, даже начинающий уже многому может научиться ;). А коду там всего ничего.
Чтобы поменять код под другую игру, достаточно поменять текст в верхних 5 строчках с дефайнами, ну и сменить картинку и подогнать нужный текст в текстовиках.

А вы наводили курсор на экзешник? Там тоже будут наши копирайты, например имя релизёра и PSPx Team.

http://funkyimg.com/i/2JAhC.png

За эту информацию при компиляции отвечают эти строки (через Ресторатор они все видны, но на экран выводятся не все):
  • VersionInfoCompany={#Publisher}
  • VersionInfoCopyright=(c) 2006-2018 {#Publisher}
  • VersionInfoProductName={#Name}
  • VersionInfoDescription={#Name} {#UserName}
  • VersionInfoVersion={#Version}
А вот так выглядит в Restorator 2007 (исходники там прилагаются):

http://funkyimg.com/i/2JAhG.png

И тут мы видим в первой же строчке палево: This installation was built with Inno Setup.
На ру-борде я писал решение. Если что, копирну сюда...

Цитата от Blind
Цитата:

Как изменить комментарий в версии получаемого файла установки? А то там всегда оказывается строка
This installation was built with Inno Setup. Что-то не нашёл как поменять
Тоже сегодня обратил внимание, что во всех скомпилированных программах в свойствах отображается такая строка комментария. Как-то некрасиво получается. Решил покопаться в файлах и всё-таки оно нашлось.
  1. Короче, запускаем Хекс-редактор (от имени администратора) и открываем в нём файл C:\Program Files\Inno Setup 5\SetupLdr.e32.
  2. Вводим в поиск текстовую строку "This installation was built with Inno Setup." и ищем в формате "Unicode String":
    http://funkyimg.com/i/2x29m.png
  3. Заменяем справа буквы на пробелы. Или слева меняем код букв на код пробела 0x20 и сохраняем. Имейте в виду, что нули между буквами не трогаем, т.к. это Unicode текст.
Другой способ:
  1. Запускаем редактор ресурсов (от имени администратора) и открываем в нём файл C:\Program Files\Inno Setup 5\SetupLdr.e32.
  2. Идём в секцию "Версия -> 1", видим эту надпись в "Комментарии":
    http://funkyimg.com/i/2x28T.png
  3. Нажимаем вверху "Режим редактирования" и удаляем эту надпись, либо пишем свою, которая будет впоследствии выступать в качестве шаблона для всех ваших компиляций. Либо вообще можете удалить эту строчку (чуть выше и правее есть кнопка "Удалить").
  4. После редактирования строки, нажимаем F8 или в меню наверху галочку (птичку) и сохраняем.
Вообще-то этот файл используется просто в качестве шаблона, который встраивается в версию при компиляции и заполняется данными из скрипта.

ErikPshat 21.07.2018 16:13

Переделал инсталлятор. Затестите плиззз, понажимайте на кнопочки...
Если у кого есть желание, то можно скачать архивы этой игры, проверить на распаковку и упаковать игру в PKG, выложить релиз и программу рядом )))
  • Теперь инсталлер автономный. То есть, папку с ресурсами рядом с экзешником держать не надо, т.к. все файлы пакуются в инсталлер, а при запуске, сначала файлы распаковываются во временную папку, после этого запускается окно программы, отрисовывая интерфейс - картинка и все кнопки из временной папки %TEMP%.
  • Добавлена Splash-заставка перед открытием программы.
  • Тома архива (001 002 003 004 005) кидаются рядом с экзешником и распаковываются в папку "ExtractedGame" кнопкой программы (для теста прилагаются 5 маленьких томов).
  • Так же, для таких кто в танке, которые будут спрашивать "А что делать с этими 001?", то можно ссылаться на программу, она распакует любые архивы 001 от любых игр, упакованных с паролем "толькодлясвоих", и скорее всего, любые незапароленные архивы (не проверял), т.к. незапароленные архивы вроде должны распаковываться даже с паролем.
Единственное, не смог пока выставить условие для 32-битного 7z.exe, ведь в проге используется x64.



Есть такая инструкция для проверки через Check, которая извлекает только нужную версию в ходе установки. Но в моём случае это не работает, т.к. у меня нет хода установки, а есть принудительное извлечение, предварительно, перед запуском программы, через функцию ExtractTemporaryFile.
Код:

[Files]
Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: IsWin64;
Source: "MyProg-x86.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: "not IsWin64";


BaseD 22.07.2018 09:29

Цитата:

Сообщение от ErikPshat (Сообщение 1148210)
Переделал инсталлятор. Затестите плиззз, понажимайте на кнопочки...
Если у кого есть желание, то можно скачать архивы этой игры, проверить на распаковку и упаковать игру в PKG, выложить релиз и программу рядом )))

Все работает, с заставкой, еще музончик можно добавить ;)
Вопрос, что за библиотека isgsg.dll?

Тут вот на это наткнулся http://krinkels.org/threads/faq-po-inno-setup.7/ не знаю, будет полезным?

ErikPshat 22.07.2018 17:01

BaseD, ну музончик только раздражает некоторых людей. Конечно приколькно и реализовать не сложно. Но думаю лучше не надо, лишние понты имхо )))

Цитата:

Сообщение от BaseD (Сообщение 1148263)
Вопрос, что за библиотека isgsg.dll?

Это расшифровывается так: isgsg - Inno Setup GameScript Generator - вышло из проекта любителей Контер Страйк на форуме CSmania.RU. Вообще интересная программа, содержит другие полезные библиотеки и генерирует готовые скрипты.
А сейчас эту прогу можно скачать на Krinkels.org 1.1.0.62. Вот, когда ты указываешь картинку, то поля автоматически заполняются сами. Там ты можешь изменить интервалы времени на свои. И при генерации скрипта, у тебя в папке с проектом появится библиотека isgsg.dll v0.6.0.69.

http://funkyimg.com/i/2JFtx.png

Описание синтаксиса функций Splash-заставки:
Код:

ShowSplashScreen(p1:HWND, p2:string, p3,p4,p5,p6,p7:integer, p8:boolean, p9:Cardinal, p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
Цитата:

p1 - хендл окна - WizardForm.Handle
p2 - путь к изображению - ExpandConstant('{tmp}\Splash.png')
p3 - время появления в мс - 1000
p4 - время отображения - 2000
p5 - время затухания - 1000
p6 - минимальная прозрачность изображения (0-255) - 0
p7 - максимальная прозрачность изображения (0-255) - 255
p8 - вырезать или нет цвет из изображения (только для .bmp) - True/False
p9 - какой цвет вырезать - $FFFFFF
p10 - число - 10
Путь до библиотеки DLL - external 'ShowSplashScreen@files:isgsg.dll stdcall delayload'
Там, в последнем посте на CSmania.RU ещё есть интересная программка Codejock Skin Builder. Кстати, я иногда встречал, что к скрипту подключают файлы *.cjstyles, которые выдаёт эта программа.

ErikPshat 24.07.2018 22:18

Такс, продолжение проекта экстрактора игровых архивов. Потестите плиз...
  • Убрал батник с чёрным консольным окном.
  • Окультурил распаковку архивов через прогресс-бар.
  • Сделал распаковку архивов 7z, ZIP, RAR, 001 (многотомные) с паролем "толькодлясвоих" или незапароленных..
  • Заархивируйте в архив любой чуть больше, чем в примере, файл/папку и протестируйте...
Теперь мучаю, как сделать при выборе языка, изменение его на кнопочках и в прогресс-баре при распаковке.

ErikPshat 25.07.2018 12:31

in1975, кстати, как проснёшься, посмотри на этот инсталлятор: Need for Speed: ProStreet 1.1

Там динамическая смена языков прямо в первом окне "Выбора языка установки". Щёлкаешь на флаги - язык в этом же окне сразу изменяется.

http://krinkels.org/attachments/1-png.1524/

У меня слева как раз есть место для размещения флагов. И хорошо бы сделать так, чтобы язык менялся на кнопках.

P.S. На заметку - интересная статья по Inno Setup.

ErikPshat 28.07.2018 11:19

Вложений: 1
Итак, думаю это ФИНАЛ! - если вдруг не случатся непредвиденные глюки, в частности на Win32.
  • Добавлено изменение языка интерфейса при выборе языка на старте.
  • Добавлено определение битности системы. Если прога запущена на Win32, тогда распаковка архивов производится 32-битным модулем 7-Zip и наоборот с Win64.
Ну и как обычно, просьба потестить программу - на разных языках, на предмет разархивации тестовых архивов 001/7z/ZIP/RAR (прилагаются с программой).
Особенно интересует работа на 32-битной Windows x86...

in1975 28.07.2018 11:35

У меня работает. Win10 x64

BaseD 28.07.2018 21:50

Win7 x32+x64 проверил на обоих, все работает, давай релиз уже :)

ErikPshat 29.07.2018 09:20

BaseD, отлично!!! :good: именно x86 интересовала.

А вот косяк всё же был.
Если у юзера не установлен был 7-Zip, то выскакивала ошибка типа "Не удалось распаковать архив. Не найден 7z.dll".
У кого был установлен 7-Zip, то архиватор просто тихо подхватывал установленную DLL.
А я об этом подозревал и проверил, удалил архиватор и сразу ошибку поймал.

Пришлось добавлять в программу 2 штуки 7z.dll от x64/x86. Архив выше обновил.
Теперь программа полностью автономна и универсальна :negro_dance:

BaseD 29.07.2018 09:32

Цитата:

Сообщение от ErikPshat (Сообщение 1148904)
BaseD, отлично!!! :good: именно x86 интересовала.

А вот косяк всё же был.
Если у юзера не установлен был 7-Zip, то выскакивала ошибка типа "Не удалось распаковать архив. Не найден 7z.dll".
У кого был установлен 7-Zip, то архиватор просто тихо подхватывал установленную DLL.
А я об этом подозревал и проверил, удалил архиватор и сразу ошибку поймал.

Пришлось добавлять в программу 2 штуки 7z.dll от x64/x86. Архив выше обновил.
Теперь программа полностью автономна и универсальна :negro_dance:

Ну такой расклад сложно предположить, такие утилиты ставишь обычно сразу, за установкой системы.

ErikPshat 29.07.2018 09:45

Оставлю пока здесь полезние и интересные скрипты:

Как динамически создать батник?
[CODE][Setup]
AppName=MyApp
AppVername=MyApp
DefaultDirName={pf}\MyApp
DisableWelcomePage=True

Код:

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
  Confirm:= False;
  Cancel:= True;
end;

function InitializeSetup(): Boolean;
var List: TStringList; src, dest, bat: string; res: Integer;
begin
  src:= ExpandConstant('{src}');
  BrowseForFolder('Choose destination dir', dest, True);
  bat:= ExpandConstant('{userappdata}\exec.bat');
  List:= TStringList.Create;
  List.Add('echo off');
  List.Add('set src='+src);
  List.Add('set dest='+dest);
  List.Add('@echo SourceDir: "%src%"');
  List.Add('@echo DestinationDir: "%dest%"');
  List.Add('pause');
  List.Add('del "'+bat+'"');
  List.Add('pause');
  List.SaveToFile(bat);
  List.Free;
  Exec(bat, '', '', SW_SHOW, ewNoWait, Res);
end;



Текущее время: 08:54. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.