Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Artem_Butenko
Дата сообщения: 07.09.2008 14:25
LOGANXFI - не стоит так категорично осуждать форумчан, ведь люди могут быть просто заняты. По поводу Ваших вопросов, не буду заниматься плагиатом, а дам лишь общие рекомендации: 1) проверка статуса "установленности" приложения (см. рук. товарища Kindly за версией 5.1); 2) отключить возможность произвольного выбора каталого установки можно из секции [Setup] (см. русскую справку по Inno Setup от Bagira); 3) проверка по IP-адресу неудобна (что будут делать Ваши друзья, если у кого-нибудь из них динамический IP?), лучше использовать пароль и криптование с помощью ISCrypt.dll (благо это широко обсуждалось на форуме ранее); 4) если Corona Skin для Вас сложен, используйте вариант с сайта codejock.com (вариант скинирование инсталлятора на основе ISSkin.dll обсуждался ранее); 5) пример скрипта с использованием временных ограничений по использованию инсталлятора есть в шапке форума (см. "Сборник скриптов"); 6) насколько я знаю Inno не умеет удалять файлы, которые инсталлятор не копирует в каталог установки, тут Вам поможет написание .bаt-файла (содержащего сценарий удаления конкретных файлов в папке Datа) и запуск его из секции [Run] перед началом копирования файлов мода (информации по написанию батч файлов в рунете много, а варианты по их запуску из секции [Run] см. в "Сборнике вопросов..." от fly). Вот пожалуй и все, шаблоны скриптов Вы найдете, а если не получится синтезировать конечный скрипт, пишите на форум!
Автор: serg_aka_lain
Дата сообщения: 07.09.2008 14:59
Artem_Butenko, LOGANXFI

Цитата:
насколько я знаю Inno не умеет удалять файлы, которые инсталлятор не копирует в каталог установки, тут Вам поможет написание .bаt-файла

Зачем батник, [more=так]

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
if FileExists(ExpandConstant('{app}\EXE.exe')) then
DeleteFile(ExpandConstant('{app}\EXE.exe'));
end;
end;

[/more] проще.
Если на файле атрибут только чтение, то его придётся снять.
Автор: Ph9M2
Дата сообщения: 07.09.2008 17:22
Так как правильно использовать bass.dll 2.4? Напишите пожалуйста, примерчик..
Автор: ComradG
Дата сообщения: 07.09.2008 21:11
Artem_Butenko

Цитата:
ComradG - ранее Вы писали, что с полученного (в результате распаковки некоторого инсталлятора Inno Unpacker) .bin файла можно снять дамп и получить вполне читабельную секцию [Code]. Так вот, кроме шуток, какой утилитой следует снимать дамп, неужели поможет PEID? Пожалуйста отнеситесь серьезно к моему вопросу!

PEiD только может подсказать куда ставить бряки, чтобы снять протекчуру (которой там в помине нет). Прямую наводку на анпакер дать не могу(сам принимал участие в разработке и с моей стороны мудро бы было воздержаться от своего рода рекламы), скажу название - unCompiled. Поищи в Гугле или на соурсфордже.

Цитата:
1С используется универсальный патчер xPatch

Если не ошибаюсь, то там используется технология гибридного rtp-патчинга.

Автор: Artem_Butenko
Дата сообщения: 08.09.2008 00:33
ComradG - можно немного конкретнее о rtp-патчинге файлов. Особенно интересуют вопросы создания подобного патча и его использование в Inno Setup. Поверьте, для меня это очень важно.
Автор: LOGANXFI
Дата сообщения: 08.09.2008 08:04
Artem_Butenko

Дай пожалуйста прямую ссылку на :
- рук. товарища Kindly за версией 5.1 ,
русскую справку по Inno Setup от Bagira ,
шапка форума "Сборник скриптов" ,
"Сборнике вопросов..." от fly.

Ведь в обсуждении InnoSetup стока страниц и я не знаю где искать !

И все таки пожалуйста обьясни как сделать проверку по IP , а друзья получат дополнение в другой упаковке.
Для меня очень важна проверка IP адресов !
_________________________________________________
Пожалуйста не оставляйте мои сообщения без внимания!
Заранее спасибо !!!
_________________________________________________
Автор: SotM
Дата сообщения: 08.09.2008 09:11
LOGANXFI

Цитата:
Дай пожалуйста прямую ссылку на :
- рук. товарища Kindly за версией 5.1 ,
русскую справку по Inno Setup от Bagira ,
шапка форума "Сборник скриптов" ,
"Сборнике вопросов..." от fly.

А разве в шапке не прямые ссылки даны?! O_o
Автор: LOGANXFI
Дата сообщения: 08.09.2008 09:59
Ой сори не видел !
Автор: Meceniy
Дата сообщения: 08.09.2008 12:53
Возможно ли убрать самый первый текст который появляеться про заходе в инсталер , я просто хочу картинку на весь инсталер добавить , а когда добовляю - текст появляеться сверху , удаляю текст - остаються поля (пустые) - что надо в скрипте прописать- если надо - то я скрипт могу скинуть.
Плиз подскажите , а то я не знаю что мне имеено искать в поиске
Автор: LOGANXFI
Дата сообщения: 08.09.2008 16:25
А где скачать файл шифрования ?

ISCrypt.dll

И вот этот для слайдшоу.

isxbb.dll


Че т я все проги скачал из шапки , но таких .dll не нашол !?
Автор: SotM
Дата сообщения: 08.09.2008 16:33
LOGANXFI
Дык, плохо искал... они есть в

Цитата:
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly

Ищи внимательней!

Meceniy
Что значит первый текст?! Ты имеешь ввиду первую страницу? Или шо?
И что значит картинку на весь инсталер? Это как?

Нормально сформулируй свой вопрос! Тут явно мало людей способных читать мысли.
Автор: Victor_Dobrov
Дата сообщения: 08.09.2008 16:39
LOGANXFI
Установи версию 5.1 руководства от Kindly и в папке Addons\Libraries найдешь библиотеки, а в Scripts примеры скриптов.
Автор: STALKER_HIGHLANDER
Дата сообщения: 08.09.2008 17:14
Я копирую папку вместе со всеми находящимися в ней файлами, т.е.

Source: "{app}\папка\*"; DestDir: "{app}\папка"; Components: osnovnoe; Flags: createallsubdirs recursesubdirs

Вопрос-если я добавлю флаг ignoreversion, то он будет применятся ко всем файлам в этой папке?

Тоже самое интересует относительно флага sortfilesbyextension.
И кстати есть ли смысл применять этот (sortfilesbyextension) флаг, для уменьшения размера инсталлятора? Это дает заметный эффект?
Автор: ComradG
Дата сообщения: 08.09.2008 17:24

Цитата:
можно немного конкретнее о rtp-патчинге файлов

Если брать чистый rtp-патч, то это ничто иное как побайтовое изменение уже существующих файлов, при этом используется PATCHW32.DLL С помощью этой dll и генерится сам патч. Гибридный rtp применяется в низкоуровневых патчерах (намек на подобную технологию есть Visual Patch), то есть наряду с побайтовым изменением присутсвует функция изменения, перезаписи, копирования и т.д.(применяется в большинстве современных патчей).
Victor_Dobrov
В Короне есть скрипт деления серийника на секции. А относительно самого Визарда такое можно сделать?
Автор: Meceniy
Дата сообщения: 08.09.2008 17:30
Я уже разобрался , меня вот что теперь интересует как делать чек-боксы? к примеру в разделе четыре варианта выбора , мне нужно чтоб можно было выбрать только один вариант!Если не трудно киньте скрипт где есть чек боксы
Автор: STALKER_HIGHLANDER
Дата сообщения: 08.09.2008 17:37

Цитата:
к примеру в разделе четыре варианта выбора , мне нужно чтоб один выбрал , на нем отметка стоит а на других нет


Нужно каждому из четырех компонентов добавить флаг exclusive.
Смотри справку, там про все подробно расписанно.
Автор: ComradG
Дата сообщения: 08.09.2008 17:37

Цитата:
интересует как делать чек-боксы?

Может лучше радиобатоны?
Victor_Dobrov
Не, я разобрался. Все равно спасибо.
Автор: Meceniy
Дата сообщения: 08.09.2008 17:41
Спасибо. А радиобатоны это что? я нуб в этом так что не пинайте
Добавлено:
Запаковать получилось , но потом при установки - хоть я какой выберу вариант , в папку - устанавливаються все четыре и в папки с такими же названиями что и в папке для сборки - может прислать скрипт? помогите плиз!
Автор: SotM
Дата сообщения: 09.09.2008 07:28
Meceniy

Цитата:
А радиобатоны это что?

Ты с такими вопросами лучше бы почитал какую-нить доку для начинающих программеров, чтобы хоть немного понимать терминологию.
Автор: Forslay
Дата сообщения: 09.09.2008 07:53
Народ, извиняюсь за глупость, как шрифты устанавливать? в INNO?
Автор: SotM
Дата сообщения: 09.09.2008 08:50
Forslay
Что значит "устанавливать"? Куда?
Напиши что надо и зачем.
Сначала правильно сформулируй задачу, а затем уже спрашивай здесь.
Автор: Diawer
Дата сообщения: 09.09.2008 09:57
Помогите, если знаете, перечитал всё, что есть и предыдущие форумы и весь FAQ от fty и руководство от Kindly,
везде пример с автоматическим закрытием (KillTask).
Для примера запустите при открытом компиляторе Inno ещё раз установку (ISetup.exe), надо так-же.

Может поможет [more=код][Setup]
AppName=My Prog
AppVerName=My Prog
DefaultDirName={pf}\My Prog
DefaultGroupName=My Prog

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

[Files]
Source: compiler:ISTask.dll; DestDir: {tmp}; Flags: dontcopy

[Code_]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';

function InitializeSetup(): Boolean;
begin
If RunTask('Compil32.exe', false) then //запущенный Inno Setup
begin
if MsgBox('Обнаружен запущенный экземпляр My Prog.'#13#13'Пожалуйста, закройте все экземпляры приложения, затем'#13#13'нажмите «OK», чтобы продолжить, или «Отмена», чтобы выйти.', mbError, mb_OkCancel) = idCancel then
Exit;
end;
Result:=True;
end; [/more], появляется окно с предложением "Сначала выгрузить", надо что бы нажимая на кнопку "OK",
окно не закрывалось если программа Compil32.exe не выгружена (то есть нажималась в холостую) до момента закрытия
Compil32.exe пользователем. Соответственно после выгрузки Compil32.exe, установка продолжалась.


И ещё может кто-нибудь знает, где-то можно найти оригинальный скрипт самого Inno Setup, то есть которым он был скомпилирован.
Возможно там я смогу найти ответ на вопрос который меня интирисует.
Автор: Forslay
Дата сообщения: 09.09.2008 10:06
Мда... Установка шрифтов в директорию: "C:\Windows\Fonts"

Если прописать, что бы как обычный файл туда кидало, то в игре этот шрифт не активируется, до того, пока ты сам не зайдёшь в папку Fonts, и не нажмёшь на него открыть... только тогда его игра увидит... Наверное требуется специальная задача для установки шрифтов, какая то функция есть же в INNO... Теперь надеюсь понятно?
Автор: Sampron
Дата сообщения: 09.09.2008 10:43
Forslay
Смотри в справке секцию [Files].
Автор: Forslay
Дата сообщения: 09.09.2008 10:54
Спасибо большое, что напомнил. Просто с лета приехал всё по забывал =)
Автор: SotM
Дата сообщения: 09.09.2008 11:40
Diawer

Цитата:
Может поможет код, появляется окно с предложением "Сначала выгрузить", надо что бы нажимая на кнопку "OK",
окно не закрывалось если программа Compil32.exe не выгружена (то есть нажималась в холостую) до момента закрытия
Compil32.exe пользователем. Соответственно после выгрузки Compil32.exe, установка продолжалась.

Дык, он же в цикле проверяется!
Автор: An4eus
Дата сообщения: 09.09.2008 14:28
Всем здрасти!
Искал ответы на свои вопросы - не нашёл, только ещё больше появилось...

1. Про компонеты:
Я хочу чтоб в инстале был выбор что ставить (галки)
Код: ;...
[Components]
Name: "N1"; Description: "Рабочая база";
Name: "N2"; Description: "Демо база";
;...
[Files]
Source: "C:\Release\N1\*"; DestDir: "{app}\N1"; Components: N1
Source: "C:\Release\N2\*"; DestDir: "{app}\N2"; Components: N2
Автор: Nuke142
Дата сообщения: 09.09.2008 15:09
Я правильно понял что программа для программистов ?
То есть визуально в ней не поработаеш, как например в Setup Factory, InstallShield и пр.
Автор: SotM
Дата сообщения: 09.09.2008 15:20
Nuke142

Цитата:
Я правильно понял что программа для программистов ?

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

Автор: Nuke142
Дата сообщения: 09.09.2008 15:34
Ну скажем мне нужно сделать 3 варианта установки.
Чтобы при первом варианте устанавливался файл x
при втором - x, y
при третьем - x,y,z
ЧТобы это организовать нужно будет углублятся в программу ?
Это самое сложное что мне нужно в установке сделать.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Презентация


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.