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

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

Автор: X11
Дата сообщения: 13.01.2012 13:10
Может кто подскажет, как написать скрипт, для включения файлов с разными именами и из разных папок в дистрибутив?

Суть такова.
В разных папках у разработчика лежит много файлов, которые нужно установить на клиентские ПК.
Структура папок такова
\папка\346\
\папка\347\
\папка\348\
\папка\....\
\папка\362\

в каждой папке с номером лежит разное количество файлов вот с такими именами:
347-0001.sql
347-0002.sql
347-0003.sql

....
349-0001.sql
349-0002.sql
...
...
...
362-0001.sql
362-0002.sql
362-0003.sql
362-0004.sql
и т.д.

все эти файлы нужно "зашить" в инсталлятор. Это SQL-скрипты для обновления базы на клиентской стороне.
Количество папок может быть разное. Для одного клиента с 346 по 362, а для другого с 350 по 362. В зависимости от версии установленной программы.

В итоге все эти файлы будут при установке у клиента скопированы в одну папку, т.к. имена файлов разные, то проблем нет в этом плане.

Так вот, как мне скриптом собрать эти sql файлы и зашить в инсталлятор?

Сейчас сделано не очень красиво и много рутины при создании дистрибутива для обновления базы:



Код: #define verTo "347"
...
...
[Files]
Source: ..\..\Kv21\Update\{#verTo}\{#verTo}-0001.sql; DestDir: {userdocs}\Kv\SQL
Source: ..\..\Kv21\Update\{#verTo}\{#verTo}-0002.sql; DestDir: {userdocs}\Kv\SQL
Source: ..\..\Kv21\Update\{#verTo}\{#verTo}-0003.sql; DestDir: {userdocs}\Kv\SQL
Source: ..\..\Kv21\Update\{#verTo}\{#verTo}-0004.sql; DestDir: {userdocs}\Kv\SQL
...
...
Source: ..\..\Kv21\Update\{#verTo}\{#verTo}-0019.sql; DestDir: {userdocs}\Kv\SQL
Автор: Snoopak96
Дата сообщения: 13.01.2012 13:37
nik1967,
Скрипт не смотрел, так судя по скрину.


Добавлено:
Только что заглянул, приколола строка:

Цитата:
если при упаковке был указан пароль 123456, то для распаковки надо указываться пароль 654321




Добавлено:
nik1967
угу, ты прав:
Автор: moonlight82
Дата сообщения: 13.01.2012 15:05
мой вариант инсталла catalyst.
http://rghost.ru/35876962

Добавлено:
iswin7logo с текстом на стекле.
http://rghost.ru/35887799
Автор: Genri
Дата сообщения: 13.01.2012 16:47
X11

Цитата:
как мне скриптом собрать эти sql файлы и зашить в инсталлятор?
-- например так: [more]
Код: [no]
#define verFrom 346
#define verTo 357
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Files]
#define i
#define FindHandle
#define FindResult
#define SrcDir "Files"

#sub ProcessFoundFile
#define FileName FindGetFileName(FindHandle)
Source: {#SrcDir}\{#i}\{#FileName}; DestDir: "{app}\SQL"
#endsub

#sub ProcessNextDir
#for {FindHandle = FindResult = FindFirst(SrcDir + '\' + Str(i) + '\*', 0); FindResult; FindResult = FindNext(FindHandle)} ProcessFoundFile
#endsub

#for {i = verFrom; i <= verTo; i++} ProcessNextDir
[/no]
Автор: qkest
Дата сообщения: 13.01.2012 18:31
Имею установочный диск проги+сервис пак к нему+патчер ко всему зтому.
Вопрос: ко всей этой авоске можно экзешник собрать на Inno Setup.
Автор: alex0413
Дата сообщения: 14.01.2012 00:11
Ребят, помогите, как пользоваться плавным прогресс баром в скрипте каталистов? У меня постоянно 0%, и прогресс бар всегда заполненный. Есть два файла: data1.bin - главные игровые файлы и data2.bin - архив в котором две папки, и они роспаковываются в зависимости от выбранных компонентов, и в первом архиве все звуки перекодированы в ogg. Я сделал первый шаг, потом закоментировал, сделал вторый шаг с файлом содержащим такой текст
Цитата:
484$data1.bin
20$data2.bin@Models\original
-5$data2.bin@Models\steam

почему не работает прогресс бар?

P.S. И еще скажите, я правильно декодирую ogg звуки, оно то декодирует, но мне кажется что что-то нетак?

Цитата:
Dec_Ogg('{app}','','');

Это я добавил в процедуру MainUnpack.
Все решено.
Автор: nik1967
Дата сообщения: 14.01.2012 02:55
alex0413
Ага, совершенно на халяву и неожиданно скачав скрипт, который я со товарищи писал несколько месяцев, так тебе ещё подавай все функции данного скрипта? Хотя там и так всё расписано предельно ясно.
Автор: alex0413
Дата сообщения: 14.01.2012 08:32
nik1967
да, там действительно все хорошо описано, по нему очень хорошо учится, только единственное чего я не нашел в описании - это про декодирование ogg.
Автор: Neronk001
Дата сообщения: 14.01.2012 11:12
Парни ну помогите пожалуйста....

Я сжал файлы с помощью precomp+srep+arc (в FreeArc'e)

Теперь этот архив не может распаковать инстолятор, я уже всё перепробовал но ни чего не могу сделать.

http://rghost.ru/35808967 - В этом архиве скрипт, сам архив c данным методом сжатия + оригинальный скрипт...
Автор: Dark_Delphin
Дата сообщения: 14.01.2012 20:16
Neronk001
Чтот много ты выложил...
Удали лишнее и перезалей, никто не хочет качать потому-что на хосте скорость маленькая.=)
Автор: Sedjyan
Дата сообщения: 15.01.2012 06:02
Помогите. Я в своем скрипте использую модулем скрипт InnoSetup_Upgrade от Виктора Доброва. После установки FullVcl от ResTools в окне системных требований полностью пропала цветовая подсветка. Сразу скажу что эта проблема присутствует даже в оригинальном скрипте взятом из шапки. Возможно что то надо изменить в скрипте, но что?
Вернуться в чистый Inno setup не предлагать, хотя это и востанавливает нормальную работу скрипта.
Автор: Gnom3
Дата сообщения: 15.01.2012 08:29

Юбилейное обновление сборки InnoUltra Сайту исполнился 1 Год.
Автор: Begun999
Дата сообщения: 15.01.2012 08:37
Подскажите, что за проблема?
Автор: Gnom3
Дата сообщения: 15.01.2012 08:44
Убери плюсик и передвинь скобку, чтоб получиловсь так:

Код: if DirExists(ExpandConstant('{userdocs}\{#GameName}')) then
Автор: Begun999
Дата сообщения: 15.01.2012 08:53
Gnom3
Тоже самое, только Column 53
Автор: Gnom3
Дата сообщения: 15.01.2012 09:01
значит косяк в GameName, разбирали тут недавно похожую ситуацию. и так-же, две страницы ушло только на то, чтобы человек предоставил всю информацию, которая необходима, чтоб ему помоч.
Автор: Begun999
Дата сообщения: 15.01.2012 09:08
Gnom3
МОЛОДЧИНА!!!
100% проблема в {#GameName}
СПАСИБО!!!

И ещё простите за знаю, что уже разъяснялось, но не могу найти.
Как убрать это
Автор: Shegorat
Дата сообщения: 15.01.2012 09:10
Gnom3 10:44 15-01-2012
Цитата:
нужно расшифровать вторую константу.

Не нужно, т.к препроцессорные константы подставляются при компиляции.

Begun999 10:37 15-01-2012
Цитата:
Подскажите, что за проблема?

Возможно в названии игры содержится апостроф (одинарная кавычка). Если да, то его нужно заменить двойным апострофом, т.е двумя знаками апострофа.
Автор: Neronk001
Дата сообщения: 15.01.2012 09:43
Dark_Delphin

Хорошо, сейчас перезалью...

Добавлено:
Вот http://rghost.ru/35913802
Автор: Kizyak
Дата сообщения: 15.01.2012 14:56

Цитата:
Цитата:
Всем привет, такой вопрос при распаковкее игры (сжимал freearc+precomp+srep+freearc) при установке, вот скрины  
скрины  
как видно на первых двух скринах прогресс идет нормально, но это распаковывается только первый архив .srep  
скрины 2  
как видно из этих скринов при распаковке второго архива .pcf прогресс вылазит за рамку, + "Осталось ждать" - вечность, "Прогресс установки" - 152% (доходит до 200%, после чего начинает распаковываться архив .arc)  
вопрос - как сделать чтоб "прогресс установки" не вылазил за рамки и был 100% не у всех и "осталось ждать" не "вечность" а по времени.......

 

Цитата:
Shegorat
Когда же вы уже справку сначала читать будете? При первом проходе (первой распаковке), ISDone создает файл, в который записываются все данные об операциях, и который потом нужно включить в сетапник. Дальше читай справку, идущую с ISDone...

 
в isdone написано текст
 
все сделал, как было написано, вот скриншеты
 
написал до команды "repeat" StartRecord(ExpandConstant('{src}\records.inf'),ChComp);
после "until true" -  StopRecord;
в начале скрипта закомментировал строку #define records (все указал на скринах)
при компиляции вылетает такая ошибка
что то не так написал в isdon'e, подскажите что не так?


помогите пожалуйста, уже который день голову ломаю..
Автор: Tapas77789
Дата сообщения: 15.01.2012 15:19
Выложите Скрипт catalyst.rar у кого есть. Пожалуйста!!!

Оригинальный скрипт R.G.Catalyst
Автор: Edison007007
Дата сообщения: 15.01.2012 17:34
Tapas77789
а больше тебе ничего не выложить?
с какого хрена тебе должны выкладывать чужие скрипты?
Автор: Neronk001
Дата сообщения: 15.01.2012 18:07
Edison007007

Ты лучше мне помоги плз, а не ругайся
Автор: Edison007007
Дата сообщения: 15.01.2012 18:52
Neronk001
попробуй в начале скрипта раскоментировать
#define PrecompInside
#define SrepInside
Автор: vintage_1
Дата сообщения: 15.01.2012 18:57
Tapas77789
Эммм, может ты выучишь программирование (Inno Setup хотя бы) и напишешь свой скрипт (Инсталлер), а не кланчить будешь! Одно знаю, парни с R.G. Catalyst тебе точно в твои руки скрипт не дадут!!!!
Так что придётся тебе читать справки (FAQ) и учится хотя бы по примерам! (Примеры в шапке).

Neronk001
Тоже самое: исправляй свои ошибки сам, а не проси помощи людей! (Может и не прав, Я).
Автор: Gnom3
Дата сообщения: 15.01.2012 19:06

Цитата:
исправляй свои ошибки сам

Форум нужен для помощи в испралении ошибок. Я в этом, почемуто, уверен
Другое дело - желание помоч. Каждый помогает в том, что ему самому интересно. Я не репакер, поэтому и не заморачиваюсь со всякими распаковками
Автор: Neronk001
Дата сообщения: 15.01.2012 19:26
Edison007007

Эти строки раскоментированы!

vintage_1

Если бы я сам мог всё сделать я бы сделал без огласки! Я не знаю что нужно сделать чтоб она распаковала архив

Вот я вас и прошу помоч мне! Правте скрипт L.A. Noire - The Complete Edition, а не Бэтмена.
Автор: Edison007007
Дата сообщения: 15.01.2012 19:38
строку упаковки покaжи...
и вообще телепатов нет, ошибка какая, или хоть чтото скажи
Автор: Snoopak96
Дата сообщения: 15.01.2012 21:35
Neronk001

Цитата:
if not ISArcExtract ( 0, 24, ExpandConstant('{src}\Setup-1b.ms5'), ExpandConstant('{app}\'), '', false, '3DKY', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;

Ну и зачем здесь файл конфигов прикручен? unarc.dll сам подхватывает фильтры cls-precomp.dll и cls-srep.dll в папке tmp, т.е. правильно будет так:

Цитата:
if not ISArcExtract ( 0, 24, ExpandConstant('{src}\Setup-1b.ms5'), ExpandConstant('{app}'), '', false, '3DKY', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

Хешить arc.ini в tmp не требуется.


Добавлено:
Два дня жетелям форума мозг пудрил
Автор: Edison007007
Дата сообщения: 15.01.2012 21:50
Snoopak96
Думаешь из-за арк.ини могла не работать распаковка?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


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