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

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

Ответить
Настройки темы
Inno Setup. Прочие вопросы

Аватара для El Sanchez

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 30-03-2023

Внимание!!!
Данная тема не предназначена для обсуждения скриптов! Для этого создана отдельная тема!

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





Описание

Inno Setup - это бесплатный инсталлятор для программ Windows. Впервые появился в 1997 году, 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.

Последняя стабильная версия - 6.2.2 [15.02.2023]. История версий.
Официальные сборки Inno Setup 6.2.2:
Редакторы iss-скриптов:
  • Расширенная версия Inno Setup от Restools

    Сайт: http://restools.hanzify.org/
    Скачать:Рекомендуется к применению из-за огромного количества компонентов, функций и процедур, удобного интерфейса, наличия отладчика и Form Designer. Собран на основе исходников Inno Setup 5.5.1.
    Инструкция по установке

    Инструкция по установке:
    1. Установите ispack-5.5.1.exe или ispack-5.5.1-unicode.exe (5.5.1 - номер официальной версии Inno Setup для последующего обновления расширенной версией);
    2. Скачайте Inno Setup Compiler, распакуйте;
    3. Из одноимённой папки, в соответствии с установленной версией (ANSI или Unicode), скопируйте два файла (Compil32.exe, Templates.dat) в каталог Inno Setup (по умолчанию: C:\Program Files\Inno Setup 5\). Появится сообщение с подтверждением о замене файла, нажимаем 'Да'.
      Примечание: если у вас Unicode версия, то дополнительно примените твик реестра (файл CourierNew.reg) из папки UnicodeFontLink и перезагрузите компьютер.
    4. Скачайте Inno ISCmplr Setup, распакуйте;
    5. Из одноимённой папки, в соответствии с установленной версией (InnoSetup_ANSI или InnoSetup_Unicode), из подпапки FullVCL скопируйте все файлы в каталог Inno Setup (по умолчанию: C:\Program Files\Inno Setup 5\). Появится сообщение с подтверждением о замене файла, нажимаем 'Да'.

  • Inno Script Studio от Kymoto Solutions

    Сайт: https://www.kymoto.org/
    Скачать: Inno Script Studio v2.5.1 [28.11.2020]
    Inno Script Studio является новым, интуитивно понятным, графическим интерфейсом для создания и компиляции скриптов Inno Setup.
Дополнительно



Распаковщики/декомпиляторы инсталляторов Inno Setup

Параметры командной строки инсталлятора (ссылка)

Отправлено: 00:25, 24-08-2009

 

Старожил


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

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


Gnom_aka_Lexander, т.е. мне запаковывать без файлов unins000.exe и unins000.dat? Верно?
И да, ещё не создаётся папка в меню пуск, где хранились бы ярлыки игры и деинсталлятора.
Вот весь скрипт:
читать дальше »
; Скрипт создан с помощью
; IS GameScript Generator by South
; специально для www.csmania.ru

[Setup]
SourceDir=.
OutputDir=Setup
AppName=Next Car Game
AppVerName=Next Car Game
AppVersion=Next Car Game
DefaultDirName={pf}\Next Car Game
DefaultGroupName=Next Car Game
AllowNoIcons=yes
OutputBaseFilename=setup
WizardImageFile=G:\Разное\Разное2\Текстовые док\для торрента\разадача\Next car game\инсталлятор.bmp
SetupIconFile=C:\Program Files\Smart Install Maker\Icons\Install\Install-7.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra
DiskSpanning=yes
DiskSliceSize=734003200
SlicesPerDisk=1

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: J:\Fraps\Screenshots\Next Car Game 2014-01-20 20-59-04-41.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: J:\game\Next Car Game\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: {group}\Next Car Game; Filename: {app}\Next Car Game.exe; WorkingDir: {app}
Name: {userdesktop}\Next Car Game; Filename: {app}\Next Car Game.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Next Car Game}; Filename: {uninstallexe}

[Run]
Description: {cm:LaunchProgram, Next Car Game}; Filename: {app}\Next Car Game.exe; WorkingDir: {app}; Flags: nowait postinstall skipifsilent unchecked

[UninstallDelete]
Type: filesandordirs; Name: {app}

[code]
function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';

procedure InitializeWizard;
begin
ssInitialize(GetWindowLong(MainForm.Handle,-8),0,False,2,$FF000000);
ExtractTemporaryFile('Next Car Game 2014-01-20 20-59-04-41.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\Next Car Game 2014-01-20 20-59-04-41.jpg');
end;

procedure DeinitializeSetup;
begin
ssDeInitialize;
end;

Отправлено: 21:41, 21-01-2014 | #461



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

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


SHVtYW4=


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

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


Цитата Killerrok:
т.е. мне запаковывать без файлов unins000.exe и unins000.dat? Верно? »
Ну ты даёшь.

Посмотри повнимательней в секцию [Icons].
Видишь, у тебя в скрипте и так прописана деинсталляция:
Код: Выделить весь код
[Icons]
Name: {group}\{cm:UninstallProgram,Next Car Game}; Filename: {uninstallexe}
По этому паковать в инсталлятор файлы unins000.exe и unins000.dat вообще нет смысла.
А сообщение Внутренняя ошибка: Cannot find utCompiledCode record for this version of the unistaller выдаёт потому что те файлы unins000.exe и unins000.dat не соответствуют скомпиленой версии.
При установке, инсталятор записывает все действия в файл unins000.dat, вот и получилось что в файл unins000.dat старой версии, установщик записал свои данные новой версией т.е своей версией.

Уточню о какой версии идёт речь: Речь идёт о версии Inno Setup.
Например предыдущий инсталлятор был создан версией Inno 5.2.9, он создал файлы деинсталляции unins000.exe и unins000.dat. Новый инсталлятор ты создал уже новой версией Inno, например 5.5.1 при этом захватив файлы деинсталляции предыдущей установки. Вот и получилось что файл unins000.dat версии 5.2.9 был дополнен инсталлятором 5.5.1 - от того и сообщение Внутренняя ошибка: Cannot find utCompiledCode record for this version of the unistaller.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 08:47, 22-01-2014 | #462


Старожил


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

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


Nordek, спасибо, буду пробовать. И да, я не особо понимаю в этой программе, всего второй день её вижу, так что, уж извините
А как исключить эти файлы из упаковки?

Отправлено: 14:18, 22-01-2014 | #463


SHVtYW4=


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

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


Цитата Killerrok:
А как исключить эти файлы из упаковки? »
Если при компиляции в состав игры входят файлы unins000.exe и unins000.dat, то просто удали эти два файла из папки подготовленной игры для компиляции.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 14:30, 22-01-2014 | #464


Старожил


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

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


Nordek, спасибо.

Отправлено: 14:45, 22-01-2014 | #465


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Nordek:
Вот и получилось что файл unins000.dat версии 5.2.9 был дополнен инсталлятором 5.5.1 - от того и сообщение Внутренняя ошибка: Cannot find utCompiledCode record for this version of the unistaller. »
Nordek, причем тут старая/новая версия компилятора? Установщик, собранный в последней версии компилятора, спокойно будет писать в лог деинсталлятора установщика, собранного в более ранней версии. Тут просто деинсталлятор unins000.exe собран в Unicode, а лог unins000.dat - в ANSI (или наоборот). Лог деинсталлятора состоит из заголовка и последовательности структур различных типов. utCompiledCode - это маркер одной из структур, где хранятся данные из секции Code (utRun - данные секции Run, utDeleteDirOrFiles - данные секции Dirs или программные папки и т.д.), после маркера utCompiledCode (тип Word) идет версия компилятора (тип LongWord), на нее-то и ругается деинсталлятор, встретив вражеский лог. Если, к примеру, версию 5.5.1 ANSI-компилятор запишет как $05050100, то Unicode-компилятор установит 25-ый бит и та же версия будет выглядеть как $85050100. Эти 2 числа не равны, поэтому Unicode-деинсталлятор, ожидая прочитать из лога число $85050100 и получив дулю в виде числа $05050100, страшно выругается.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:24, 22-01-2014 | #466


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


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

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


Здравствуйте, скажите какой модуль системных требований лучше и стабильней isUtils.dll или get_hw_caps.dll? Спасибо!

Отправлено: 17:39, 08-02-2014 | #467


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


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

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


Всем привет столкнулся вот с такой сложностью, я не понял как сделать в этой программе что бы часть файлов устанавливалась в папку например "Программ файлс" а вторая часть файлов устанавливалась в папку мои документы на компьютере? просто я создал Сетуп отдной программы и теперь при установки все файлы этой программы устанавливаются в одну папку, а мне надо что бы определенные файлы устанавливались в одну папку а другие в другую...

Отправлено: 15:55, 20-02-2014 | #468


Ветеран


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

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


4o_kavo, на самом деле это не проблема, если прочитать в справке про константы путей
Код: Выделить весь код
[Files]
Source: ваши файлы; DestDir: {userdocs}
P. S.
Скрипты обсуждают в соседней теме Скрипты Inno Setup. Помощь и советы

Отправлено: 17:14, 20-02-2014 | #469


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


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

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


Цитата saurn:
4o_kavo, на самом деле это не проблема, если прочитать в справке про константы путей
Код: »
а где прочесть это можно?

Отправлено: 18:02, 20-02-2014 | #470



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [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
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход