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

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

Автор: AJIEKSEu
Дата сообщения: 02.06.2006 08:58
Kindly
Насчет "кривых рук" я чет не понял. Если про то почему в таком виде, то это просто кто-то у кого-то переписал и причем не известно сколько рук прошло в таком виде.
Я смотрел в логе что пишется - только в папку с прогой. Если бы писалось еще куда-нибудь, то скорее всего прога бы не запустилась. Есть одна строчка в реестр, но что записывается не понятно - там не то чтобы пусто, а просто служебные символы...
А вообще это игрушка, так что лишние библиотеки и прочее в папки с виндой ей ни к чему.
Автор: Kindly
Дата сообщения: 02.06.2006 11:18
AJIEKSEu насчет кривых рук я имел в виду кого-то, не тебя. Обычно, если там прописывается путь в папку с игрой, то этот параметр нужен для авторана.

Цитата:
А вообще это игрушка, так что лишние библиотеки и прочее в папки с виндой ей ни к чему.
Смотря какая игра, но в основном все требуют DirectX.
Если игруха поломана - забей на реестр (и на дальнейшие обновления тоже)
Автор: AJIEKSEu
Дата сообщения: 02.06.2006 20:11
Kindly

Авторана конечно тоже нет... Сделать то его как два пальца, в реестр сунуть свой путь, тем более что часть ключа уже есть - ветка то там прописана... Но вот как раз я хотел для обновлений ее вытащить. А то если обновлялка грамотная, то идем лесом.
Ну а директ икс щас стоит у каждого у кого ХР. А уж вместе с игрой его точно никто не будет в инсталятор прописывать в виде файлов.
Автор: Kindly
Дата сообщения: 03.06.2006 11:26
Оффтоп. AJIEKSEu. Если "обновлялка" и грамотная, все равно распаковывается.
Автор: AJIEKSEu
Дата сообщения: 05.06.2006 18:40
Kindly
Распаковывается если свой ключ найдет.
Ладно, это в принципе не столь важно. Я просто хотел узнать есть такая прожка или нет... Жаль что нет.
Автор: Kindly
Дата сообщения: 07.06.2006 17:54
Есть универсальный экстрактор. Поддерживает много форматов и не надо никаких действий с командной строкой, вот правда, не полностью он Inno Setup распаковывает, т.е. параметр не указан для папки Embedded.
http://www.c1pher.com/uniextract121.exe
Автор: sank89
Дата сообщения: 11.06.2006 11:04
Как сделать чтоб скрипт чтобы выбирать папки при установкие было как в inno setup 4?
Автор: PA3BED4UK
Дата сообщения: 11.06.2006 21:23
Здраствуй, Мир. Хочу, чтобы помог ты мне с проблемой.
Проблема:
Есть у меня игра Earth 2160 - замечательная игра. Решил сделать для неё инсталлер в inno Setup 5, ибо NSIS для меня пока сложен, но столкнулся с маленькой проблемой:
Дело в том, что тот дистрибутив , который у меня есть проверяет в реестре следущие ключи:
[HKEY_LOCAL_MACHINE\SOFTWARE\Reality Pump\Earth2160\FileSystem]
"DataPath"="Имя диска:\\произвольный путь\\EARTH2~1/>"
"OutputDir"="Имя диска:\\произвольный путь\\EARTH2~1"
Да именно EARTH2~1 и EARTH2~1/> , иначе игра ругается на неправильную установку и не загружается. Я же умею в скрипте прописывать следующие:

Цитата:
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Reality Pump"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem";
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}"
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "OutputDir"; ValueData: "{app}"

, что приводит к тому, что ветка получается не та , что надо.
Вот кусок reg- файла с которым у меня запускается игра, но который не получилось сделать в inno settup :

Цитата:
[HKEY_LOCAL_MACHINE\SOFTWARE\Reality Pump\Earth2160\FileSystem]
"DataPath"="Имя диска:\\произвольный путь\\EARTH2~1/>"
"OutputDir"="Имя диска:\\произвольный путь\\EARTH2~1"
"Version"="1.3"
"MyDocumentsFolder"="Earth 2160"

или конкретный пример:

Цитата:
[HKEY_LOCAL_MACHINE\SOFTWARE\Reality Pump\Earth2160\FileSystem]
"DataPath"=c:\\games\\EARTH2~1/>"
"OutputDir"="c:\\games\\EARTH2~1"
"Version"="1.3"
"MyDocumentsFolder"="Earth 2160"


подскажите пожалуйста как научить inno setup 5 прописывать экзотичесие пути в реестр.
Thanks for a futer.
Автор: Kindly
Дата сообщения: 13.06.2006 10:01
PA3BED4UK, это все фуйня "EARTH2~". Я так понял, это путь в папку с игрой. Система при внесении длинных имен в реестр может их так сокращать, хотя так сокращает вроде Wise Installer. Ты там это, смотри косые черты, иногда их требуют для запуска некоторые игрушки (например, Big Mutha Tracker 1.0). У тя все вроде правильно получается.
Автор: sdsnmax
Дата сообщения: 13.06.2006 12:36
Подскажыте как зделать чтобы
после установки програмы инсталятор предложыл поставить еще одну прогу ну типа BDE
Автор: PA3BED4UK
Дата сообщения: 13.06.2006 13:20

Цитата:
K, это все фуйня "EARTH2~". Я так понял, это путь в папку с игрой. Система при внесении длинных имен в реестр может их так сокращать, хотя так сокращает вроде Wise Installer. Ты там это, смотри косые черты, иногда их требуют для запуска

Цитата:
EARTH2~1/>

Если бы:
Не вериш смотри скриншот. Там игра проверяет именно так как я выделял жирным курсивом (анти пиратская мера)
Автор: VitaliM
Дата сообщения: 13.06.2006 13:45
PA3BED4UK
Я конечно не спецалист в Inno, но думаю что решение этой проблемы может быть следующим:
После выбора папки для установки средствами скриптового языка надо создать эту папку, затем получить с помощью функций API Win32 короткое имя папки, и уже его подставлять в ключь реестра перед записью. Т.е. чуть раньше самого инсталятора создать папку. А в случае отмены устаноски ее удалить.
Автор: PA3BED4UK
Дата сообщения: 13.06.2006 21:51
Извени в паскале я не силён (пока), поэотому скрипт написать сам не могу, не мог бы кто-нибудь его написать, пожалуйста.
Автор: AJIEKSEu
Дата сообщения: 14.06.2006 00:58
Всем привет!

Вобщем тут возникла проблема: есть скажем прога версии 1. При инсталяции для ее запуска создается ярлык 1. Но мы можем туда же проинсталить прогу 2 и надо чтобы ярлык 1 пропал и остался только ярлык 2. Как это сделать? Пробовал в реестр прописывать путь с ярлыками и потом вытаскивая его из секции installdelete его удалять - не удаляет... Как можно сделать???
Автор: Kindly
Дата сообщения: 14.06.2006 10:58
PA3BED4UK, гы, а что это у тебя в DataPath повторяется 2 раза папка с игрой?
ЗЫ: Свои скрипты для игр выложить чтоли?

Цитата:
анти пиратская мера

LOL!
Автор: AJIEKSEu
Дата сообщения: 14.06.2006 13:04
PA3BED4UK

А ты не пробовал добавить два знака /> в конец Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}"?
Типа как там точно но помню, но что-то типа этого:
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}"+'/>'
Может он их проверяет?
Автор: PA3BED4UK
Дата сообщения: 14.06.2006 13:15

Цитата:
PA3BED4UK, гы, а что это у тебя в DataPath повторяется 2 раза папка с игрой?

Забей

Цитата:
ЗЫ: Свои скрипты для игр выложить чтоли?

Выкладывай хуже точно от этого ни кому не будет

Цитата:

Цитата: анти пиратская мера
LOL!
Автор: PA3BED4UK
Дата сообщения: 15.06.2006 06:07

Цитата:
 Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}"+'/>' Может он их проверяет?

Нет только, что ковырялся ещё раз в реестре: только так как я писал изначально про сабж - иначе ни как

Цитата:
Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}"+'/>' Может он их проверяет?

То, что ты имел виду пишется так:

Код: Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}/>"
Автор: AJIEKSEu
Дата сообщения: 15.06.2006 10:28
Может просто в конце тогда добавить три кода backspace + ~1/>?
Типа Root: HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}" + #12+#12+#12+"~1/>"
Короче что-то наподобие этого. Если не изменят память, то вроде #12 был... Щас тебе подскажут...
Автор: Kindly
Дата сообщения: 16.06.2006 10:26
Ребята, чувствую не об этом вы говорите. Еще попробуй backslash в другую сторону развернуть. Еще ниодной игры небыло, для которой я не смог бы сделать инсталлер, была бы эта игра помог бы 100%.
Выложу кое-какие скрипты, мало кому будут полезны, но может некоторые будущие вопросы отпадут:
http://www.mooload.com/new/file.php?file=files/160606/1150442623/Scripts.rar
Это не прямая ссылка, для закачки используйте Download Link на странице.
Автор: KrMike
Дата сообщения: 20.06.2006 11:35
Всем пивет. может такой вопрос уже обсуждался, но тут 25 страниц а у меня мало времени
Проблема следующего характера. Перед началом установки выбирается язык этой самой установки (англ/нем). Как сделать так, чтоб то, что описывается в разделах [Types], [Components] и [Tasks] привязывалось к выбранному языку? Скажем, в [Types] у меня указан тип установки 'Single version', по немецки соответственно 'Einplatz-Installation', в
[Tasks] спрашивается добавить ли иконки на рабочий стол и в меню пуск. Так вот, как сделать так, чтобы выбиралась фраза на том языке, который выбран в начале установки?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

все, разобрался сам.
хм, и почему здесь нет возможности удалить собственное сообщение?
Автор: AJIEKSEu
Дата сообщения: 20.06.2006 20:57
Kindly
Посмотрел твои скрипты - есть интересные решения, спасибо. А вот что ты на мой вопрос ответишь, который несколькими постами выше?
Вообще ситуация такая: есть игра ил-2 штурмовик. Чтобы не было вопросов - все купил лично и общая коллекция 11 или 12 дисков не считая двойных... Просто для себя хочу сделать инсталятор с выбором версии. И если я поставил 1.22, а потом захочу 2.04 или 4.05, то переустановив хочу увидеть измененное название папки и запускаемого файла чтобы не путаться. Да и в оригинале меняется так же... Как это сделать?
Автор: KrMike
Дата сообщения: 21.06.2006 10:00
кажите, а есть возможность мизменения блеклых серых страниц Wizard'а на свои собственные? там кнопочки свои вставить, вид самих этих страниц поменять?

а, и еще: как изменить размеры для рисунка в правом верхнем углу Wizard'а? а то дефолтовый рисунок 55х55, а мой рисунок побольше будет, так он ужимается до 55х55 и смотриться уродливо.
Автор: PA3BED4UK
Дата сообщения: 21.06.2006 18:31
[quote="AJIEKSEu"] HKLM; Subkey: "SOFTWARE\Reality Pump\Earth2160\FileSystem"; ValueType: string; ValueName: "DataPath"; ValueData: "{app}" + #12+#12+#12+"~1/>" Короче что-то наподобие этого[/quote]
Что-то не прокатывает твоё заклинание


Автор: AJIEKSEu
Дата сообщения: 21.06.2006 20:47
PA3BED4UK

Короче помучал я твой примерчик и вот что получилось:
[Registry]
Root: HKLM; Subkey: SOFTWARE\Reality Pump\Earth2160\FileSystem; ValueType: string; ValueName: DataPath; ValueData: "{code:AppPath}"

[Code]
Function AppPath (Param: string): string;
var
S: string;
LenS: Integer;

begin
S := ExpandConstant('{app}'); //Вытаскиваем путь
LenS := Length (S); //Узнаем длину стринга
SetLength(S, LenS-3); //Укорачиваем на 3
S := S +'~1/>'; //И прицепляем ~1/>
Result := S //Выводим
end;

Если скажешь что не работает - убью!!!
Я час потратил на вспоминание паскаля из первого курса универа + ковыряние справки этого ИННО.


Добавлено:
Забыл: вторую строку думаю доделаешь по примеру...
Автор: Topolog
Дата сообщения: 21.06.2006 20:55
Кто нибудь знает можно ли извлечь файлы из setup-1.bin без setup.exe
Автор: JKSerGEAnt
Дата сообщения: 22.06.2006 10:04
KrMike

Цитата:
кажите, а есть возможность мизменения блеклых серых страниц Wizard'а на свои собственные? там кнопочки свои вставить, вид самих этих страниц поменять?

Можно, но сложно. Читай http://rapidshare.de/files/12438629/InnoSetupScripting_v3_final.zip.html


Цитата:
а, и еще: как изменить размеры для рисунка в правом верхнем углу Wizard'а? а то дефолтовый рисунок 55х55, а мой рисунок побольше будет, так он ужимается до 55х55 и смотриться уродливо.
Нельзя, ибо физически размер там больше быть не может. Хотя вот размер по горизонтали неплохо было бы увеличить. Kindly, это сделать можно как-нибудь без слишком сложных манипуляций с notebook?
Автор: KrMike
Дата сообщения: 22.06.2006 10:35
хм, документик это есть, просматривал, но что-то не видел там что-нить по изменению облика страниц ,хотя возможно плохо смотрел. проверю.

а по поводу рисунка - так мне в общем и надо изменить размер по горизонтали
Автор: VitaliM
Дата сообщения: 22.06.2006 11:29
AJIEKSEu
Это не есть правильно, может не работать при определенных условиях.

Цитата:
SetLength(S, LenS-3); //Укорачиваем на 3
S := S +'~1/>'; //И прицепляем ~1/>

Винды сами на каждое длинное имя файла/папки создают свое короткое, если это не отключено в системных настройках, поэтому в конце может быть не обязательно единица. Я уже писал, что надо сначало соддать папку/файл, а потом средствами API получить по длинному имени короткое, которое создала винда.
Автор: AJIEKSEu
Дата сообщения: 22.06.2006 13:47
VitaliM

Ну так напиши как правильно - болтать то все могут. )
Я сделал как смог. А вот не единица там у него будет если он вторую игру ставить в ту же папку что как миниму не логично потому что запустить ее он все равно не сможет, а то что надо получить в реестре было конкретно указано в техзадании. Так что я сделал все правильно именно для этого частного случая.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: ICONS


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