Войти
  1. ВКонтакте
  2. Facebook
  1. »
  2. »
  3. »
  4. InnoSetup Ultra
Скрыть панель справаПоказать панель справа

InnoSetup Ultra

Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 1 отправлено 19:39, 01.05.2011
Inno Setup




Программа для создания инсталляционных пакетов. Созданный утилитой инсталляционный файл какого-либо приложения, позволяет при его установке считывать и записывать данные в реестр и в конфигурационные INI-файлы. Тут имеется возможность регистрации библиотек и ActiveX компонентов, а также запуск внешних программ. Кроме того, в утилите есть опция создания типов установки, например, таких, как: полная установка, минимальная, выборочная и т.д. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталлятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.

Готовая сборка инструментов для работы. (к сожалению, ресурс недоступен).

Состав:
1. Расширенная версия от Restools
2. Коллекция плагинов от Restools
3. InnoSetup Script Joiner
4. Inno setup Skin Builder 3.0.0.2 с русиком
5. InnoSetup Unpacker расширенная версия
6. InnoIDE Великолепная альтернатива IStool.
7. Собственно, сам IStool.
8. InnoScriptGenerator 1.0.3.1, переведенный на русский язык
9. Готовые модули взятые с форума Ру-Боард
10. Конвертер файлов реестра в скрипт Инно.

От меня - обалденная весчь




Русская версия Inno Setup v5.5.9 (ANSI/Unicode)

В архиве содержатся полные версии Inno Setup (соответственно ANSI и Unicode), для установки которых не требуется наличие оригинальных версий.

Примеры скриптов (к сожалению, ресурс недоступен)

Последний раз редактировал gazon01 00:32, 12.08.2017

------------------------------------------
Veikko
  1. Гости
Полезность: 0 | сообщение № 2 отправлено 16:24, 10.05.2011
Спасибо...А то обыскался разнобоем искать...
Новичок
  1. Офлайн
  2. Участники
  3. 27 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 3 отправлено 16:23, 29.05.2011
Это не архив с софтом, это инсталл пакет Инока потроха не удалось просмотреть.
На слово не верю значит в топку как мусор!
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 4 отправлено 17:52, 29.05.2011
Quote (sawe)
Это не архив с софтом, это инсталл пакет Инока потроха не удалось просмотреть.


Ну так хто на шо учился biggrin

Quote (sawe)
На слово не верю значит в топку как мусор!


Молодец! Воно тоби нэ потрибно biggrin


------------------------------------------
Мастер
  1. Офлайн
  2. Администраторы
  3. 1263 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 5 отправлено 18:13, 29.05.2011
Quote (sawe)
Это не архив с софтом, это инсталл пакет Инока потроха не удалось просмотреть. На слово не верю значит в топку как мусор!

И зачем качал happy


------------------------------------------
\"Возможно всё! На невозможное просто требуется больше времени.\"
Мудрец из Шангри Ла
Новичок
  1. Офлайн
  2. Участники
  3. 27 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 6 отправлено 00:53, 31.05.2011
Quote
И зачем качал

обычно набор программ архивирую в Zip (признан большинством сообщества как универсальный интернет стандарт)
Последний Инок, пока не удаётся вскрыть ни чем.
Я редко пользуюсь Иноком, мне не нравиться, что он таскает с собой модуль в 1мб, как чемодан без ручки, хотя в последнее время он стал популярным благодаря его способности поддерживать скины.
Мастер
  1. Офлайн
  2. Администраторы
  3. 1263 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 7 отправлено 01:05, 31.05.2011
Quote (sawe)
обычно набор программ архивирую в Zip (признан большинством сообщества как универсальный интернет стандарт) Последний Инок, пока не удаётся вскрыть ни чем.

ну что сказать на вкус и цвет....., поэтому делают кому как удобней,
а в этой ветке был https://wylek.ru/forum/19-156-1


------------------------------------------
\"Возможно всё! На невозможное просто требуется больше времени.\"
Мудрец из Шангри Ла
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 8 отправлено 12:33, 30.06.2011
Официальный сайт этой сборки - innoultra.ru
Качать лучше оттуда, чем с платных обменников.

Добавлено (30.06.2011, 12:33:31)
---------------------------------------------
Quote (sawe)
потроха не удалось просмотреть.

И не удастся, откомпилено на расширенной версии с шифрованием. Теоретически для тотала есть примочка, поэтому в следующем обновлении полностью заблокирую возможность вскрытия.

Последний раз редактировал Gnom 12:28, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 9 отправлено 12:47, 30.06.2011
Quote (Gnom)
И не удастся, откомпилено на расширенной версии с шифрованием. Теоретически для тотала есть примочка, поэтому в следующем обновлении полностью заблокирую возможность вскрытия.


Привет.
Хорошую сборку сделал.
Я случайно залетел на твой сайт и поставил его себе в закладки.
А за блокировку вскрытия - правильно и делаешь! Если бы поделился и с нами как это сделать, было бы просто замечательно. agree


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 10 отправлено 15:11, 30.06.2011
WYLEK, У Виктора Доброва есть пример. Там смысл такой - задается пароль, страница пароля тупо скрывается, дабы не заставлять пользователя его вводить. чтобы не было ошибки - пароль уже прописан. чтобы его нельзя было выловить - набирается частично русскими буквами и компилится на анси - анси-текст из кода вытащить абсолютно невозможно.
Пример невзламываемого инсталлятора от Доброва, внимание, часть букв в пароле русские:
как видите, все до глупого просто smile если еще и на расширенной версии компилить, то невозможно становится даже добраться до пароля smile

Добавлено (30.06.2011, 14:29:08)
---------------------------------------------
Quote (sawe)
таскает с собой модуль в 1мб

Не заметил. Дефолтный инсталл инно весит чуть больше 300 кил, если не делать деления на диски - ничего с наружи не будет. Сжатие давно уже используется 7-зиповский лзма-2. Доступно 64-битное сжатие, и даже настройки сжатия. Читаем справку - многие этого не любят, а зря smile

Добавлено (30.06.2011, 14:52:43)
---------------------------------------------
Quote (sawe)
он стал популярным благодаря его способности поддерживать скины.

Не только скины. С его помощь, очень мало есть такого, чего нельзя сделать. А чего нельзя - всегда можно сваять длл-ку, с помощью которой станет можно wink

Добавлено (30.06.2011, 15:11:30)
---------------------------------------------
Раз уж пошла такая пьянка:
Quote (sawe)
обычно набор программ архивирую в Zip
а как реализуеш интеграцию в оболочку системы этих программ? Как реализуется запись в реестр, подменю проводника, в зависимости от папки установки? у зип и 7-зип возможности немаленькие, но этого они точно не умеют smile

Последний раз редактировал Gnom 15:12, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 11 отправлено 15:13, 30.06.2011
Quote (Gnom)
как видите, все до глупого просто smile если еще и на расширенной версии компилить, то невозможно становится даже добраться до пароля


Да, это в хелпе с руборда есть
Надо попробовать.

Меня очень интересует вот этот вопрос - Мне нужно, чтобы инсталлятор искал в реестре ключ, копировал оттуда значение пути, а потом просто устанавливал этот путь как "корневой" для установочных файлов.
Дело в том что во всех примерах у меня адресная строка пустая...
Хотелось бы рабочий скрипт на это дело.
Некоторым пользователям влом нажать кнопку Обзор и правильно ввести путь.
Надо им помочь biggrin


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 12 отправлено 15:26, 30.06.2011
Два варианта:
Если запись в реестре точно должна быть, и если нет, то не стоит и устанавливать.


Второй вариант если записи в реестре у программы нет, но есть интеграция в проводник, тогда можно выловить эту интеграцию и и по ней определить путь:

через разделительную черту можно указать свой путь установки, если ключ не найден - |{pf}\MyApp

Последний раз редактировал Gnom 15:31, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 13 отправлено 16:53, 30.06.2011
Quote (Gnom)
Если запись в реестре точно должна быть, и если нет, то не стоит и устанавливать.


Не получилось ничего...

Quote (Gnom)
через разделительную черту можно указать свой путь установки, если ключ не найден - |{pf}\MyApp


Это работает biggrin

Подставил свое значение - RegQueryStringValue(HKCR, 'NSIS.Script\shell\compile\command', '', Path);

и в адресной строке вывело - C:\Program Files (x86)\NSIS


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 14 отправлено 17:23, 30.06.2011
Quote (WYLEK)
Не получилось ничего...
не получится может в двух случаях - либо искомой записи нет, либо неверно указан путь к ней.
Покажи свой скрипт ,с которым не получилось.

Последний раз редактировал Gnom 17:28, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 15 отправлено 17:37, 30.06.2011
Quote (Gnom)
Покажи свой скрипт ,с которым не получилось.


Под спойлером уже другой скрипт. В первом ключ находился но в адресную строку не выводило.

Вот значения реестра -

[HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip]
"Path"="C:\\Program Files (x86)\\7-Zip\\"
"Path64"="C:\\Program Files (x86)\\7-Zip\\"

Как их вставить правильно?


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 16 отправлено 18:05, 30.06.2011
Там двойной слеш в пути, изза этого и не показывает путь, нужно посоветоваться - там нужно удалять второй слеш. Сейчас попозже дам решение. И закрепи, тогда уж шапку, глядиш, разовьется тема smile

Последний раз редактировал Gnom 18:11, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 17 отправлено 18:12, 30.06.2011
Quote (Gnom)
Там двойной слеш в пути, изза этого и не показывает путь, нужно посоветоваться - там нужно удалять второй слеш. Сейчас попозже дам решение.


ОК.

Но в реестре один только.



Quote (Gnom)
И закрепи, тогда уж шапку, глядиш, разовьется тема


Да я только ЗА!
Если у тебя есть чему нас научить - мы здесь и будем прилежными учениками beer
И тему будешь вести сам agree


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 18 отправлено 18:26, 30.06.2011
Держи, проверил у себя, должно отработать ина х64 и на х32, хотя на х32 нужно еще проверить.


Добавлено (30.06.2011, 18:26:23)
---------------------------------------------
Quote (WYLEK)
Если у тебя есть чему нас научить - мы здесь и будем прилежными учениками

Ну, было-бы желание учится, а чего сам знаю - научу.

Последний раз редактировал Gnom 18:27, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 19 отправлено 18:33, 30.06.2011
Quote (Gnom)
Держи, проверил у себя, должно отработать ина х64 и на х32


Все работает! Вопросы у меня к тебе еще есть, но это потом.
Давай создадим раздел и поведешь его. Мне, например, все интересно что связано с установщиками.


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 20 отправлено 18:37, 30.06.2011
Quote (WYLEK)
Давай создадим раздел

Не обязательно, достаточно модифицировать этот. Но, сперва, может опрос по форуму сделать, о необходимости такого? есть несколько больших форумов по инно, с остальными программами установки я не связывался, плюс, нужен ктото, кто хорошо знает дельфи и С+, для написания воспомогательных библиотек, что иногда требуется. На вопросы буду отвечать, в меру моих знаний и опыта.
Единственное - Установщики приложений нужно вынести в корень форума - Русификация программ - скорее дочерняя тема Установщиков приложений, чем наоборот smile

Последний раз редактировал Gnom 18:41, 30.06.2011
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 21 отправлено 18:42, 30.06.2011
Quote (Gnom)
Не обязательно, достаточно модифицировать этот. Но, сперва, может опрос по форуму сделать, о необходимости такого? есть несколько больших форумов по инно, с остальными программами установки я не связывался, плюс, нужен ктото, кто хорошо знает дельфи и С+, для написания воспомогательных библиотек, что иногда требуется. На вопросы буду отвечать, в меру моих знаний и опыта.


По русификации знаю - никто на блюдечке не подаст biggrin
Надо просто начать и делать - аудитория будет, главное увлечь народ.

Даю тебе права на создание новостей. Выставляй все что считаешь нужным по своему увлечению.


------------------------------------------
Мастер
  1. Офлайн
  2. Команда сайта.
  3. 901 сообщений
  4. Репутация: 9
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 22 отправлено 01:35, 01.07.2011
Quote (WYLEK)
Даю тебе права на создание новостей.

В нашем полку пополнение. Gnom - добро пожаловать в нашу компанию! beer

Quote (Leserg)
добро пожаловать в нашу компанию!

Спасибо smile Gnom


------------------------------------------
Кто ищет, тот всегда найдет!
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 23 отправлено 11:02, 01.07.2011
Можешь посмотреть что можно сделать вот здесь - https://wylek.ru/forum/32-204-1

Дело в том, что создается папка бэкапа, а можно ли сделать чтобы просто дописывала к файлу расширение .bak?

Например плагинам для фотошопа пофиг из какой папки читать файл. Я с этим столкнулся и был удивлен - фотошоп спокойно читал из бэкапной папки в 32 битном режиме енг файл а в 64 битном рус файл?! А если устанавливать с расширением .bak исходный файл - то все нормально.


------------------------------------------
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 24 отправлено 12:58, 01.07.2011
Такто можно, вариантов бекапа несколько, у того-же Доброва есть пример от Генри, не очень понятно, чего нужно, но сейчас посмотрю, чего можно сделать smile
Есть функция, которая замесчательно подойдет для этого:
function FileCopy(const ExistingFile, NewFile: String; const FailIfExists: Boolean): Boolean;
-копирует файл с заменой имени и расширения, сейчас придумаю, как прикрутить ее к бекапу.

нужен полный набор, для экспериметов и отладки.
Сталкер
  1. Офлайн
  2. Журналисты
  3. 100 сообщений
  4. Репутация: 0
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 25 отправлено 13:31, 01.07.2011
Навскидку - както так должно выглядеть:

но, нужен полный комплект - программа и полный набор для пача, чтобы настроить работу.
Легенда
  1. Офлайн
  2. Админ
  3. 1652 сообщений
  4. Репутация: 2
  5. Сообщение
  6. Личные данные
Полезность: 0 | сообщение № 26 отправлено 15:18, 01.07.2011
Quote (Gnom)
Такто можно, вариантов бекапа несколько, у того-же Доброва есть пример от Генри, не очень понятно, чего нужно, но сейчас посмотрю, чего можно сделать


Все правильно ты понял. Нужно было к пропатченому файлу прицепить расширение .bak

Quote (Gnom)
Навскидку - както так должно выглядеть:


Проверил - работает. Но переменные не прошли в поиске и MD5 файла, сделал напрямую ехе-файл

вот здесь - If (FileSearch('ThemesCreator.exe', ExpandConstant('{app}'))='')

и здесь - MD5 := GetMD5OfFile(ExpandConstant('{app}\ThemesCreator.exe'));

иначе проходило пропатчивание а потом выполнялся поиск и выводило ошибку.

И еще вопрос - как быть с этой процедурой с 10 файлами патча?
Что и куда вводить данные?

Code
BackupFile(PatchedFile,BackupedFile);
if PatchFileFunc(PatchedFile,BackupedFile) = 1 then
RestoreFile(BackupedFile,PatchedFile)
WizardForm.PROGRESSGAUGE.POSITION := 33;


Вот проверенный код

Code
[Code]
const
BackupDir = 'PatchBackup';
PatchFile = 'MyPatch.dat';
// Файл, который будем пачить.
PatchedFile = 'ThemesCreator.exe';
// Файл, который будет в бекапе.
BackupedFile = 'ThemesCreator.bak';

function vpatch(parentwnd: Integer; pluginname,funcname,param1,param2,param3: PChar): Integer;
external 'vpatch@files:callvpatch.dll stdcall';

function PatchFileFunc(FileName,BackupFileName: String): Integer;
begin
Result := vpatch(1,ExpandConstant('{tmp}\VPatch.dll'),'vpatchfile',ExpandConstant('{tmp}\'+PatchFile),
ExpandConstant('{app}\'+BackupDir+'\'+BackupFi leName),ExpandConstant('{app}\'+FileName));
// Result :
// 0 = іЙ№¦
// 1 = К§°Ь
end;

procedure BackupFile(FileName,BackupFileName: String);

begin
if not FileExists(ExpandConstant('{app}\'+BackupDir+'\'+BackupFileName)) then
FileCopy(ExpandConstant('{app}\'+Filename),ExpandConstant('{app}\'+BackupDir+'\'+BackupFileName),True);
end;

procedure RestoreFile(BackupFileName,FileName: String);
begin
FileCopy(ExpandConstant('{app}\'+BackupDir+'\'+BackupFileName),ExpandConstant('{app}\'+Filename),False);
DeleteFile(ExpandConstant('{app}\'+BackupDir+'\'+BackupFileName));
end;

function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\VPatch.dll')) then ExtractTemporaryFile('VPatch.dll');
if not FileExists(ExpandConstant('{tmp}\MyPatch.dat')) then ExtractTemporaryFile('MyPatch.dat');
Result:=true;
end;

// Проверка присутствия определенных файлов в папке с установленной программой на странице выбора папки назначения
function NextButtonClick(CurPage: Integer): Boolean;
var
s:string;
begin
Result:=True;
If CurPage=6 then
begin
If (FileSearch('ThemesCreator.exe', ExpandConstant('{app}'))='')
//Вставьте полное имя файла выше для проверки на присутствие
then
begin
s:='Извините, в директории '+ExpandConstant('{app}')+'' #13 'не обнаружены оригинальные файлы.' #13#13 'Пожалуйста, выберите правильный путь к папке для установки обновления.';
MsgBox(s, mbError, mb_Ok);
Result:= False
end;
end;
end;

//Не забываем вставить порверку на присутствие проверяемого файла

procedure CurPageChanged(CurPageID: Integer);
var
MD5,s:string;
begin

if CurPageID = wpInstalling
then
begin
MD5 := GetMD5OfFile(ExpandConstant('{app}\ThemesCreator.exe'));
If not (MD5 = '9711713d2e4173c3cf450a1ffd76f129')
//Вставьте полное имя файла выше и MD5 с енг буквами В НИЖНЕМ РЕГИСТРЕ!
then

begin
s:='Ошибка MD5 в файле обновления!' #13#13 'Установка прекращена.';
MsgBox(s, mbCriticalError, mb_Ok); //Если хеш файла(ов) не соответствует, выдается сообщение, и на этом все действия прекращаются.
WizardForm.Close; //Закрытие инсталлятора
Exit; //Прерывание и откат всех действий
end;
end;
end;

//Не забываем дописать еще такую процедуру
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
Cancel:=True;
If CurPage=12 //Это непосредственно страница с индикатором выполнения
then
begin
Confirm:=False; //На этой странице отключаем появление сообщения при нажатии на кнопку Отмена
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssInstall then
begin
CreateDir(ExpandConstant('{app}\'+BackupDir))

BackupFile(PatchedFile,BackupedFile);
if PatchFileFunc(PatchedFile,BackupedFile) = 1 then
RestoreFile(BackupedFile,PatchedFile)
WizardForm.PROGRESSGAUGE.POSITION := 33;
end;
end;


------------------------------------------
 
Перейти
Найти

Доступ закрыт.

  1. Вам запрещено отвечать в темах данного форума.

Последние темы

  1. Китайский браузер » 360 Extreme Explorer
    Автор: pangasiys Сегодня, 00:15
  2. 1by1 v1.90
    Автор: grazer08 Вчера, 12:28
  3. SoftColor PhotoEQ 10.5 Rus
    Автор: 78Sergey 22:31, 22.11.2017
  4. Задавайте вопросы по русификации и мы...
    Автор: LinXP 21:33, 21.11.2017
  5. Radialix 3
    Автор: troa 21:06, 21.11.2017
  6. Ultrasurf 17.02 - бесплатное...
    Автор: AnatoliY2020 12:20, 21.11.2017

Изменения статуса

  1. Никто не менял личный статус.