[архив] Inno Setup .:[все вопросы]:.
Лимит страниц.
Тема закрыта. продолжаем тут: Inno Setup. Обсуждение установщика Скрипты Inno Setup. Помощь и советы Полезные ресурсы: Официальный сайт| Inno Setup 5.2.3 RU Русская справка |Зеракало 1| Зеракало 2 ISTool 5.30 |Русификатор Русификатор ISTool |Зеркало 1|Зеркало 2 Inno Setup Script Generator |Зеркало 1 Unpaker 2.1 от 21.04.2009 - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4. InnoUnpaker 2.6b3 [от valeron87]- можнет просмотривать содержание CompiledCode.bin Unpaker 0.23 - расширенная китайская версия 2008-08-08 ( модификация) Unpacker 0.24 | Зеркало 1 | Зеркало 2 - Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009] QuickStart Pack - Inno Setup + Preprocessor (последняя версия ispack-5.2.4-dev) "Всё в одном" от unikum111 Полезные мелочи для Inno Setup: - Converter v.0.1.2 - конвертор REG- файлов в формат скриптов Inno от Serega_ -новая версия - Как убрать страницу приветствия (wpWelcome) в мастере установки приложения: - Примеры скриптов на паскале - Inno Setup Addon 0.07 For Total Commander |
Mchik
Спасибо, я сошлюсь на эту тему на странице Инсталляторы. |
Прочитал внимательнее этот список. Оказывается есть и еще полезные параметры. Привожу пример.
Я ставлю альтернативные кодеки Real & QuickTime. Они как раз запакованы с помощью Inno Setup. Но если их просто ставить в автоматическом тихом режиме, каждый из них припишет на винт Media Player Classic. Плейер, безусловно, отличный, но в количестве трех штук он мне на винте не нужен. :) Решение состоит в использовании ключей /SAVEINF и /LOADINF. 1. Устанавливаем кодек с созданием файла ответов: realalt.exe /saveinf="real.txt" Отвечаем на все вопросы так, как нравится. Я, например, еще убрал создание группы в меню ПУСК. 2. ...и теперь его тихая установка выглядит как START /WAIT realalt.exe /loadinf="real.txt" /silent |
Mchik
Цитата:
А вот K-Lite ставит MPC в другую директорию. В принципе, можно использовать K-Lite Mega Codec Pack (включает всё, в том числе Real Alt и QuickTime Alt), но он весит довольно много. Сорри за оффтопик. |
Mchik
кстати ключи не все, не хватает этих: Цитата:
|
А не подскажите как можно подредактировать инсталяционный файлик Inno Setup ??
|
Существует плагин к Total Commander и Far для рапаковки инсталлятора на файлы и скрипт, поищи на сайте _http://innounp.sourceforge.net/
|
Dust112
Видел я эти программи!! Они не распаковывают старые архивы!!! |
Блин, что-то у Inno Setup с путями! Пишу
Код:
XnView-win-full.exe /saveinf="save.inf" Код:
XnView-win-full.exe /saveinf=".\save.inf" Код:
XnView-win-full.exe /loadinf=save.inf /silent или Это Inno 4.0.8. А Inno 5.08 файл пишет в текущий каталог, а читать все равно не читает. Как побороть скотину? |
не, вру. Даже полный путь не спасает:
Код:
E:\burn\soft\xnview>XnView-win-full.exe /LOADINF="E:\burn\soft\xnview\save.inf" |
Dirk Diggler
Я делаю проще, вытаскиваю скрипт от интсталятора Inno Setup и редактирую его как мне надо (добовляю, удаляю компонеты, ярлыки, патчу файлы и т.д), а потом обратно компилирую дистрибутив! Если есть у тебя такая возможность, то это лучший вариант!! |
расскажи кратко или дай ссылку
|
Сам компилятор - Inno Setup + русификатор
Дополнительная программа к Inno Setup, для удобного редактирования скрипта, если надо - ISTool + русификатор Утилита для распаковки дисрибутивов и для вытаскивания скрипта из инсталятора Inno Setup, работающая из командной строки или как плагин к FAR'у или к TC - innounp.exe Так же, можно добавить следующие строки в реестр и в контекстном меню проводника появится меню (кликая правой кнопкой мыши по ексешнику) "innounp Extract": Код:
Windows Registry Editor Version 5.00 |
скачал, попробовал. Из 4 дистров распаковался 1 - остальные "uncompatible version", да и этот распакованный какой-то странный - я скрипта для Inno Setup не нашел...
|
Dirk Diggler
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Dirk Diggler
Цитата:
Xnview, это же помойму просмотрощик и редактор графических файлов!!? |
точно. я ЕГО распаковал. Указанной тобой утилитой распаковал дистр с xnview.А щаз еще один распаковал - все равно, распаковывается в папку {app}, а скрипта нет.
|
Dirk Diggler
Что нет рядом с папкой "{app}" скрипта "install_script.iss"? Ай блин я все понял! Эта утилита по той ссылке, что я тебе дал, оказываетса старая версия и если дистр. был упакован версией от 5.х и выше, то оно его не распакует! Ссылку на утилиту поправил!! |
boss911
Слушай, объясни как правильно запоковывать обратно в Inno Setup. А то я пробую, всё время ошибки выдаёт... Версия Inno Setup 5.1.6 |
Aspirine
Цитата:
Цитата:
|
boss911
Благодарю, всё прошло на ура... А ошибки, это я по неопытности всякие мелочи не замечал... Русский фейс рулит!!! |
не работает ваш компилятор. все доп проги установил.
|
файл russian.exe для Acdsee 70102rus. Не могу установить автоматически. Запрашивает пункт назначения. Russian.exe распаковал. Но не могу запаковать.
|
superteacher
Цитата:
Цитата:
|
Подскажите, плиз!!!
Не программист. Есть некая прога - в тупую копируются файлы на винт и всё. Устанавливается на двух одинаковых объектах. Разница в том, что файлы из папки Dir1 надо копировать на первый объект, а файлы из папки Dir2 надо копировать на второй объект. Все файлы лежат в общем инсталляторе. Как сделать так, чтобы галочкой выбрать наименование объекта (Объект 1 или Объект 2), и файлы скопировались в нужные директории. Спасибо
|
PENDEJO
Это можно сделать через компоненты, в скрипте надо прописать что-то подобное: Код:
[Files] |
Boss911
Спасибо. Сейчас попробую |
2Vadikan
Почему-то не работает ссылка из статьи "Типы инсталляторов" о ключах Inno Setup... |
melato
Цитата:
|
Цитата:
|
Всем привет!! Столкнулся с проблемами!! Значетса имеютса такие значение в моем скрипте (*.iss):
Код:
[Run] Код:
[UninstallRun] 2. пожалуйста черкните, что надо добавить в скрипте, чтоб это значение реестра Код:
[Registry] 3. и почему Inno Setup нехочет компилировать скрипт, если указаны некоторые системные файлы, которые распаковывуютса в системную директорию, например: Код:
[Files] Сразу хочу сказать, что в коде паскаль не шарю обсолютно нечего, так что прошу, если сможете, помогите конкретными записями (кодами), что надо добaвить в мой скрипт!! Спасибо!!! |
Решил выложить все ключи командной строки из русского хелпа, думаю может кому-то будет полезно:
Код:
/SP- |
НЕподскажите ли.. если Инно(4я версия) прописано -что он путь для инсталяции берет из реестра(тоесть когда дале-дале..нет вапроса с указанием вапроса о пути)..с какого ключа он считует путь или как можно принудительно включить чтоб он его запросил?
|
pr-lp
Цитата:
Код:
HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist Цитата:
Код:
Setup.exe /DIR="x:\dirname" |
ну не запрашивает она потому что ..это как бы идет обновление фаила ..Инно в каком то ключе(интересно в каком обычно при таких действиях) считывает где программа стоит и прописываает путь инстоляции..
Не спрашивать путь не хочит если прописываю ДИр..идет Информация,вод серийника,ЗАпрос на ярлык..а вапроса о пути инстоляции нет(( Вот как выглядит окно информаци: Информация о пользователе: CARTER SunBlock Каталог установки(нету): Папка в меню 'Пуск': 1C\Activision\D3 Дополнительные задачи: Создать иконку на рабочем столе |
pr-lp
Цитата:
Код:
Setup.exe /DIR="x:\dirname" |
а как нить можно раздел скрипта [Registry]
конвертнуть в нормальный файл реестра .reg тобиш преоразовать Root: HKU; Subkey: ".DEFAULT\Software\PCTools\Spyware Doctor\Settings"; ValueName: "StartupAction"; ValueType: Dword; ValueData: "$0"; Flags: createvalueifdoesntexist uninsdeletekey в нормальное ? |
ANDYru
Цитата:
Например из твоего приведенного, получитса это: Код:
[HKEY_USERS\.DEFAULT\Software\PCTools\Spyware Doctor\Settings] |
boss911
пасиб . уже и сам догадался после инталла рорытся в реестре и собрать всё это в один рег файл .. результат уже на руборде в соот ветке варезника :) |
[IMG]D:\13.JPG[/IMG]
ну если так как на скрине..то все по прежнему(( А возможно 4ю версию распоковать..и к примеру если все запаковано не втолько в ехе но и в bin |
pr-lp
Цитата:
|
сделал по другому..программой которая следит за реестром отследил куда Инно обращался.. спасибо..
|
pr-lp
Цитата:
|
Regmon -имя её..
www.sysinternals.com |
pr-lp
Цитата:
|
аа..HKEY_LOCAL_MACHINE\SOFTWARE
|
Не подскажет кто, где взять для ISTool v5.1.6 файл istool-ru.lng ?
|
YuriPet
Цитата:
|
boss911
Огромное спасибо! :beer: |
"Ничё не понимаю!" :shocked:
Почему у меня внутри создаваемых инсталляций в каталог embedded почти все файлы "упаковываются" в двойном экземпляре (например: вместо исходного License.txt получается License,1.txt и License,2.txt)? Соответственно "правится" и install_script.iss. В чем причина? Подскажите, кто знает, пожалуйста! :shuffle: |
"И тишина-а-а..." :lazy:
Неужели никто с подобным явлением не сталкивался? ;) |
YuriPet
Цитата:
|
Ну хоть кто-то проснулся - спасибо! :beer:
Да, действительно - при распаковке командой innounp.exe -x test.exe или при просмотре через 7-Zip File Manager в кактологе {app} все нормально, а содержимое каталога embedded выглядит примерно так: Код:
embedded\uninstall,2.exe Код:
embedded\uninstall,2.exe |
YuriPet
Я бы на твоем месте болше доверял бы innounp.exe -x test.exe MultiArc я использую в FARе и там все нормально!! Я тут где-то оставлял домашнюю ссылку на innounp.exe , так вот к нему уже давненько имеетса GUI-интерфейс, скачай и посмотри через него!! P.S. Я очень удевлен, что 7-Zip File Manager умеет просматривать инсталяхи Inno , а скрипт он умеет вытаскивать - наверно удобно, правда я не юзаю этот архиватор!! |
boss911
Совсем у меня голова кругом пошла... :insane: Во-первых - по поводу 7-Zip File Manager - это я поторопился (перепутал). :) Не умеет он работать с Inno-инсталляторами. Во-вторых - просмотр с помощью ISUnp.exe (GUI-интерфейс к innounp.exe) тоже показал, что файлы в каталоге embedded "двоятся". Так что - извини за то, что дал неверную информацию в предыдущем посте :shuffle: И наконец: 1. Распаковываю с помощью ISUnp.exe какой-нибудь инсталлятор, например, тот-же IsUnp10setup.exe (размер - 691 092 байт.). 2. В полученном install_script.iss среди прочего вижу строки Код:
[Files] Код:
embedded\License.txt 4. Компилирую обратно с использованием Inno Setup Compiler 5.1.6 - получаю в папке Output файл setup.exe размером 930 744 байт. 5. Распаковываю его тем-же ISUnp.exe - в папке embedded файлы: Код:
embedded\uninstall,2.exe Код:
[Files] Возникает вопрос: "Что я делаю не так?" |
YuriPet
Цитата:
Кажись я догодался в чем дело, но пока это всего лишь догадки, а пока просто дам совет - забей на эти строки в скрипте, да и вообще, что указывает на embedded: Код:
[Files] Код:
[Setup] Цитата:
|
boss911
Огромное спасибо - разобрался! :beer: |
Всем привет !!!
У меня проблема такая...... При распаковке (установке), не создаются каталоги, все файлы ложаться в корневую папку. Где я недоглядел и чего ещё не знаю ??? Спасибо ! |
starwork
приведи секцию [Files] своего скрипта, скорей всего не указал флаг Flags: recursesubdirs |
2EgOrus
Source: "D:\Games\Titan Quest\TextureCompiler.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\Games\Titan Quest\Titan Quest.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\Games\Titan Quest\AdobeAcrobat\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "D:\Games\Titan Quest\Audio\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
starwork
должно быть вот так Код:
Source: "D:\Games\Titan Quest\TextureCompiler.exe"; DestDir: "{app}"; Flags: ignoreversion Код:
Source: "D:\Games\Titan Quest\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
Ага, последний скрипт это полностью на всю папку с игрой?
т.е. всего одна строка? |
starwork
да, если есть ненужные файлы или папки можешь выкинуть их через флаг исключения например Код:
Source: "D:\Games\Titan Quest\*"; Excludes: example1.file, example2.file; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
Спасибо !!!
Ща попробую в двух вариантах, потом отпишусь ))) |
2EgOrus
А подскажи ещё..... Что нужно ещё добавить, что бы после установки в диалоговом окне было меню "установить DirectX" ? |
Код:
[Files] |
А у меня вт такая фича:при установке через модифицированный скрипт в Программах вместо группы с названием программы, Apollo например, появляется группа (Default). В чём может быть проблема?
|
fox_cub
скрипт покажи |
fox_cub
В Program Group запиши название своей группы в Default group name: и будет тебе счастье. |
EgOrus
Код:
[Setup] |
fox_cub
у тебя используется переменная {group}, ты её неопределил добавь в [Setup] DefaultGroupName=Apollo |
2ALL
Может кто-то желает помочь в написании статьи по InnoSetup ? прошу сюда |
EgOrus
Прошу извинить за дубль, но здесь актуальнее. Думаю, что имеет смысл создать тему по конструкторам InnoSetup. Было бы очень полезно иметь возможность централизовано собрать скрипты и сборки. |
Black Babay
спасибо за учатие поясни свою мысль, что то я не совсем представляю как централизовано собирать скрипты и сборки Помощи прошу потомучто очень занят, содержание как бы намечено, а вот со временем выходит полный облом, статья в дальнейшем скорей всего пойдет в офлайн учебник unnatend.oszone.net, если конечно Vadikan не забракует :-) А на будущее запланирована еще и статья по NSIS. |
Ну, собственно говоря как адоны. Выкладывается "конструктор", который включает в себя исходные папки (или папки с файлами) для компиляции, скрипт и описание. Думаю что обмен скриптами и мнениями будет весьма полезен.
|
не уверен что это намного лучше выложенного просто скрипта, в скрипте можно просто делать описание где какие папки должны лежать, в принципе Source: и DestDir: это самые основы при работе с Inno скриптами, думаю проблемм с расположением не возникнет, сами же "сырцы" программ качать бессмысленно, т.к. они имеют свойства обновляться...
Продложая твою мысль может имеет смысл выкладыть вместе со скриптом голую структуру папкок без файлов, которую уже каждый будет наполнять для себя сам. |
Цитата:
|
Есть урезанный Nero 7570 (размер 15,4 Мб), упакованный Inno Setup. Опции /Verysilent /SP- делают установку тихой. Подскажите пожалуста, как теперь подставить серийник и снять галочки с азиатских языков.
|
molvi
За галочки отвечают ключи /COMPONENTS= и /TASKS , но надо знать внутренние имя этих значений, которые надо подставить, а серийник, наверно через reg файл только, тут надо смотреть сам инсталятор!! Предлагаю подправить шапку, вот отсюда можно взять, более лучшие описанные, команды для тихой установки!! |
Может кто подскажет,накопилось ряд вапросов (какие параметры задавать в скрипте):
1).Что нужно указать чтоб к примеру при сжатие инно пропускал некоторые фаилы,папки и не сжиал их,а оставлял в оригинальном размере 2).Где надо указать и какой параметр чтоб фаилы запакованые извлекались не в паку каторый инно сам себе создаст а в уже созданную папку ,вот пример : [Setup] AppName=Splinter Cell Double Agent AppVerName=Splinter Cell Double Agent AppPublisher=Carter_2006,Inc. DefaultDirName={pf}\Splinter Cell Double Agent DefaultGroupName=Splinter Cell Double Agent OutputBaseFilename=Setup UninstallStyle=classic Compression=lzma/ultra DiskSpanning= yes DiskSliceSize=733989400 SlicesPerDisk=3 VersionInfoCompany=carter VersionInfoDescription=Splinter Cell Double Agent VersionInfoVersion=2.0 [Tasks] ; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required. Name: "desktopicon"; Description: "Создание иконки на Рабочем Столе"; GroupDescription: "Создание иконки:"; Flags: checkedonce [Files] Source: "F:\GAMES\Splinter Cell Double Agent\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files в данном варианте игра себе создает папку еще и туда скидует фаилы,а мне необходимо чтоб она в корень папки ранее созданной все скидывала 3).К примеру , я сжал группу файлов 7зип ,как сделать чтоб инно распокавал чать файлов и т д ..потом запустил распаковку из этого 7зип ..распаова из 7 зип ..инно продолжил истоляцию дальше ... 4) . если ехе находится не сразу в карне, а в папке \System ..у меня в свойствах ярлыка пути получается к примеру, "F:\GAMES\Splinter Cell Double Agent\System\SplinterCell4.exe" -ll а Расположение "F:\GAMES\Splinter Cell Double Agent" ,а надо "F:\GAMES\Splinter Cell Double Agent\System\" а вот как это прописать я не пойму ((( |
pr-lp
1. Flags: nocompression 2. Честно говоря, нечего не понял, может плохо вникнул в вопрос, сори!! 3. Тут лучше упаковать группу файлов в SFX архив и запустить этот архив с необходимым ключами или, можно использовать флаг hidewizard, который скроет окно распаковки файлов, например (SFX 7z): Код:
[Files] 4. Код:
[Icons] |
2. Я уже имею ранее установленную програму,с тем что я описал скрипт, получается что указываеш путь к той папке где уже что то стоит(ранее установленная программа) ,вместо того чтоб файлам извлечься в корень ,создается папка с именем программы и в неё уже извлекаются файлы ,а мне надо чтоб файлы извлекались в корень папки... а в примере скрипта
[Setup] AppName=ШтырлиЦ-Любимый бюст Гитлера AppVerName=ШтырлиЦ-Любимый бюст Гитлера AppPublisher=Carter_2006, Inc. DefaultDirName={pf}\ШтырлиЦ DefaultGroupName=ШтырлиЦ-Любимый бюст Гитлера UninstallDisplayIcon={app}\STRLIZ.exe OutputBaseFilename=Setup UninstallStyle=classic Compression=lzma/ultra ShowComponentSizes=yes ShowTasksTreeLines=yes [Tasks] ; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required. Name: "desktopicon"; Description: "Создание иконки на Рабочем Столе"; GroupDescription: "Создание иконки:"; Flags: checkedonce [Files] Source: "D:\Games\Stirliz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\ШтырлиЦ-Любимый бюст Гитлера"; Filename: "{app}\STRLIZ.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Icon.ico" Name: "{group}\Удолить "; Filename: "{uninstallexe}" Name: "{userdesktop}\ШтырлиЦ-Любимый бюст Гитлера"; Filename: "{app}\STRLIZ.exe";WorkingDir: "{app}" ;Tasks: desktopicon ; IconFilename: "{app}\Icon.ico" получается что я указываю папку ранее уже созданую примеру D:\Games\Stirliz5\ ..идет извлечение ..получается в папке Stirliz5 папка ШтырлиЦ и в ней уже фаилы ,а надо чтоб afsks извлекались в корень \Games\Stirliz5 ..мне кажется что то надо дописать в секции [Setup] или вообще что не писать чтоб фаилы запакованые в инно извлекались не в каталог задуманный а в корень ... если просто оставить DefaultDirName={pf}\ тогда создается Новая папка ...ну вот в краации что я для себя не уяснил |
Хочу научится более или менее нормально писать скрипты на InnoSetup. Прочитал множество материлов, форумов по этому вопросу, узнал много нового и нужного, что смог воплотить в жизнь, но одна идея, которая у меня появилась, всё никак не может воплотиться в жизнь. Самому просто очень интересно!Надеюсь на Вашу помощь.
Идея заключается вот в чем: Надо поставить смайлики для программы QIP в папку, определяемую текущим скином, с сохранением старого набора. Для тех кто не в теме: В Qip смайлики находятся по следующему пути: c:\Program Files\QIP\Skins\ дальше - анимированные смайлики (файлы gif и ini) находятся в подпапке скина, например по умолчанию смайлики находятся по этому пути: c:\Program Files\QIP\Skins\ICQ5\Smilies\Animated\ если я например использую скин Batterfly, то смайлики соответственно будут тут: c:\Program Files\QIP\Skins\Batterfly\Smilies\Animated\ Файл, в котором записано, какой скин сейчас используется, находится тут: c:\Program Files\QIP\Skins\current.cfg В нем первая строчка название скина, которое равно названию каталога. То бишь основная проблема сводится к тому - как извлечь из файла current.cfg название скина и подставить его в путь для установки смайликов. Сохранение текущих смайликов средствами скрипта, я так и не понял, как осуществить, хотя что то подобное встретил в "Руководстве по Inno Setup 5, версия 4". Я подошел более тупо - через скрипт AutoIT, при первом его запуске происходит переименование каталога со смайликами, при uninstall - запускается ещё раз и переименовывается обратно : Код:
If WinExists(@ScriptName) Then Exit [code] [Setup] AppName=Смайлики AppVerName=Смайлики Для QIP DefaultDirName={pf}\QIP\Skins\ICQ5\Smilies\Animated\ DefaultGroupName=Смайлики Для QIP AllowNoIcons=yes OutputBaseFilename=setup SetupIconFile=C:\Program Files\QIP\qip.ico Compression=lzma SolidCompression=yes FlatComponentsList=no UsePreviousAppDir=no UsePreviousGroup=no UsePreviousSetupType=no UsePreviousTasks=no AlwaysShowDirOnReadyPage=yes DirExistsWarning=no InfoBeforeFile=C:\123\MyInfoBefore.txt UninstallFilesDir="{pf}" [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" [LangOptions] ;Параметры для русского языка rus.LanguageName=<0420><0443><0441><0441><043A><0438><0439> rus.LanguageID=$0419 rus.LanguageCodePage=1251 rus.DialogFontName= MS Shell Dlg rus.DialogFontSize=8 rus.WelcomeFontName=Verdana rus.WelcomeFontSize=12 rus.TitleFontName=Arial rus.TitleFontSize=29 rus.CopyrightFontName=Arial rus.CopyrightFontSize=8 [Types] Name: "first"; Description: "Смайлики для Qip"; Код:
var |
DenchikK
сильно в задачу и скрипт не вникал если без всяких выкрутасов, попростому, то извлечь можно вот так: Код:
var |
EgOrus
Спасибо большое за ответ, но я пока не понимаю, как потом это склеить - получается как бы три части: 1. C:\Program Files\QIP\Skins\ 2. Название полученного скина 3. \Smilies\Animated\ и как потом это полученное подставить в [Setup] DefaultDirName={pf}\QIP\Skins\ICQ5\Smilies\Animated\ Еще раз извините за беспокойство! |
Пример почти из справки
[code][Setup] DefaultDirName={pf}\QIP\Skins\{code:GetSkinName}\Smilies\Animated\ Код:
function GetSkinName(Param: String): String; Если так то нужно вычитывать название из конфига, затем бэкапить средствами паскаля этот каталог (ремувить в папку с именем название.bak предположим) и всё. При ините деиснтоляции (procedure DeinitializeUninstall();) удалять новый скрипт и восстанавливать опять же переименованием первоначальный скин. |
Там не только бекап - туда же и новые смайлы запихиваются. Для каждого скина - свой набор смайлов.
Спасибо - попробую разобраться! P.S. На строчке result := skin; выдается ошибка Out Of Range поправил строчку LoadStringsFromFile(ExpandConstant('{pf}')+'\QIP\Skins\current.cfg', cfgfile); заработало Спасибо Вам огромное!!! |
2 ALL
Есть старая программа запакованная Inno Setup v. 1.3.25. С 2001 г. не обновлялась. Есть желание сделать тихую инсталяшку. Ключи: /SILENT, /VERYSILENT, /SP- не проходят. Innounp не распаковывает. Кто поможет? |
а что за программа то поподробнее если можно ...
|
ZaV
Path2Clipboard v1.0.7 for Win95/Win98/WinNT4/Win2000 - маленькая бесплатная программка, которая дает Вам возможность быстро и удобно копировать путь к файлу(ам)/папке(ам) в Буфер Обмена. Автор: Валерий Доможиров (d_valery@mail.ru) офсайт - http://www.myfreeware.narod.ru/produ...2Clipboard.htm Пользуюсь давно, и хотя установить ее не составляет труда хочу попробовать сделать тихую инсталяшку. |
ALWagner
У меня эту программу распаковал Total Commander с Multiаrc плагином. Вот, то что получилось http://ifolder.ru/840107 Только там нет привычного iss файла, но при желании можно написать с нуля, он элементарный. |
запаковал по быстрому может где что поправить надо поэтому выкладываю и скрипт и setup ...
качать |
jameszero ZaV
Thanks |
Цитата:
Код:
[Setup] |
Black Babay
За что ж вы так безжалостно копирайт автора удалили? Перепаковать себе и в паблик выкладывать это, как говорят в Одессе - две большие разницы ;) |
А почему бы не пользоваться последней версией программы? Кажется 5,1,9, я этой программой несколько хороших программ перепаковал - jv16 PowerTools 2006 1.52.350, Apollo 37zz, Easy CD-DA Extractor 10, Flash Get1.81Final. Довольно неплохо получается, а со старыми версиями больше мороки. Кстати, перепакованные программы можно взять с моего сайтика (если он жив еще), вот ссылка на него:
http://vlad09.mylivepage.ru/file |
Vlad09
Цитата:
|
Здравствуйте!Подскажите плиз, а есть какие-нить ключи для установки ярлыков в меню Пуск и в панель быстрого запуска(именно для инсталяторов InnoSetup)?
|
Grantsfer
Код:
/NOICONS |
boss911
Эт я уже читал, тока меня интересовали ключи установки ярлыков, а не их отмена. :) |
Grantsfer
Цитата:
|
Ок! Спасибо!
|
Это конечно хорошо пересобрать инсталятор. Но проблема в том, что инсталятор от K-Lite Codec Pack стоит на пароле, и распаковать его невозможно. А вот и суть проблемы: создал файлик коммандой /Saveinf. Там записано: Dir=C:\Program Files\K-Lite Codec Pack. Нельзя ли там что-нибудь написать чтобы место ProgramFiles он смотрел в реестре. Например если системный раздел D: , возникает проблема. Если кто знает, Прошу помочь!
|
strelok-ac
Цитата:
Цитата:
Код:
/DIR="x:\dirname" |
strelok-ac
Если проблема в том, чтобы сделать универсальную установку K-Lite, не приязанную у букве диска, то здесь я расписал метод (дистрибутив подготавливается к установке с помощью параметра -makeunattended) |
http://sabbathblacklab.narod.ru/i.html
Inno Setup от Kindly может кому интересно У кого есть видео пример или инструкция с скриншотами какой нибуть проги для начинающего хакера-ламера? Пришлите плиз |
Привет всем помогите с программой Net SPEAKERPHONE(http://clx-soft.com/netsph/distr/netsph_setup.exe) как сделать её чтобы устанавливалась автоматом?если не сложно сделайте плиз или обьясните поподробнее
|
di2blo
Читаем -> Код:
/SILENT, /VERYSILENT Код:
netsph_setup.exe /VERYSILENT |
А скажите чем сейчас можно распаковать новую версию программы. А то утилита предложенная здесь ее не поддерживает пока.
|
AlexALSP, innounp 0.20 . http://www.msilab.net/rus.4447
|
Spirkaa,
Спасибою Забрал. |
Spirkaa, перезалейте пожалуйста
уже не надо. все нашел |
В скрипте прописываю запуск приложения из PF. При инсталляции зависает окно с прогрессом установки (оно при этом неактивное) и процесс убивается только через диспетчер задач. Можно другим способом: закрыть приложение, тогда инсталляция проходит до конца. Другими словами, приложение уже запустилось, а процесс инсталляции не закончился и завис.
Пробовал Inno 5.1.10 и 5.2.2 - одинаково. От приложения не зависит - такой баг у всех. Это каким-то образом лечится? |
ChVL,не очень понял про что ты написал
может пример скрипта выложишь или поподробнее расскажешь что за приложение ? |
ZaV,
В аттаче простейший проект, на самом деле пригодный для начального обучения. Тем не менее это рабочая (между прочим, полезная) утилита. В проекте оставил и свой экзешник на тот случай, если у Вас компиляция пройдёт по-другому. Проблема следующая. При запуске без ключей а также с ключами /SILENT и /VERYSILENT зависает инсталляция, при этом прога оказывается запущенной. Если [Run] убрать - всё работает без проблем. Аналогичная ситуация и с другими приложениями. |
ChVL
насколько я понял, необходимо поставить втихую программу, потом ее запустить? попробуй это Код:
[Run] при желании можно потом пришибить этот процесс командой: Код:
[Run] |
snark
Спасибо!! Всё работает как надо. Следующая проблема. Как заставить сразу загружать интерфейс Ru вместо дефолтного En? В аттаче проект, в котором я поступил грубо: запретил переписывать модуль En, при этом инсталлятору ничего не остаётся делать, как загружать Ru. Однако такое надругательство позволяют далеко не все программы, и уж совсем неприлично лишать юзеров возможности переключиться на интерфейс En. Подозреваю, что существует грамотное и универсальное решение. Уп-с... Превышаю квоту, не грузит файл. Можно загрузить отсюда . |
ChVL
чтоб загрузить сразу русский интерфейс вместо английского, нужно: 1. поставить прогу 2. выбрать нужный язык 3. залезть в "%userprofile%\Local Settings\Application Data\Martau\Total Uninstall 3\" и найти там файл user.dat/ Это и есть файл настроек. 4. Остается только добавить его в папку {localappdata} проекта и дописать строку Код:
Source: {localappdata}\user.dat; DestDir: {localappdata}\Martau\Total Uninstall 3 Код:
[Setup] |
Спасибо! За решение проблемы и подсказку.
Из предложенного решения можно сделать вывод, что скрипт не заведует какими-то индивидуальными настройками, в частности, выбором интефейса при загрузке. Однако сколько программ (точнее, программеров) - столько и вариантов их структур. Это означает, что каждый раз придётся проявлять интуицию при поиске решения (или спрашивать грамотных людей...). |
ChVL
интуиция + RegShot + FileMon = 95 % настроенная как надо программа :) Еще предложение: если не надо кидать ярлык на рабочий стол, можно не комментировать строку Код:
[Icons] Код:
[Tasks] |
snark,
А если найти аналог Regshot'у, который бы выдавал результат сравнения в виде готового reg-файла - совсем был бы кайф... За предложение спасибо, флаг возьму на вооружение. В данном случае, правда, количество телодвижений не уменьшает, разве что код выглядит грамотнее. |
|
boss911,
Спасибо за сногсшибательную новость! - Давно мечтал... |
ChVL
а вот RegShot 1.8.2 |
snark,
Спасибо, конечно. Обязательно проверю обе версии. Только вот по Вашей ссылке скачать не получилось - не смог разобраться с дурацкой системой webfile'a. Гоняет по кругу, а закачки нет. И номер вставлял куда-то там, и напрямую пытался... |
Вложений: 1
ChVL, вот тут
|
snark,
Спасибо! Подробно не разбирался, но это явно разные RegShot'ы. 1.8.2 - от производителя, объём распакованной папки около 86 КБ. 1.7.2.2 - сборка boss911, объём экзешника около 411 КБ. Будем пробовать. |
Подскажите пожалуйста как сделать, чтоб в инсталяторе собраном в Inno Setup для ярлыка деинсталятора можно было назначать какую либо иконку, но не такую как иконка самого инсталятора? То есть чтоб установка и удаление 2 разные иконки.
Заранее спасибо. |
Цитата:
Код:
[Setup] Извиняюсь, возможно, я изначально не правильно понял вас: вам нужно изменить иконку самого деинсталлятора (unins000.exe) или иконку ярлыка на запуск деинсталлятора? |
boss911, как изменить иконку ярлыка деинсталятора, чтобы в Пуск-Прграммы и в Удалении программ иконка деинсталятора отличалась бы от иконки инсталятора(если иконку инсталятора назначаешь сам)?
|
Цитата:
Код:
[Icons] Цитата:
|
У меня по моему сделано вот так
добавляем В Секции следующие строчки Код:
[Setup] в данном случае это путь к файйлу dm.ico для инсталлятора, где compiler это папка с компилятором скрипта innosetup (Compil32.exe). Я складываю туда иконки для всех программ для того чтобы не прописывать путь вручную) UninstallDisplayIcon={app}\dmaster.exe указывает использовать для uninstall иконку из файла dmaster.exe из папки с установленной программой, также можно прописать любую другую иконку, но при установке программы придется ее добавлять в дистрибутив и помещать как отдельную иконку, например в папку с установленной программой. например можно сделать так UninstallDisplayIcon={app}\newdm.ico в этом случае файл иконки должен быть в c:\Program Files\Download Master\newdm.ico если данного файла не будет то будет использована иконка по умолчанию. |
Цитата:
Цитата:
Код:
[Setup] |
Нет ли плагина к Inno, который бы трансформировал reg-файл в скрипт?
Уж слишком хлопотно ручками copy-paste более сотни ключей, да ещё и отдельными элементами... |
ChVL
Зачем плагин. Есть удобный редактор, который умеет не только импортировать в скрипт reg файлы, но и ещё много чего полезного. http://www.istool.org/ |
ChVL, для импорта регфайла в скрипт инно будет достаточно драг-н-дропом перетащить нужный регфайл в программу ISTool в секцию Registry
2 all script.bat - маленький батник для тех кому неохота для перекомпиляции скрипта заходить в InnoSetup, нажимать кнопку компиляции, закрывать программу... Код:
@echo off Код:
Embedded путь к компилятору тоже может быть отличный от вышеуказанного %ProgramFiles%\Inno Setup 5\Compil32. Меняйте на свой. Если к тому же хочется сразу запаковать получившийся скомпилированный ехе-шник в sfx-архив (вариант для 7zip; фанаты WinRAR'a могут сотворить нечто подобное) с нужными параметрами, то добавьте к скрипту строки (пример для тотал коммандера 7.02): Код:
SET INST=totalcmd |
Когда в ISTool перетаскиваю файлы и папки, то прописывается полный путь каждой(ого) из них. Приходится в каждой строке вручную удалять всё, что находится до {app}. Или я не нашёл какой-то опции?
|
ChVL
Самое простое, в том же ISTool выбрать Section-Script (отобразится весь листинг скрипта) Далее Edit-Replace В верхнем поле пишем полный путь, например C:\Program Files\MyProg, а в нижнем пишем константу, например {app} и применяем ко всему листингу. |
jameszero,
Понял, спасибо! Вообще довольно странно, что для такой очевидной цели не предусмотрено конкретного решения. |
snark, несколько упрощенный ваш батник
Код:
@ECHO off При предложенной вами структуре каталога указывать путь к скрипту не нужно, плюс батник обрабатывает скрипты с любым именем Ну и для "совсем ленивых" :wink: ! В реестр добавьте след информацию: Код:
Windows Registry Editor Version 5.00 (проверьте только путь к компилятору. он может отличаться от здешнего) |
Вопрос
Есть Autpost firewall pro 2008 исталятор Inno 5.2.1! Делаю "OutpostProInstall_ru.exe /VERYSILENT /SP-" - но всеравно вилазит окошко выбора языка! Вопрос как забрать ето окошко или подскажыте чем распаковать Inno 5.2.1 - пробовал Inno Setup unpacker но он говорит что неможет распаковать что файы установки повреждены хотя інсталяция проходит нормально |
HiGH_ZeRO
поставь в скрипте инно Код:
[Setup] |
Цитата:
Код:
/LANG=language |
boss911
спасибо незаметил Теперь делаю так OutpostProInstall_ru.exe /SILENT /LANG=ru /NORESTART - язык вибирается руский но нет тихой установки а появляется стандартое окно продолжения инсталяции OutpostProInstall_ru.exe /LOADINF="1.inf" /SILENT /NORESTART - такой метод тоже неработает А содержимое 1.inf уж больно маленькое: [Setup] Lang=ru Dir=D:\Program Files\Agnitum\Outpost Firewall Pro Group=Agnitum NoIcons=0 Tasks= |
HiGH_ZeRO
Попробуйте так: Код:
OutpostProInstall_ru.exe /VERYSILENT /SP- /LANG=ru |
Цитата:
А если извлечь и добавить Цитата:
В скрипте инсталятора указываются пути к файла которых несуществует например: Source: "{code_GetDest}\zlib,2.dll"; DestDir: "{code:GetDest}"; DestName: "zlib.dll"; AfterInstall: "UpdateComponentControl"; Flags: restartreplace overwritereadonly uninsrestartdelete ignoreversion uninsremovereadonly mvnmvbnfxcs zlib,2.dll -такого файла нет есть только zlib,1.dll когда я удаляю ети ветки то следущая ошибка нет файла licence, я в нужной папке делаю файл licence и после етого выбивает ошыбку {code:GetDest} нет такой переменной |
Ветки не удаляй, а сделай из этого файл *,2. Таких там куча будет. На 110 линии кричит, что SandBox.cat нету. А его и правда нет. Чо делать? Попробую накатить из дистрибутива и поискать в виндах.
И по поводу языка установки: в этой версии еще не дошел, но в прошлой, да и во всех инсталяхах, где есть несколько языков, удаляю все нерусские файлы, в секции [Files] удаляю все строки, со ссылками на них, секцию [CustomMessages] тоже чищу, ну и по мелочам, в каждой инсталяхе по разному, но понять без проблем. На выходе имеем только русский язык и меньший размер дистрибутива. и в секции [Languages] оставляй только ru |
SandBox.cat - есть но в другом каталоге. Я потом посмотрел ето просто дублируются строчки незнаю почему!
Мне уже позно разбиратся- написал AUTOIT скрипт сразу с регистрацыей :) |
Чем лучше всего защитить сборку, скомпилированную с помощью Inno, от распаковывания?
|
ChVL
в корне папки программы InnoSetup есть файл ISCrypt.dll. Это модуль криптования, и его необходимо скачивать отдельно. Подробнее тут, там же и ссылка на закачку. Цитата:
в скрипте добавить строки Код:
[Setup]: |
Вопрос: при установки собранных с помощью данного инсталятора программ при выборе пункта "Запустить программу такую-то" (по окончании установки) инсталлятор не закрывается, а уходит в свёрнутый режим, и закрывается только после закрытия программы. Как это можно исправить?
|
В скрипте в секции [Run] указываем след. флаг:
Код:
Было: |
Вот так всё просто, мог бы и сам догадаться=)
Спасибо! |
snark,
Вообще-то работает, но чрезвычайно криво. Открываю запароленный MyProg.exe в Inno Setup Unpacker'e и он спокойно показывает всё содержимое сборки (впрочем, мне это тоже бы не хотелось). Даю команду распаковать и он, как обычно, просит папку. Тыкаю носом - всё, Unpacker намертво зависает. До этого момента, правда, успевает появиться папка {app} с файликом is-00001.tmp нулевого объёма. Никакого запроса пароля не последовало. В принципе такой сценарий устраивает и даже вполне - это какой же будет мат при попытке распаковать.... Однако, смешно: я ведь тоже не смогу это сделать. Не дай Бог потерять исходники... И зачем тогда пароль? Для справки: Inno Setup Compiler 5.2.2 Inno Setup Unpacker 5.2.1 |
ChVL, содержимое сборки - это еще не весь скрипт :)
Я пробовал распаковывать тестовую программу (сделано Inno Setup Compiler 5.2.2) через Uniextract 1.5 + innounp.exe v 0.20 (перепакованная версия с обновленными модулями). Распаковать пытается, спрашивает пароль; если пароля нет - тогда "до свиданья"... Цитата:
|
snark,
Спасибо за деятельное участие. Ещё. Как построить процедуру введения в скрипт внешних данных через ключ? Например, необходимо ввести в реестр регистрационные данные, которые у каждого пользователя программой свои. Понятно, что для внутреннего использования всё вводится прямо в скрипт. |
ChVL
Если предусматривать поля для ввода регистрационных данных во время установки, то нужно будет "рисовать" эти поля в секции [code], не скажу, что это просто... мануалы почитать придётся. А с помощью ключей установки регистрацию можно реализовать так: В скрипт добавляется секция [code] Код:
[code] Код:
[CustomMessages] program.exe /SERIAL=9999-8888-7777-6666 /USER=Pupkin /COMPANY=Home При установке программы без ключей, подхватится демонстрационный серийный номер из секции [CustomMessages], а имя пользователя и название организации будут взяты системные из Windows |
jameszero,
Понял, спасибо! Особенно интересна последняя фишка. А вот если б ещё без ключей прописывалось "демонстрационное" имя - цены бы ей не было... К сожалению, дальнейшие исследования функции Encryption показали её полную несостоятельность. Оказалось, что если в секции [Setup] происана строка Encryption, причём, неважно(!) с каким значением: yes или no, то при попытке инсталляции сборки запрашивается Password. Мне это совсем не надо. Что-то тут Jordan Russell или Martijn Laan явно перемудрили (или недомудрили). Если же строку Password не писать или оставить пустой - не компилируется. Похоже, придётся искать стороннюю программу для защиты от распаковки... |
ChVL
Цитата:
При отсутствии ключа /USER, в реестр пропишется слово Tester Код:
[CustomMessages] |
jameszero,
Да, конечно. Извините за глупый вопрос - в спешке недосмотрел очевидное решение. Ещё. При старте подключается (при желании) окно с выбором языка инсталлятора. А можно ли к нему "прицепить" и синхронное переключение языка интерфейса, загружаемого по умолчанию? Для этого обычно делается изменение в .ini (или просто выбрать один из двух .ini), или же изменение ключа реестра (или просто запускать один из двух reg-файлов)... |
ChVL, такое делается следующим образом: есть два ini-файла - русский и английский соответственно. Они привязываются к языку установки, и в зависимости от того, какой язык выбран, устанавливается соответствующий ини файл. В секции Setup должна быть строка
Код:
[Setup] Снова пример из жизни - установка программы ApBackUp 3.0 Код:
[Files] Цитата:
Подобным образом следует поступать и с ключами реестра. |
!!! всем привет!!! Подскажите пожалуйста, как прописать в скрипте,
чтобы при установке проги или игры, инстоллятор сканировал все жеские диски? Заранее спасибо! |
Модераторы, добавьте, пожалуйста следующую информацию в шапку темы.
Официальный сайт Inno Setup 5.2.2 RU, Зеракло Русская справка, Зеракло, Зеракло ISTool 5.2.1, Зеркало, Зеракло Русификатор ISTool, Зеркало, Зеркало Inno Setup Script Generator, Зеркало Unpaker 2.0, Зеркало, зеркало - распаковывает инсталляторы версии 5.2.2 Inno Setup Pack 5.2.2 RU Примеры скриптов на паскале Inno Setup Addon 0.07 For Total Commander Параметры командной строки инсталлятора |
|
Подскажите, пожалуйста, каким образом можно извлечь из инсталлятора секцию [code]? При распаковке инсталлятора в папке "embended" появляется файл CompiledCode.bin, как его расшифровать не понятно, а в самом извлечённом скрипте секция [code] отсутствует.
|
unikum111,
Цитата:
Цитата:
|
jameszero, хорошо, сделаю ссылки на оффициальные сайты + парочку зеркал, а следить особо на ifolder за ссылками не надо, т.к. по истечении срока файлы перекинут в архив, и их также можно скачать, но посмтрев рекламку.
|
Требуется запустить reg файлик. Делаю так:
Код:
[Run] 1. Как убрать (пропустить) это окно? 2. Как уничтожить этот Reg.reg после его запуска? |
а требуется именно испоьзование reg файла ? может быть лучше использовать секцию registry
а так по первому вопросу строка должна быть вида Код:
regedit /s Reg.reg а насчет удаления можно также в секцию run прописать команду на удаление файла reg.reg |
ZaV,
В том-то и дело, что встретился необычный случай (для меня, по крайней мере), когда программа не видит прописанный в реестр ключ через секцию [Registry]. Запускаю reg файлик - всё нормально, при этом в реестре ничего не меняется. |
ChVL,
Цитата:
|
Нашёл решение. Спасибо ZaV за подсказку поставить ключ впереди. Я же пытался прицепить в конце.
Может кому понадобится, рабочий код запуска reg файлика такой: Код:
[Run] Код:
[Run] snark: Из скрипта никакой доп. инфо не вытащить - там самая обыкновенная секция [Registry], которая исправно делает своё дело. Это такая необычная особенность программы. |
ChVL,
Код:
[InstallDelete] |
unikum111,
Спасибо! Дык, проблемы решены, и вылилось это в пару строчек... А разобраться не удалось - потратил уйму времени на это. |
В следующий раз выкладывй скрипт, вместе подумаем:) Может чего и выйдет.
|
если загонял данные в секцию registry через импорт из reg файла
в программе подобной Istool то просто они бывает некорректно их преобразовывают попробуй поставиь программу с использованием секции registry потом в regedit экспортируй эту ветку в reg файл и сравни с тем reg файлом что есть у тебя. Скорей всего они будут отличаться. у меня это по моему налюдалось на типе данных ValueType: binary; я для того чтобы все работало приводил ее к такому виду Код:
Root: HKLM; SubKey: Software\test\test; ValueType: binary;ValueData:(23 2a 4d 45 4e 55 5f 53 45 43 54 49 4f 4e 2a 0d 0a cc e5 d4) |
jameszero, думаю, можно добавить в шапку. Вот привёл в надлежащий вид, вроде:)
Кто-нибудь знает как пользоваться ROPS 3.0.3.53 disassembler? Вроде он секцию [code] расшифровывает, есил я ничего не путаю. |
unikum111,
Самое интересное: функция удаления не работает! Ничего не понимаю - там даже трёх сосен нет, где можно было бы заблудиться... Делал так: Код:
[InstallDelete] Код:
[InstallDelete] ZaV, Очень хорошая подсказка. Обязательно проверю. В том файле именно binary. Меня смутило то, что RegShot до запуска файла и после запуска исправно докладывает: изменений в реестре - 0. Если ValueData он не сравнивает, то такой фокус точно может быть. |
ChVL, по идее должен, может с путями что-то... В путях обычно кавычки пишутся, попробуйте так:
Код:
Type: files; Name: "{app}\Reg.reg"; |
Вложений: 1
Сложилось впечатление, что гуру этого топика мне не поверили.
В аттаче тестовая программка, где прописано удаление файла в полном соответствии с документацией на Inno Setup Compiler 5.2.2. В таком виде функция не работает. Помогите разобраться: где тут моя ошибка, или это баг ISC, о чём стОит запросить авторов? |
ChVL, а если так
Код:
[Files] |
Каким образом можно вернуть прежние ассоциации файлов после деинсталляции программы?
|
snark,
Эта функция работает, пользовался ею. В данном случае она не устраивает: файл надо удалить после того, как он сделает своё дело - будет запущен или открыт. Так что, потревожить авторов Inno? |
ChVL
А если так: Код:
[Files] |
jameszero,
Всё работает как надо. Очевидно, что флаг deleteafterinstall срабатывает тогда, когда пройден весь скрипт, в том числе и секция [Run]. На такой алгоритм мне и следовало обратить внимание. Спасибо за науку. И всё-таки секция [InstallDelete] команды не выполняет - явный баг, IMHO. snark, Вероятно Вы имели ввиду это же решение. Прошу прощения, что не понял сразу. |
ChVL
[InstallDelete] отрабатывает до установки. По крайней мере, так сказано в справке. Цитата:
|
jameszero,
Дык, не отрабатывает ни - до, ни - после! - Файл не удаляется. |
ChVL
На примере скрипта из 181 поста: Предварительно создаём папку Profram Files\Test, кладём в неё файл Test2.txt и компилируем скрипт Код:
[Setup] Из [InstallDelete] неполучится удалить файл Test.txt потому, что эта секция срабатывает до секции [Files] (если быть точнее, файл удаляется и сразу создаётся опять). |
jameszero,
То, что и как Вы раскопали, - просто класс! Реально имеет право на существование и такой вариант: файлы имеют одинаковое название, а содержание - разное. Это может быть полезно в том случае, когда делается инсталляция программы более поздней версии поверх предыдущей, и при этом необходимо какой-то файл(ы) заменить новой версией. |
ChVL,
Цитата:
Цитата:
1. он старше по дате (определяется по дате в свойствах файла); 2. указан флаг replacesameversion в свойствах нового файла или содержание файлов различно; 3. у существующего файла нет версии (version info). |
snark
Всё верно, для замещения старого файла новым, шаманств с [InstallDelete] не потребуется, но допустим такая ситуациия: Программа при первом запуске создаёт свои конфигурационные файлы и с ними работает, а в следующей версии автор решает изменить формат (имена) этих файлов. Вот тут и пригодится [InstallDelete] |
jameszero, да, такой вариант я что-то не продумал... Подходит идеально.
И хотя ChVL имел в виду именно одинаковое имя и разное содержание, бывают же случаи, когда все наоборот |
скажите можно ли извлеч файлы из setup-1.bin,setup-2.bin,... если фаил setup.exe потерян?
при запуске innounp.exe выдает сообщение о повреждениях и несовместимостях unpacker последней версии |
Как сделать, чтобы любым unpacker'ом нельзя было добраться до скрипта? Устроит любой вариант, к примеру:
- скрипт не извлекается (как будто его и нет); - извлекается, но не читается; - извлекается, но запаролен. |
Цитата:
Но опять же, не все так просто. ;) |
boss911,
Это я уже пробовал. Не подходит. Речь идёт о скрипте. Дистрибутив должен использоваться как обычно, т.е. пользователь сборки может и не догадываться о существовании скрипта в принципе. |
Цитата:
Второе перейти на другой инсталлятор в котором невозможно получить скрипт установки в том виде в каком он был до компиляции дистриба (например Nsis) Ну и третье а что у тебя действительно такой серьезный проект что его надо так защищать ? Ведь если у тебя используются только те функции что предоставляет innosetup (без серьезного использования секции code и внешних библиотек), то твой инсталлятор скорей всего очень легко будет сделать самостоятельно просто отслеживая изменения файловой системы и реестра. Ну еще может пару библиотек зарегистрировать придется. |
ZaV,
Цитата:
Цитата:
Цитата:
|
ChVL,
вот может поможет: Цитата:
Цитата:
|
Не в курсе, писалось или нет - После отработки инсталлера Inno Setup в секции реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ появляется раздел, в котором прописаны все опции, выбранные при установке программы. Если эти записи добавить в реестр перед запуском самого инсталлятора, то прога поставится точно в такой же конфигурации. Имя раздела, вроде, для каждой проги прописано жестко и не меняется (остается его лишь найти и экспортировать в reg-файл с последующим удалением ненужных строк).
|
Проблему защиты от распаковки можно решить следующим образом. В простейшем случае в секцию [Setup] дописываются две строчки и добавляется секция [ Code ]:
Код:
[Setup] Если же у вас есть желание скрыть пароль, то сгенерируйте для него MD5 хэш и сравните с помощью функции GetMD5OfString. Полностью этот способ привёл WindoStroy в посте #200. Не забудьте в папку Inno Setup 5 (в PF) положить файл ISCrypt.dll. В обоих случаях при инсталляции программы пользователь не заметит, что она запаролена, т.к. на старте пароль вводится из памяти с помощью скрипта секции [code]. Если же попытаться программу распаковать, то unpacker намертво зависает… |
ChVL
К сожалению, способ не универсален - защищаются от распаковки только файлы программы, а сам скрипт легко извлекается Unpacker-ом |
jameszero,
Цитата:
|
ChVL
В Unpacker-е нужно выделить не все файлы, а только скрипт. |
Вышла версия 5.2.3.
http://www.jrsoftware.org/download.php/is.exe http://www.jrsoftware.org/download.php/is.exe?site=1 Секция Code, идёт в бинарном файле, через секцию Code можно добавить параметры в реестр, и вот защита. могу порекомендовать обратится сюда, возможно найдётся другое решение: http://forum.ru-board.com/topic.cgi?...&start=1080#lt |
jameszero,
Цитата:
|
Цитата:
|
Как убрать окно приветствия мастера Inno Setup
Можно ли, и если можно, то как убрать окно приветствия в мастере установки приложения Inno Setup?
Окно приветстия добавляю как скриншот. Хочу сделать на подобие самораспаковівающиегося архива, но в inno setup можно прописать ключи реестра, путь установки, назначить иконки и т. д. В общем хотелось узнать как сделать установку программі, чтобы она устанавливалась в фоновон режиме, т. е. пользователь не мог ни на что повлиять, а программа корректно установится. Короче говоря, хочется иметь такой дистрибутив прог, который есть на диске Zver-я. |
Цитата:
Inno Setup Command Line Options Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
Цитата:
Цитата:
|
|
Правильно заметили, что просто скопировал и вставил :).
Расскажите немного о функции SendMessage. Прочитал справку, а описания ее параметров не наешл. Процедура CurPageChanged отвечает за определенную страницу мастера. Ее параметр CurPageID=wpWelcome есть страница приветствия или окно приветствия. Когда появляется окно приветствия вызывается процедура SendMessage. Она имеет 4 параметра. Расскажите плиз о самой функции и ее параметрах. |
|
boss911,
Цитата:
|
имея хеш, можно легко подобрать пароль.
|
Распаковал файл GoldfishAquarium-V2.exe
Получил install_script.iss с содержанием ниже. Только если его обратно запаковать, то при установке оно ставит в меню Пуск-Программы название Default, а как его вообще убрать, чтоб не ставило, то не вижу такой строки... [Setup] AppName=LifeGlobe Goldfish Aquarium 2.0 AppVerName=Goldfish Aquarium 2.0 DefaultDirName={pf}\Prolific Publishing, Inc.\Goldfish Aquarium 2.0 OutputBaseFilename=setup Compression=lzma [Files] Source: {sys}\Goldfish2.scr; DestDir: {sys}; Flags: ignoreversion Source: {app}\ReadMe.txt; DestDir: {app}; Flags: ignoreversion Source: {app}\www.prolific.com.url; DestDir: {app}; Flags: ignoreversion [Registry] Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe; Flags: uninsdeletekeyifempty Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; Flags: uninsdeletekey Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueName: Version; ValueType: String; ValueData: 2.0; Flags: uninsdeletekey Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe; Flags: uninsdeletekeyifempty Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; Flags: uninsdeletekeyifempty Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueName: gAtt; ValueType: Binary; ValueData: 04 00 00 00; Flags: uninsdeletekey Root: HKCU; SubKey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueType: binary; ValueName: RegCode; ValueData:xxx - модератор: Публикация лицензионных ключей и кодов запрещена ОПК 3.18 !!! Root: HKLM; SubKey: SOFTWARE\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueType: binary; ValueName: RegCode; ValueData: xxx - модератор: Публикация лицензионных ключей и кодов запрещена ОПК 3.18 !!! Root: HKCU; SubKey: Control Panel\Desktop; ValueType: string; ValueName: SCRNSAVE.EXE; ValueData: Goldfish2.scr [Run] [Icons] Name: {group}\Goldfish Aquarium 2.0\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys} Name: {group}\Goldfish Aquarium 2.0\Goldfish Aquarium 2.0 Read Me; Filename: {app}\ReadMe.txt Name: {group}\Goldfish Aquarium 2.0\Uninstall LifeGlobe Goldfish Aquarium 2.0; Filename: {app}\unins000.exe Name: {group}\Goldfish Aquarium 2.0\Prolific Publishing on the Web; Filename: {app}\www.Prolific.com.url Name: {userdesktop}\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys} Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys} [Tasks] [CustomMessages] NameAndVersion=%1 version %2 AdditionalIcons=Additional icons: UninstallProgram=Uninstall %1 AssocFileExtension=&Associate %1 with the %2 file extension AssocingFileExtension=Associating %1 with the %2 file extension... |
метод /LOADINF="filename" не работает, неизвестно, откуда он его считывает
|
Цитата:
Код:
DefaultGroupName=LifeGlobe Goldfish Aquarium 2.0 (полсе знака "=" можеете написать всё что угодно) Цитата:
Код:
AllowNoIcons=yes Код:
DisableProgramGroupPage=yes Код:
SolidCompression=yes |
Столкнулся с проблемой распаковки инсталляторов созданных последней версией...В частности DVDFab4120...В чём проблема не знаю....
|
Цитата:
|
В Inno Setup есть встроенная функция SetIniString, она задаеётся в секции [code]. Подскажите как должен выглядеть скрипт, если мне необходимо, после окончания установки прописать в секцию [Settings] , параметр Language, значение {app}\test.lng. Сам ini-файл находится {userappdata}\test\test.ini
|
unikum111
Если я правильно понял, то секцию [code] тут не обязательно использовать, так как Inno Setup умеет работать с ini файлами через секцию [INI] - Код:
[INI] |
Представляю Вашему вниманию полный комплект Inno Setup.
В сборку входят следующие компоненты: Inno Setup compiler 5.2.2 русская версия; ISTool 5.2.1 русская версия; Inno Script Generator английская версия; Inno Setup Unpacker Explorer 1.0 аглийская версия; Примечание: в Inno Setup Unpacker Explorer 1.0 заменён innounp.exe на тестовую версию 2.0, так что распаковывает инсталляторы вплоть до версии 5.2.2. Есть возможность выбора компонентов. Не предусмотрена деинсталляция отдельных компонентов, только всех сразу (пока не знаю как сделать). Скачать: ifolder, RapidShare, iBox (Размер: 5.34 Mb). |
Что прописать в командной строке после /VERYSILENT чтобы блокировать запуск программы после установки? иначе придется taskkill /F /IM *.exe /T
|
SamLab, можно перепаковать инсталлятор, убрав запуск после установки (хотя бы отменить умолчание):)
Иначе taskkill. |
SamLab, а что вообще за программа. Если это Uninstall Tool, то у меня есть готовый скрипт.
|
WindoStroy, STDU Viewer
|
SamLab, у меня есть готовый скрипт
|
4sag, Можешь выложить или выслать на samlab(гав)list.ru
|
Вышел новый Unpacker 0.23 , поддерживает Inno Setup 5.2.3
|
Китайский Unpacker 0.23+GUI . Работает нормально, только название скрипт после распаковки на китайском.
|
woodyfon,
в секции [Setup] прописать: DisableStartupPrompt=yes |
Делаю инсталлятор для скринсейвера, так вот вопрос: как добавить экран "Выберите папку для сохранения инсталлятора", меняющий UninstallFilesDir.
Помогите! |
Котяра, UninstallFilesDir определяет папку деинсталятора.
|
Цитата:
|
Помогите, пожалуйста.
Раньше никогда не занимался сборкой установочных пакетов, а сейчас пришлось. Поиском в этой теме посмотрел, но ничего не нашел. Можно ли собрать такой инсталл.пакет, который будет выполнять некоторые действия, перезагружать компьютер и продолжать установку? Спасибо. |
Я бы сделал так:
1. Ставим драйвер/сервис 2. Распаковываем вторую часть инсталлера в %TEMP% 3. Добавляем ключ для запуска в HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce 4. Перезагружаем |
Здравствуйте, хочу предложить Inno Setup Unpacker Explorer 1.0 русская версия скачать с iBox
а также очень полезная утилита Regshot 2.0 unicode Автор: Белогорохов Юрий Павлович сайт в отличие от общераспространенного regshot 1.8.2, эта утилита сохраняет изменения сделанные при установке программ прямо в виде *.reg и *.inf файлов!!! |
Цитата:
Как автономный инсталлер, сделанный Inno Setup? |
Котяра, zombie2003,
К сожалению, я с такой задачей не сталкивался. Обычно я сетапы делаю NSIS. Попробуйте отследить действия инсталляторов Alcohol и Daemon Tools (с помощью FileMon, RegMon, Advanced Registry Tracer). Скорее всего, будет достаточно легко определить алгоритм их работы. Вторая часть должна повторно проверять права пользователя, наличие драйвера/сервиса, обеспечивать корректную деинсталяцию всего этого добра при отмене установки на этом этапе и т.д. и т.п. |
Можно ли в Inno Setup сделать так, чтобы при установке файлы копировались из папки, лежащей вместе с инсталлятором). Т.е. не запаковывались ни в архив (с сжатием или без), ни в отдельный bin-файл. Например, setup.exe копирует папки и файлы из папки) Setup, в которую можно зайти и без установки запустить приложение.
|
Цитата:
Код:
[Files] external - означает, что файл внешний. |
спасибо. сейчас проверим)
все работает. как это я не догадался про external)) |
Цитата:
Код:
[Files] |
Цитата:
|
Цитата:
|
Как поставить папку на пароль?
|
Цитата:
|
Вопрос к специалистам.
Решил перепаковать кодеки Combined Community Codec Pack с целью заменить плеер на русскую версию. При компиляции ругается: Required function or procedure "HaaliRendererRegister" not found Код:
Source: "{app}\Filters\Haali\dxr.dll"; DestDir: "{app}\Filters\Haali"; Components: "HaaliSplitter"; AfterInstall: "HaaliRendererRegister"; MinVersion: 0.0,5.0; Flags: restartreplace uninsrestartdelete ignoreversion |
Цитата:
Сдается мне, что это банальная регистрация библиотеки (компонента), тогда зачем надо было писать для этого код, когда достаточно добавить флаг 'regserver', хотя, я могу ошибаться, а код может выполнять и другие дополнительные функции. Попробуйте заместь: Код:
Source: "{app}\Filters\Haali\dxr.dll"; DestDir: "{app}\Filters\Haali"; Components: "HaaliSplitter"; AfterInstall: "HaaliRendererRegister"; MinVersion: 0.0,5.0; Flags: restartreplace uninsrestartdelete ignoreversion Код:
Source: "{app}\Filters\Haali\dxr.dll"; DestDir: "{app}\Filters\Haali"; Components: "HaaliSplitter"; MinVersion: 0.0,5.0; Flags: restartreplace uninsrestartdelete ignoreversion regserver |
Есть ли у Inno возможность работать с процессом, находящимся в RAM?
Конкретнее: запущена программа, её процесс находится в RAM системы. Может ли Inno обратиться к нему и там сделать правки с помощью, например, секции [code]? Надо что-то аналогичное BOOL WriteProcessMemory. |
Уважаемые модераторы, предлагаю в шапке темы разместить следующие ссылки:
Обложка для Inno Setup с проверкой системных требований - Corona Skin & Check System Requirements, Домашняя страница, Скриншот, Скачать обложку для Inno Setup К инсталлятору добавляется всего 35 Кб (~313 Кб со всеми необязательными файлами), для компиляции скрипта требуется Inno Setup Preprocessor. Inno Setup на практике, скачать Inno Setup Unpacker Explorer 1.0 русская версия (перевод), скачать Если требуется узнать, какие ключи в реестр вносит та или иная программа, то понадобится Regshot 2.0 unicode - домашняя страница, Если необходимо использовать метод проверки внешнего файла через сумму MD5 для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. |
Serega_
Уж больно она будет похожа на шапку из ru-board, текст то оттуда. |
boss911, извини, а причём тут похожесть или схожесть? Да, некоторые ссылки оттуда, но если это кому-то поможет, то почему бы и нет? Ведь тема называется Inno Setup .:[все вопросы]? Скажу честно, я об Inno Setup узнал только с этого форума, заинтересовался... Прочитав "Русская справка" к Inno Setup и "Примеры скриптов на паскале" начало кое-что получаться... нашёл где-то в интернете "Inno Setup на практике", тоже интересная вещь. Ведь не все сразу рождаются программистами, у меня допустим это - хобби. Я предложил, а добавлять или нет, решать Вам...
|
Цитата:
|
а каким образом сделать дополнение к программе с помощью него? Например чтобы он определил, что программа установлена и если установлена то куда? Чтоб самому путь не прописывать. (на примере патчей для Сталкера)
|
Подскажите пожалуйста!
Как сделать, чтоб внизу инсталятора была "бледная" надпись Copyright © 2008? Я добавляю в [Setup] WindowVisible=yes AppCopyright=Copyright © 2008 - но надписи нет. В чём ошибка? |
МИШАНЧИК
Код:
[Messages] |
jameszero,
Большое Человеческое спасибо! |
Подскажите пожалуйста!
Не получается назначить принудительно каталог установки: C:\Program Files\Total Commander\Utils\ХХХХ. Прописываю: [Setup] DefaultDirName={pf}\Total Commander\Utils\ХХХХ А получается:C:\Program Files\ХХХХ Как правильно прописать? |
Цитата:
Цитата:
|
Цитата:
|
boss911,
Выкладываю скрипт. |
МИШАНЧИК, видимо вы используете скрипт после распаковки?
1. Сразу, что бросилось в глаза Цитата:
2. Зачем перичислять все файлы, когда можно просто Цитата:
... всё вроде освободился, можно продолжить... Флаги обозначают: ignoreversion - перемещать существующие файлы не обращая внимание на номера версий; recursesubdirs - указывает компилятору или инсталлятору также искать файлы с тем же именем/маской в подпапках папки, указанной в параметре Source; createallsubdirs - создаёт все подпаки. Если программа у вас уже установлена, тогда пропишите правельный путь до неё. Если хотите, чтоб компилятор исключил какие-то файлы из каталога установленной программы, нужно использовать Excludes Цитата:
|
МИШАНЧИК
Код:
DefaultDirName=={pf}\Total Commander\Utils\USB Safely Remove |
Serega_, boss911,
Всем большое спасибо. Да, не доглядел я. |
Подскажите как избавится от этого файла?
|
Junos, из скрипта я не понял, почему ставиться этот ярлык, судя по всему вы дали не полный скрипт. Если он прописывается всё равно, то можно удалить его с помощью cleanup.cmd, т.е. делаете cleanup.cmd в котором прописываете удаление этого ярлыка. В секции Files прописываете копирование cleanup.cmd в папку с приложением с флагом удаления после установки программы, а в секции Run прописываете запуск этого *.cmd. Т.е должно получиться так:
Код:
[Files] runhidden - программа запустится в скрытом окне. |
Serega_,
Цитата:
Цитата:
Код:
[Files] |
Как заставить компилятор выполнить после установки "основной" части - "-дополнительную", которая находиться в тойже папке например :
Setup.exe - "основная" часть - InnoSetup Setup1.exe (запакованна в 7z + Sfx)- ''дополнительная'' часть1 например её размер 2 гига Setup2.exe (запакованна в 7z + Sfx)- ''дополнительная'' часть2 например её размер 2 гига Нужно: Как решить проблему с путём установки ''дополнительных'' частей 1-2- нужно, что бы путь установился такой же какой я выбрал в начале установки в окне InnoSetup. После распаковки "дополнительной" части2 вылезло стандартное окно InnoSetup о завершении установки. При удалении программы (нажимаем на - unis000.exe) "дополнительная" часть удалилась тоже. И возможно ли при распаковке "дополнительной" части1-2 (запакованна в 7z + Sfx) скрыть окно 7z - а процент распаковки отображался на полосе прогресса InnoSetup.... Вот такая задачка - заранее спасибо! Если можно скрипт полностью ... |
Цитата:
|
Цитата:
Цитата:
deleteafterinstall - устанавливать файл как обычно, но удалять его после завершения (или прервания) установки; waituntilterminated - инсталлятор подождет, пока процесс полностью завершится (хотя он задан по умолчанию); skipifdoesntexist - инсталлятор не выдаст сообщения об ошибке, если какой нибудь Setup1.exe и Setup2.exe не существует. Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Вобщем всё работает но то что находиться внутри архива Setup1.exe и Setup2.exe остается после удаления программы ...
Как можно сделать что бы это всё удалялась вместе с программой ??? |
Цитата:
Код:
[UninstallDelete] |
Здраствуйте, а какой ключ вписать чтобы он комп не перезагружал?
|
Цитата:
Если в самом скрипте, то просто не используйте в секции [Files] флаг - restartreplace. |
Цитата:
а если к примеру все архивы неуместились на один диск DVD (4.7) если Setup1.exe распакуется, а Setup2.exe находиться на другом диске - запрос будет, что бы вставить другой диск ??? если нет то как это зделать ? И немного тупой вопрос - как сменить картинку в окне инсталятора, и поставить задним планом (на весь размер экрана) любую свою картинку. Тока с объяснениями... :help: |
Цитата:
Код:
[Setup] Цитата:
Цитата:
|
Чем распаковать и запаковать " *.bin - Inno Setup " от игры Сталкер ???
Проги: uni.extractor и Ultra ISO не предлагать !!!! |
boss911 у вас получилось решить эту проблему?
Цитата:
|
Цитата:
Код:
Flags: waituntilterminated |
boss911 спасибо, заработало ).
|
Цитата:
|
|
Доброго времени суток.
Подскажите пожалуйста, может ли инсталлятор удалить сам себя? Вот что я имею ввиду: Есть инсталляционный пакет, он запускается 1 раз (из реестра, RunOnce) и после того как он отработает, желательно чтобы этого пакета не стало на жестком диске. Сможет ли сам инсталлятор сделать это или придется прибегать к помощи чего-то извне? спасибо. |
Цитата:
Код:
[Run] Код:
[Setup] |
Как добавить в скрипте в раздел [Registry] значение типа binary равное (пишу как в экспорте из реестра)
"SlowInfoCache"=hex:28,02,00,00,01,00,00,00,00,40,85,00,00,00,00,00,20,73,4d,\ c7,b7,0c,c9,01,05,00,00,00,43,00,3a,00,5c,00,49,00,6e,00,66,00,6f,00,74,00,\ 65,00,63,00,5f,00,4c,00,74,00,64,00,5c,00,1f,04,1a,04,5f,00,11,04,1f,04,5c,\ 00,42,00,6c,00,61,00,6e,00,6b,00,69,00,5f,00,50,00,53,00,2e,00,65,00,78,00,\ 65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00 А то в скрипте оно не влазит, что то не нашел как разделить его. |
к сожалению отключить страницу завершения не могу(в смысле нужно чтобы она была).
я пишу в секции [ Code ] следующую строчку: Код:
Exec(ExpandConstant('{cmd}'), '/Q /C Ping 127.0.0.1 && Del /S /Q ""{srcexe}"" && Pause', '', SW_SHOW, ewWaitUntilTerminated, ErrorCode); я пытался туда прикрутить как-то ExpandConstant, но ничего у меня не вышло... |
по предыдущему своему посту хочу сказать, что путь мне передать удалось(слепил как смог).
в переменной соединил все параметры в кучу, а потом в Exec передал эту переменную. но чего я не учел, так это того что в этот момент файл инсталятора еще занят и не может быть уделан... :( |
Подскажите пожалйста. Есть компонент Oracle в инсталяторе. Сам дистрибутив оракла находиться на сервере. Инсталятор должен запускать
Код:
[Run] |
Цитата:
Цитата:
С Паскалем я не дружу, но точно знаю, что вам нужно создать процедуру, которая бы выполнялась во время закрытия инсталлятора. Вот почему я использовал флаг postinstall. Цитата:
|
Цитата:
|
Цитата:
Код:
[Run] |
Цитата:
|
Цитата:
Код:
[Run] Решил проверить, запустил сторонний инсталлятор на шаре - Код:
[Run] |
Цитата:
|
ПопробЫвал, действительно установщик дожидаеться установки других приложений запущенных из шар, даже без
Код:
Flags: waituntilterminated |
вроде разобрался. setup.exe от Oracle передаёт параметры установки файлу javaw.exe и закрывается. Поэтому и завершается работа установщика. Можно тогда сделать так, чтоб установщик отследил когда завершится процесс javaw.exe и после этого уже завершил работу инсталятора? Или...Как запустить установку клиента оракла не через запуск Setup.exe, а через запуск javaw.exe?
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Можно попросить знатоков AutoIt, чтобы написали скрипт, который при запуске, будет передавать все ключи командной строки установщику Оракла (файл setup.exe), после чего, скрипт отлавливает на протяжении 10 секунд процесс javaw.exe, если такой процесс находится, то скрипт ждет его остановки. Пока скрипт ждет остановки процесса javaw.exe, инсталлятор ждет, когда остановится работа скрипта. Думаю, суть вы уловили. |
ну вроде сделал в AutoIt
Код:
ProcessWaitClose("setup.exe") |
Подскажите, пожалуйста, может ли Inno останавливать службы?
Если да, то как? |
Цитата:
Код:
net stop <имя_службы> |
Цитата:
Хотя я немного поторопился с вопросом. :) Утилита, которая удаляет службу сама ее и стопает. Тем не менее, спасибо еще раз. В будущем пригодится. |
Подскажите, может ли Inno писать что-либо в файл?
В смысле есть текстовый файл, в нем есть строчка, в которой указывается путь. Путь должен изменяться в зависимости от того куда установлено ПО. Это возможно сделать только средствами Inno? Спасибо. |
Цитата:
Код:
[INI] |
Вобщем например Есть игра со сделанным к ней модом v1.0 (всё это добро ставиться за обин раз инсталлятором)
В последующим к этой игре будет сделан ещё один мод v1.1 ... КАК сделать что бы установщик этого мода сам нащел ИМЕННО ЭТУ версию игры, без ввода пути установки? И вот ещё как сделать верификацию папки установки - на предмет нахождения в ней файлов которые должны быть обязательно (проверка по имени, размеру)? |
Решил перепаковать Paint.Net в Inno Setup но не импортируются параметры реестра, не добавляется пункт в “Открыть с помощью”, если импортировать вручную то в “Открыть с помощью” всё появляется.
Скрипт : Рег Файл: |
AlexNeo, просмотрел ваш скрипт. Сильно разбираться не стал, в чём может быть не соответствие Рег Файла и секцией скрипта [Registry], но с начала я бы попробовал импортировать Рег Файл в скрипт не меняя полных путей, т.е С:\Program Files\Paint.NET\... и так далее.
Если в контекстном меню не появиться надпись, тогда попробуйте произвести регистрацию через *.cmd, с последующим удалением последних. Т.е. делаете, допустим Paint.NET.cmd, в котором записываете Код:
cls Я бы вам предложил немного сократить скрипт Код:
............................ onlyifdoesntexist - устанавливать файл только в случае, если такого файла в системе пользователя нет; deleteafterinstall - удалить файл после установки; skipifsourcedoesntexist и skipifdoesntexist - не выводить сообщение об ошибке, если такого файла нет; runhidden - запустится в скрытом окне. P.S. Да, чего-то я сразу не подумал. При регистрации через *.cmd, инсталлятор потеряет свою универсальность. |
Можно ли в инсталляторе сделать так, чтобы была возможность выбора компонентов для установки? Поставил галочку, скопировались одни файлы, поставил другую галочку, скопировались дополнительно еще файлы и в таком духе вот.
|
Цитата:
Код:
[Components] Код:
[Components] |
Чем распаковать inno setup 2.0.17?
Unpaker пишет: Цитата:
|
Вложений: 1
Хотел создать в скрипте резервное копирование файлов. Скачал Примеры скриптов на паскале, нашел то что нужно:
Цитата:
файл SHFileOperation.iss прикрепил. Inno Setup Preprocessor, Inno Setup QuickStart Pack установлены. |
Решена загвоздка в предыдущем посте!
Оказалось что проблема была вот в чем: я дважды прописал строку Код:
#include "SHFileOperation.iss" |
У меня такаеже проблемма как у AlexNeo, помогите ктонибудь решить!
|
Цитата:
|
|
Serega
Непомагло! Помагите очень надо. |
Resylenr, А что распаковываешь ?
|
Пытаюсь пережать Adobe Photoshop CS3 в Inno Setup, но не как не могу добавить ярлык в контекстное меню проводника.
|
Кинь код который регистрирует контекстное меню
|
Цитата:
|
Если импортировать рег файл то всё ОК! А если через инсталлятор то не работает.
|
Resylenr, хочу видеть код
|
Возми код от AlexNeo у меня такойже.
|
Надо прописать в скрипте что-то подобное. В моем случае это добавляет оперу :)
Код:
[Registry] |
Resylenr, разобрался в чём дело и нашёл ошибку. Правда, прежде пришлось самому пересобрать программу
Код:
Root: HKLM; SubKey: SOFTWARE\Classes\jpegfile\shell\edit\command; ValueType: string; ValueData: "\""{app}\PaintDotNet.exe\"" \""%1\"""; Flags: uninsdeletevalue Код:
Root: HKLM; SubKey: SOFTWARE\Classes\jpegfile\shell\edit\command; ValueType: string; ValueData: """{app}\PaintDotNet.exe"" ""%1"""; Flags: uninsdeletevalue P.S. Если интересно, я вношу в реестр немного другие изменения, вот мой пример скрипта |
|
Serega_ ,
Спасибо все заработало. |
Цитата:
.......................................................................... [code] procedure InitializeWizard(); begin WizardForm.FileNameLabel.Visible:= False; end; .......................................................................... Это отключит отображение файлов вообще. |
Подскажите, можно ли из командной строки запретить создание ярлыка на рабочем столе?
Пробую с ключом /noicons, но не работает. Это вроде ключ для ярлыков меню "пуск", но он и там не работает. Пробовал создавать файл ответов, но он получается какой-то слишком урезанный. Код:
[Setup] Lang=ru Dir=C:\Program Files\LanTricks\LanScope Group=LanTricks NoIcons=0 Components= |
Так вы использовали файл ответов?
Код:
setup.exe /LOADINF="config.txt" /VERYSILENT Код:
/SAVEINF="config.txt" |
Цитата:
По поводу файла ответов, сказать честно, у меня так и ни разу не получилось, правда пробовал всего пару раз, но мне это показалась таким гемором. На мой взгляд, самый простой вариант - распаковать инсталлятор, изменить скрипт по вашему усмотрению и желанию, затем снова его скомпилировать. P.S. А вообще, прикольная программка... |
Понятно. Спасибо.
|
есть небольшая проблема с установкой PC Tools Firewall Plus и PC Tools Antivirus. Начиная с 3-й версии, в фаерволл включили дполнительную установку (путем загрузки из инета) Google Toolbar, которая некоторым людям (например мне =) ) совершенно не нужен. Можно как-нибудь обойти установку этого компонента? Установка с ключем /Verysilent /Norestart конечно проходит успешно, но перед самой установкой появляется окошко загрузки того самого гугла тулбара, что требует помимо нажатия кнопочек еще и выхода в инет (а откуда он у меня, когда установка всего софта начинается за 12 минут до окончания установки винды?). После отмены загрузки компонента, установка фаервола проходит в тихом режиме. Вопрос в том - как пропустить загрузку ненужного мне компонента? Распаковщика под Inno Setup 5.2.2 я еще не встречал, а то можно было бы и самому поковыряться. Заранее благодарен.
|
Цитата:
Цитата:
Да, вот ещё Inno Setup Unpacker Explorer - русская версия. Это графическая оболочка для innounp. |
Цитата:
|
Каким ключом можно убрать галочку и тем самым не запускать программу по окончании установки?
|
Цитата:
1. Пересобрать инсталлятор; 2. Убить процесс запуска. Как написано в Цитата:
|
Serega_, Через бат файл решается просто я знаю, но мне желательно чтобы не используя батников только через параметры командной строки
|
Цитата:
P.S. А, что за программа? |
SamLab,
Обычно решается через создание файла ответов. Установка с ключом /saveinf="xxxxxxx.inf", а потом тихая установка с ключом /loadinf="xxxxxxx.inf". Устанавливаю так K-lite кодеки. Но прокатывает как оказалось не всегда. |
Цитата:
Цитата:
Если автор инсталлятора не указал в скрипте флаг 'skipifsilent', то и файл ответов может не помочь, и ключи командной строки тоже, их нет. Код:
[Run] |
Привет!
Подскажите плз. Никак не могу найти ключ/способ, чтобы после завершения установки и перезагрузки компьютера приложение запустилось автоматически. |
Dimika,
Код:
[Run] |
Подскажите как зделать, что бы при запуске установки в пути установки были показанны только Flash устройства!!
Если Флешек нет то желательно, что-бы вылезло окошко с предупреждением. ***** И помогите переделать этот скрипт суть его заключается в этом - (Проверка на присутствие и целостность определенного файла, находящего рядом с инсталлятором) Можно зделать так, что бы инсталятор проверял MD5 не одного файла, а группы файлов! ...пробовал дописывать ещё несколько строк - при компиляции ошибки не выдаёт но работает проверка MD5 только на один файл. ***** |
Товарищи! Подскажите, как сделать чтобы предотвратить одновременный запуск нескольких экземпляров сетапа?
|
Приветствую Знающих.
Подскажите как убрать из заголовка инсталлятора следующий фрагмент "Установка - ". |
Цитата:
Также, можно пойти более красивым методом. Создайте в скрипте (.iss) следующие: Код:
[Messages] Если вы используете языковой файл для интерфейса инсталлятора, к примеру, русский, тогда сделайте так: Код:
[Languages] |
А какой переменной можно заменить текст на значке приложения в Панели задач
Спасибо уже не не надо. Сам нашел. |
Цитата:
Мда - как из готовых скриптов ответы брать , это все горазды ... а понастоящему помочь некому :( |
Подскажите пожалуйста!
Пытаюсь установить руссификатор для JetAudio 7.1.8. Он собран при помощи Inno Setup. Но при запуске с ключом /VERYSILENT выскакивает окно "Определено местоположение JetAudio. Продолжить установку. Да. Нет." При запуске с ключом /VERYSILENT /SP- картина та же. Как правильно его тихо установить? |
|
ZaV, у меня Install_RUS_V71_LPACK_V120.
А по Вашей ссылке, так там вообще есть Install_RUS_V71_LPACK_V121_(2) вот он такой же как у меня Install_RUS_V71_LPACK_V120 собран в Inno. |
Цитата:
Если Вас устроит ответ, по решению Вашей проблемы: Я НЕ ЗНАЮ... Ну как, полегчало??? Цитата:
Мне просто интересно... И как Вы думаете после такого, Вам кто-то поможет??? Не пльюйте в колодец из которого пьёте... Цитата:
|
Отвечаю сам на свой вопрос !
Скрипт для проверки контрольной суммы и наличия 2х файлов (я не успел попробовать но думаю проверка 2х файлов это не предел) Код:
function NextButtonClick(CurPage: Integer): Boolean; |
МИШАНЧИК,
самое простое, что приходит в голову по поводу установки русификатора .. это распаковать скрипт и откомпилировать заново. Так заодно мы потеряем секцию code из которой по всей видимости и растут ноги у этого окна. |
ZaV, а не могли бы Вы
Цитата:
|
Вложений: 1
МИШАНЧИК, примерно такой скрипт получается
|
Ребят, мало что понимаю в языках программирования, подскажите как сделать так что бы инсталятор созданный в инно сетап сам искал есть ли на компьютере директория для установки ( по умолчанию она должна быть, так как добавляю новые карты к игре) и ставилось все в найденную диру? спасибо заранее большое.
|
Цитата:
|
сделал как в первом коде, инсталятор пытается пытается создать папку с таким названием как та куда нужно установить т.е. должно быть так d/program files/activision/call of duty 4/main
а делает так d/program files/activision/call of duty 4/call of duty 4/main |
Цитата:
|
Код:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] AppName=MapPackSB v1.1 AppVerName=Version 1.1 AppPublisher=Clan SB [X7] AppPublisherURL=http://www.callofduty5.sbor.net/ AppSupportURL=http://www.callofduty5.sbor.net/ AppUpdatesURL=http://www.callofduty5.sbor.net/ DefaultDirName={reg:HKLM\SOFTWARE\Activision\Call of Duty 4 - Modern Warfare_is1,InstallPath} DefaultGroupName=MapPackSB DisableProgramGroupPage=yes LicenseFile=F:\карты\Лицензия.txt OutputDir=E:\карты OutputBaseFilename=MapPackSB SetupIconFile=D:\Program Files\Activision\Call of Duty 4 - Modern Warfare\cod4.ico Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: "D:\Program Files\Activision\Call of Duty 4 - Modern Warfare\Server SB.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\карты\Call of Duty 4 - Modern Warfare\main\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "F:\карты\Call of Duty 4 - Modern Warfare\zone\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "F:\карты\Call of Duty 4 - Modern Warfare\pb\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\{cm:ProgramOnTheWeb,MapPackSB}"; Filename: "http://www.callofduty5.sbor.net/" |
Ребята а подскажите скриптик для того что б не появлялось во время установки окно с предложением вибора директории!!!
Спасибо зарание! |
Цитата:
Код:
[Setup] |
Товарищи что лучше сжимает точно lzma/iltra64 или может lzma/max ?
просветите нуба пожалуйста |
andreichsb, Вообще я вам писал совсем другой ключ, ну да ладно...
Я понял о чём речь, запишите так: |
Цитата:
|
спасибо.
|
Кусок скрипта для перевода дистрибудива на русский язык:
Тынц |
Господа, подскажите - можно ли в Inno setup вызывать модальное окно для сбора параметров а потом с этими параметрами сделать RUN exe файла? :shout:
|
Пытаюсь пережать Adobe Photoshop CS3 в Inno Setup, но не как не могу добавить ярлык в контекстное меню проводника.
Откликнитесь кто нибудь |
Цитата:
Можете сделать по аналогии... |
Имеются два файла: file32.dll и file64.dll, один из них соответственно надо отправить в директорию при x32, другой – при x64. Использую флаги:
Flags: regserver noregerror onlyifdoesntexist 32bit и Flags: regserver noregerror onlyifdoesntexist 64bit При инсталляции выскакивает окно: «Внутренняя ошибка: Cannot install files to 64-bit locations on this version of Windows» и установка прерывается. Флаги 32bit и 64bit в какой только комбинации не пристёгивал - ноль реакции. Добавляю Check-функцию: Код:
[_Files] Что я делаю не так? |
C помощью добрых людей решение найдено. Нельзя называть свою функцию тем же именем IsWin64. Правильный вариант должен быть таким (может кому-то пригодится):
Код:
[_Files] |
Ребята скажите -вот есть двет проблеми -помогите решить!
1 как зделать так что б параметр Flags: exclusive біл в обеих позициях! Код:
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive Что делать???? Код:
[Files] |
Саш_ОК
|
DefaultDirName={pf}\MyProg
|
Как создать скрипт чтобы на страницу "Выбор папки установка" перенести чебоксы создания ярлыков и установки доп. компонентов.
Как можно извлекать 7-Zip, RAR архивы чтоб процесс их распаковки отображался в прогрессбаре. Помогите очень надо. |
Цитата:
Код:
Source: "J:\Instal\Map\*"; DestDir: "{app}\Map"; Flags: ignoreversion recursesubdirs createallsubdirs |
boss911
Спасибо помогла! Ещё такой вопрос можно так зделать что б параметр exclusive біл для обеих галочок -а то я его ставлю а он только на ондном какомто параметре -или на роб стол ярлик или в панель бистр запуска! Спс Или что ти посоветуеш? |
Пожалуйста помагите
|
Цитата:
|
boss911, Помоги мне решить проблему, которую я описал выше.
|
Resylenr
Цитата:
|
Всем привет!Скажите пожалуйста как создать дерево раскрывающихся компонентов(выбирается какие компоненты устанавливать)
|
У каво есть скрипт или библиотека для распаковки архивов FreeArc (.arc) с отображением в прогрессбаре.
|
Никто не знает как предотвратить возможность одновременного запуска нескольких экземпляров сетапа?
|
Diman19,
Чтобы получить раскрывающий список компонентов (и многие другие возможности), установи ISPack v5.2.3 (обязательно с препроцессором), а затем обнови Inno Setup до расширенной версии от ResTools. И потом в скрипте, в секцию [Setup], достаточно поставить ComponentsListTVStyle=true и всё, будет такой список компонентов... |
Подскажите как заблокировать чекбокс на станице выбора дополнительных задач.
И как если после установки приложения при запуске установщика выводилось сообщениие: Запустить Программу XXXX Да Нет при нажатии Да запускалась программа, а при Нет выход из программы установки. Скрин: |
Подскажите пожалуйста! Как в скрипте правильно укзать, чтоб было не:
[Files] Source: {app}\хххх.exe; DestDir: {app}; Source: {app}\хххх.exe.manifest; DestDir: {app}; , а чтоб просто указать в какой папке находится исходное содержимое? |
Цитата:
[Files] Source: {app}\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs |
Здравствуйте, может эта информация где-то поднималась, но мне найти не удалось. Меня интересует, как можно bin файлы переименовать в установщике? Чтобы файл setup-1.bin стал, к пример part1.bin, и при этом установщик его корректно принял.
|
Дайте пож силку на пост где обьясняют как делать инсталятор с bin файлами -а то немогу найти!
Буду благодарен! |
Цитата:
Код:
[Setup] |
Помогите -не хочет рабоать -работает только что то одно.
|
Саш_ОК, вы используйте тег [more], а то ваше сообщение практически на всю страницу...
Цитата:
Скомпилировал скрипт и от использования данной команды ничего не изменилось... |
Спасибо учту!
а команда WizardForm.FileNameLabel.Visible:= False; даёт такой ефект что не видно куда и какие файли устанавливаются! и получается взял с двух кодов параметри а работает только один постоянно ошибку пишет мол знак не такой в конце строки... но я вроде в конуе строки поставил два раза end;end; и запело. спс сам всё разрулил иззза своейже невнимательности. |
Подскажите плиз, как в Inno, в эти места вставить свои картинки
|
Цитата:
........... WizardImageFile=путь\картинка.bmp - размер 164х314 WizardSmallImageFile=путь\картинка.bmp - размер 55х55 |
Serega_, Спасибо
|
Temik2009
Можешь их так же закинуть в папку с компилятором, тогда путь можно не указывать: Код:
[Setup] |
Скажите, а что надо прописать, чтобы после установки на рабочем столе ярлык появился ?
И ещё вопросик, но не по Inno. Как сделать autorun с собственным дизайном (Чтобы картинка была и т.д.) и кнопки: Установить, Запустить, Прочитать, файл read me и установку дополнительных приложений? Спасибо! |
Temik2009, для добавления ярлыка на рабочий стол, добавьте в скрипт:
[Tasks] Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons} [Icons] Name: {userdesktop}\My Program; Filename: {app}\My Program.exe; WorkingDir: {app}; Tasks: desktopicon {userdesktop} - для данного пользователя; {commondesktop} - для всех пользователей. |
Цитата:
|
Уважаемые,
подскажите как удалить в папке назначения целый каталог средствами инсталлятора. Удаление каталога должно происходить до начала распаковки файлов. |
Merlin_jr
На примере удаления файла разберётесь? [InstallDelete] имеет такой же синтаксис, как [UninstallDelete] Последний рассмотрен в справке. |
Такая конструкция будет работать?
Код:
[InstallDelete] Код:
[InstallDelete] |
Цитата:
|
boss911, согласен, но здесь действует принцип: от перемены мест слагаемых сумма не меняется, т.е. первый и второй вариант будут работать одинаково. Просто, как кому привычней, но одинаково работают оба варианта...
|
Спасибо всем кто помогал.
|
Привет, столкнулся с проблемой. Помогите ПЛЗ.
Из секции Run запускаются три exe файла, которые хоже кое-что устанавливаю. Как сделать, чтобы прогресс-бар установки останавливался процентах на 70 и потом по 10 процентов на каждый из трех exe? И как обновлять позицию у прогресс-бара после того как запускаемый exe отработал? |
Или как сделать отдельный прогресс-бар для инструкций с секции Run
|
Подскажите пожалуйста как в одну секцию INI файла записать несколько разных значений ключа с одим именем? Нужен результат вида:
[Section] NAME=1 NAME=2 NAME=3 Скрипт вида: Filename: {app}\settings.ini; Section: Section; Key: NAME; String: 1; Components: 1 Filename: {app}\settings.ini; Section: Section; Key: NAME; String: 2; Components: 2 Filename: {app}\settings.ini; Section: Section; Key: NAME; String: 3; Components: 3 Просто переписывает значение NAME |
i.Sky, никак. Имя ключа одно и тоже, инсталлятор естественно и будет перезаписывать одно значение другим, в итоге останется последнее. Выход либо писать в разные секции, либо менять имя ключа...
|
Serega_, спасибо за ответ быстрого реагирования :)
А может просто строки можно как-нибудь внести? Или сделать NAME(1), NAME(2), NAME(3), а потом убрать с них нумерацию? Только я не знаю как... |
|
Есть portable программа, а именно winamp, все отлично, за исключением одного, все расширения к нему привязываются лишь после запуска и захода в настройки, пробовал это делать средством AutoIt3, но как то это долго очень и не есть правельно, хотелось бы как то это запаковать в Inno Setup с дальнейшей тихой установкой и привязкой расширения к файлам, я скачал мануал по Inno Setup и наткнулся на привязку расширений, возможно ли мною задуманное, кто этим уже занимался, может подскажите что к чему, просто новичек в Inno Setup. Спасибо.
|
А на Pascal можно реализовать написание такого INI файла? Может ли кто пример написать?
|
Цитата:
|
Цитата:
|
Цитата:
Да, мне понятен принцип привязки, немного разберусь в программе, попробую привязать, спасибо. |
Цитата:
|
Цитата:
Второй пример как вы хотели, т.е. просто в зависимости от выбора компонента будет добавлятся ещё одна строка. |
Спасибо, Serega_. Процесс пошёл.
|
Как можно отменить установку если произошла ошибка в CurStepChanged?
т.е. Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Цитата:
А вообще до установки условие AlarmFunc проверить нельзя? P.S. WizardForm.close - закрывает инсталлятор, но никак не отменяет установку... |
Цитата:
|
vserd, придумал решение
Вместо проверки на присутствие файла, поставьте проверку вашего условия. Специально выложил целиком, чтоб вы проверили, как работает. Успехов... |
Доброго здоровья всем. Скажите, что и как нужно сделать, чтобы при установки была проверка, как на моём скрине:
Это с игры S.T.A.L.K.E.R сделал, у меня есть методички для этого компилятора, но там у себя не нашёл скриптов как сделать такую проверку. Если параметры железа подходят, вывести зелёным цветом индикацию и кнопку Далее > активизировать, а если что-то из этого не подходит, то красная полоса и деактивировать кнопку Далее >, ну как в игровом инсталяторе сделано. |
Drongo, вот нашёл у себя в примерах скриптов, кнопку ‘Далее’ сделал не активной, если требования не соответствуют.
В скрипте есть описания, разобраться, по крайней мере можно... |
Честно говоря, я не разбираюсь в этом синтаксисе, но у меня ругается при попытке скомпилировать, на этих строках, которые начинаются символом '#'.
Код:
// Проверка версии Windows Код:
... |
Цитата:
Цитата:
P.S. Я бы ещё рекомендовал скачать и установить расширенную версию для Inno Setup от ResTools, очень полезная вещь, расширяет возможности Inno Setup... |
Ребята а не скажите как зделать так чтоб инсталятор нёс какойто файлик в котором указана версия программи и последнюю дату установки -и что б при установки нового подобного инсталятора (обновления) -видавалось сообщение о версии проги и о версии проги чято устанавливется!!
БУДУ НУ ОЧЕНЬ БЛАГОДАРЕН! |
Саш_ОК, непонятен вопрос... какой файл должен нести инсталлятор? Вы хотите создать файл в момент инсталляции в папке с приложением, а при установке обновления считать из него данные? Какая преследуется цель, запретить установку, если версия не соответствует или просто вывести сообщение о версии установленного файла?
|
Serega_, Тут такой небольшой вопрос по коду, всё скачал, всё сделал - скомпилировал, получилось даже лучше чем ожидалось, :up
Получилось!!! )))) |
Drongo, :up
|
Цитата:
Я понятно написали или как всегда) |
Цитата:
|
Саш_ОК,
|
Цитата:
СПАСИБО ВАМ!!!!!! |
Саш_ОК, этот ключ в реестре, создаст ваш первый инсталлятор, а я вам написал код уже для обновления данной программы...
Чтоб попробовать, как работает данный скрипт, закомментируйте всю секцию [code], скомпилируйте и произведите установку. Затем раскомментируйте секцию и снова скомпилируйте, я думаю вам всё станет ясно как он работает... |
Как сделать что бы было как на рисунке?
Готовый скрипт можно будет, только не в стиле InstallShield |
Вложений: 1
x-net, вот накидал вам пример...
По поводу формы, скорей всего используется Skin Builder. |
Сделал, но как убрать белый фон, оставив только текст с графикой
|
x-net, а конкретно, что вы сделали, т.е. что применили из того, что я вам дал? Этот скриншот вы показывали ещё 5 февраля на другом форуме и в нём ничего не поменялось...
Сразу второй скриншот и надо было паказать... добавьте в procedure InitializeWizard(); после begin |
Всем привет!!! Подскажите кто знает, можно ли вставить свою картинку не 50х50 а на всю длинну в этот
и можно ли сделать чтобы отображался одинаковый шрифт и одна и та же картинка в диалоге при начале установки и в диалоге завершения установки |
tem000
Если я правильно понял справку IS, то шрифты можно менять так: Код:
[LangOptions] |
Цитата:
|
Serega_, УРА!!! усе работает :yahoo: , большое человеческое спасибо, будем творить красоту :laugh:
|
Приветствую
Подскажите как правильно/корректно реализовать проверку принадлежности Пользователя системы к группе Локальных администраторов на компьютере? планируется использовать на системах от Win9x и до WinVista. У клиентов разные ОСи стоят. |
Serega_, небольшая трабла в завершении установки, там можно как нибудь прозрачность замутить, помоги если не трудно, а то я в секции CODE ваще ниче не понимаю.
|
Цитата:
|
Serega_, все работает единственное чекбокс активируется только при наведении на сам квадратик. В других диалогах, можно нажать на текст чтобы поставить галочку, это понятно если чекбокс растягивать на текст, то опять получится белое пятно. В принципе это не критично, главное все получилось СПАСИБО!!! :tongue:
|
tem000, я как то об этом не подумал, добавил
|
Serega_, ну ты крут!!! РЕСПЕКТ :teeth: :teeth: :teeth:
|
Serega_, а есть возможность добавить в скрипт, чтоб и во время установки тоже была картинка (возможно смещение прогрессбара вниз и показ слайд-шоу в окне инсталлятора)?
|
Цитата:
То на сколько я понимаю, там картинка просто накладывается сверху мастера и прогресс бар ничто иное, как обычный .gif. Ну мне тяжело судить я не видел сам инсталлятор и могу делать только предположения... |
Цитата:
|
de_MAX, не знаю, надо подумать...
|
Serega_, нашел нечто подобное. Там конечно много всего лишнего.
|
Serega_, еще пару вопросов. При создании инсталятора с несколькими прогами как исправить создание ярлыков на рабочем столе, при указании создать ярлык для какой то одной
почему то на столе появляются ярлыки всех программ. И по поводу секции CODE, как добавить чекбоксы для запуска по выбору всех 3 программ. HELP PLIZZZZ!!! Скрипт приложил |
tem000,
de_MAX, спасибо, интересный код... разбираться буду чуть позже... по вашей просьбе, пока получилось только сместить прогрессбар в нужное положение... |
Serega_, Спасибо, работает!!!
|
de_MAX, смещение прогрессбара вниз и показ слайд-шоу в окне мастера
|
Какой флаг поставить чтобы компилятор не выводил сообщение "No files matching ..." если задано
Source: F:\INSTALL\FILES\WORK\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs и папка WORK\ пустая, мне надо чтобы и пустые папки создавались при установке. |
mariolast, а более подробней. Не понятно, что вы хотите сделать? Какие пустые папки необходимо создать?
Цитата:
Файлов то нет... |
Да, именно так и надо, чтобы создавалась пустая папка без файлов
Я вот делаю так [Dirs] Name: {app}\FAVORITES; Flags: uninsneveruninstall Name: {app}\LOG; Flags: uninsneveruninstall Name: {app}\NEWS; Flags: uninsneveruninstall Name: {app}\OUTPUT; Flags: uninsneveruninstall Name: {app}\SAVEARC; Flags: uninsneveruninstall Name: {app}\SESSION; Flags: uninsneveruninstall Name: {app}\TEXT_NEW; Flags: uninsneveruninstall Name: {app}\USER; Flags: uninsneveruninstall Но если в папках есть подпапки и они пустые и их много....может есть быстрое решение? |
mariolast, тогда в своём проекте перед компиляцией, создайте все эти папки в WORK\* и после этого можно компилировать с вашим первым вариантом...
|
А это отдельные папки, я для примера привел, Work в том числе, и вот пустую то папку как раз компилятор не создает, если в ней пусто...
Вот скрипт [Files] Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\KEYFILES\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\UNINST\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\WORK\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs [Dirs] Name: {app}\FAVORITES; Flags: uninsneveruninstall Name: {app}\LOG; Flags: uninsneveruninstall Name: {app}\NEWS; Flags: uninsneveruninstall Name: {app}\OUTPUT; Flags: uninsneveruninstall Name: {app}\SAVEARC; Flags: uninsneveruninstall Name: {app}\SESSION; Flags: uninsneveruninstall Name: {app}\TEXT_NEW; Flags: uninsneveruninstall Name: {app}\USER; Flags: uninsneveruninstall Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить :( |
Цитата:
|
Цитата:
|
Цитата:
|
Хм...мало что понял про препроцессор, что-то новенькое..
Еще вопрос. Надо сделать возможность выбора при установке: - Сетевая версия - Локальная версия И у каждого типа установки свои файлы и директории, в т.ч. и пустые. Но есть и общие. Как это примерно реализовать? |
Цитата:
|
Serega_,
Все получилось, спасибо :) Теперь еще задача, надо поставить эмулятор, подойдет ли для этого InnoSetup? Сначала запускаю hinstall.exe -i Далее в зависимости от выбора пользователя ((local or network) заношу значения в реестр Dump_Multikey_net.reg или Dump_Multikey_loc.reg Далее ставлю сам эмулятор коммандой devcon install multikey.inf root\multikey Все пожалуй, файлов для всего этого 24 штуки, наверное где то в темповой папке надо распаковать а после установки удалить. Или лучше не заморачиваться и делать все в коммандной строке? |
mariolast, сказать честно, я не знаю, что такое эмулятор, но запускать программы или установку других программ можно через секцию [Run]...
P.S. Нашёл у себя в примерах скрипт, скорей всего это то, что вам надо |
Цитата:
на оффициале - 5.2.3 версия, и некоторые ссылки не рабочии.! |
Делаю так
[Files] Source: U:\INSTALL\Liga\HASP.drv\*; DestDir: {app}\haspdrv; Flags: ignoreversion recursesubdirs createallsubdirs Source: U:\INSTALL\Liga\Emul\*; DestDir: {app}\MultiKey32; Flags: ignoreversion recursesubdirs createallsubdirs; components: local32 network32 Source: U:\INSTALL\Liga\Emul\MultiKey64\*; DestDir: {app}\MultiKey64; Flags: ignoreversion recursesubdirs createallsubdirs; components: local64 network64 [Run] Filename: {app}\haspdrv\hinstall.exe; Parameters: -i; WorkingDir: {app} Filename: {app}\MultiKey32\install.cmd; components: local32 network32; WorkingDir: {app} Filename: {app}\MultiKey64\install.cmd; components: local64 network64; WorkingDir: {app} [UninstallRun] Filename: {app}\MultiKey32\remove.cmd; components: local32 network32; WorkingDir: {app}; Flags: runhidden waituntilterminated Filename: {app}\MultiKey64\remove.cmd; components: local64 network64; WorkingDir: {app}; Flags: runhidden waituntilterminated [UninstallDelete] Type: files; Name: {win}\system32\drivers\multikey.sys Type: filesandordirs; Name: {app} install.cmd и remove.cmd это батники, запускаются с папок MultiKey32\ или MultiKey64\ Не работает скрипт при вызове комманд из батника, видимо надо его запускать прямо из папки MultiKey32\. Можно как то это реализовать? Вроде так получилось .... Filename: {app}\haspdrv\hinstall.exe; Parameters: -i; WorkingDir: {app}\haspdrv Filename: {app}\MultiKey32\install.cmd; components: local32 network32; WorkingDir: {app}\MultiKey32\ Filename: {app}\MultiKey64\install.cmd; components: local64 network64; WorkingDir: {app}\MultiKey64\ ... |
Может, кто знает или есть пример. В общем, задача следующая:
нужно сделать второй прогрессбар для отображения распаковки архивов freearc (возможно с использованием precomp). "RePack'ов" появляется очень много, а вот найти скрипт с использованием подобного не получается... |
de_MAX, для freearc или precomp не встречал, а если для распаковки архивов 7z, то есть библиотека is7z.dll, для показа хода распаковки 7z архивов во втором прогрессбаре. Инструкция и пример использования в архиве.
|
Если Вы хотите получить исходный текст секции Code установочного скрипта любого инсталлятора сделанного с помощью Inno Setup, присылайте инсталлятор (либо ссылку на него).
Исходные тексты Code готовы к немедленной компиляции и дают 100% совпадение с оригиналом exe. |
dissasminno, интересно, а без мыла можно обойтись?
|
dissasminno, т.е. вы хотите сказать, что (скорей всего за небольшую сумму денег) вы готовы извлечь секцию [code] в работоспособном состоянии? Есть программы с помощью которых можно узнать, что именно инсталлятор должен сделать из секции [code], но это будет понятно только тому, кто разбирается в программировании... Поэтому извлечь работоспособный код невозможно, а поэтому лохотрон разводить не надо...
|
Всем привет!Скажите пожалуйста как при создании выбора компонентов указать на один компонент несколько файлов?И если выбран компонент то эти файлы будут копироваться в указанную папку где они и должны быть?а если компонент не выбран при установке то они не будут копироваться.
Вот пример скрипта. Source: "MyProg.exe"; DestDir: "{app}"; Components: program Source: "MyProg.chm"; DestDir: "{app}"; Components: help Source: "Readme.txt"; DestDir: "{app}"; Components: readme\en; Flags: isreadme Source: "Readme-German.txt"; DestName: "Liesmich.txt"; DestDir: "{app}"; Components: readme\de; Flags: isreadme Также хотелось бы узнать как на компонент установить на разные типы установки разные флаги? Спасибо. |
Цитата:
Цитата:
А что конкретно вы хотите сделать? |
Цитата:
|
Вопрос, существует ini файл такого вида
[***] ConStr=Provider=***.1;Data Source=***;Initial Catalog=*** Мне необходимо изменить параметры Data Source и Initial Catalog при запуске инсталяции приложения. Создается окно с возможностью ввода этих параметров ( реализовано ). Теперь проблема: дело в том что inno setup понимает параметры записанные в каждой строке отдельно. Т.е. мне необходимо разбить строку на отдельные компоненты, изменить их и собрать снова а затем записать в ini. Как это сделать в [code] или существует другой путь? |
MrLD, а нельзя ли просто сразу вводить данные в том виде, в котором затем записывать, чтоб не заморачиваться с разбиением строки?
|
Нет, если я правильно понял о чем ты говоришь, дело в том что программа распознает только такую запись (строкой) в ini. А изменения в программу вносить нельзя. Так бы я сам изменил интерпретацию и все. а лезть в код запретили. А inno только с отдельными строками явно работает. Как это обойти.... ??
|
MrLD, а инишник обязательно сохранять, может просто заново создать текстовый файл, только с расширением .ini?
SaveStringToFile(ExpandConstant('{app}\main.ini'), 'текст.....' + #13, true); |
Serega_, Подскажи как сделать. Есть программа и файлы которые должны с ней ассоциироваться, как сделать так чтобы сразу после установки проги в этих файлах отображалась иконка программы а не после перезагрузки компа?
|
tem000, добавьте в секцию [Setup]
....... ChangesAssociations=yes ........ |
Serega_, Можно конечно и создать. (уже пробовал).. только вот у меня задача при инсталяции изменить значение параметров в строке... а я не могу задать сразу несколько key для одного ini. Т.е. приходиться представлять для пользователя поле ввода куда ему надо записывать примерно следующее: Data Source=111;Initial Catalog=222
(ConStr=Provider=***;Data Source=111;Initial Catalog=222) а надо при установке (в появившемся окне) вносить изменения значения 111 и 222. Если бы data Source и initial catalog записывались каждый в своей строке вопроса не было бы. А вот как мне вытащить 111 и 222 (параметры data Source и initial catalog ) из строки а потом вставить их обратно измененными.... вот в чем вопрос. |
MrLD, а разве нельзя сделать, несколько полей ввода, чтоб разделить данные? Просто я как понял данные 111 и 222 у всех должны быть разные, ну и сделайте отдельное поля для данных 111 и для 222...
В противном случае вам необходимо читать строку посимвольно, а как это делать я пока не знаю... я только учусь :wink:... |
Serega_, ))) Я так и сделал... поля ввода для 111 и 222 отдельные т.е. когда инсталяция завершена в ini файле отображается следующее
1. Если создаю ini: Data Source = 111 Initial Catalog = 222 2. Если изменяю ini: ConStr=Provider=***;Data Source=***;Initial Catalog=*** Data Source = 111 Initial Catalog = 222 Как видно inno setup при записи все время пытается записать параметры в отдельные строки. а при изменении не изменяет уже существующие параметры а добавляет те же но во все те же отдельные строки. Т.е. key для ini может быть только один (тот что первый (ConStr)). Мне набросал знакомый код по разбиению строки на отдельные параметры и дальнейшей ее сборки обратно в строку. только вот у меня не получается ее реализовать в [code]. Заранее извиняюсь за обьем сообщения может еще кто что посоветует? )) |
Цитата:
Цитата:
Цитата:
|
Я уже писал что инишник не правельный... а в программу лезть запретили чтоб поменять интерпретацию ((( вот так (( Если чего разберешь дай знать )) очень надеюсь... а то работа встала... сам уже 4-й день бьюсь...
|
MrLD, а вы этот код на делфи проверяли на работоспасобность? А то я собрал, накидал на форму кнопки и едиты, а он не пашет, главно и не ругается, т.е вообще ничего не происходит... Если не сложно скиньте полный исходник посмотреть, можно в PM...
|
там надо создать ini и внести в него секцию [Connect] и запись в виде строки которую я приводил в пример.
[Connect] ConStr=Provider=***;Data Source=***;Initial Catalog=*** и путь прописать к инишнику Цитата:
|
MrLD, ну, что обрадовать вас?
|
Serega_, ((( не работает ((
|
Serega_У тебя этот код работает?
|
MrLD, естественно... иначе бы не давал.
|
Serega_, У тебя tool- зы какиенить установленны?? а то у меня inno Application не понимает ((
|
MrLD,
Установите себе ispack-5.2.3, упс уже вышло обновление, версия ispack-5.2.4-dev, сейчас скачаю, а также расширенную версию от Restools, которая добавляет много возможностей для инсталляторов... P.S. буду через час... Забыл уточнить. Сначала нужно установить ispack, а затем обновить путём замены файлов от Restools. |
Всем привет!Скажите пожалуйста как при выборе компонентов указать в какую папку копировать выбранные компоненты?Также интересует вопрос в том как сделать так чтобы если выбираешь один компонент,копируется файл с одним содержанием,а если выбираешь другой компонент или если компонент не выбирать,то копируется файл с таким же именет но только с другим содержанием внутри.Скажите пожалуйста как так сделать.
|
Diman19,
|
Всем привет!Всем спасибо кто отвечает и помогает.Прошу помочь с маленькой проблемой.При создании исталлятора не работаю чекбоксы которые должны копировать файлы в папку если они помечены.Пишу код следующим образом
Name: programfiles; Description: Файлы программы; Types: full custom; Flags: fixed Name: files; Description: Доп.файлы; Types: full Name: plugins; Description: Плагины; Types: full custom Name: "plugins\plugin1"; Description: "plugin1"; это путь к файлу запуска Source: "C:\myprogram\myprogram.exe"; DestDir: "{app}"; Flags: ignoreversion Это путь ко всем папкам и файлам.Тоестьв этой папке лежат файлы и папки программы. Source: "C:\myprogram\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: programfiles здесь я указываю путь к файлам плагина. Source: "C:\myprogram\other\plugis\plugin1.exe"; DestDir: {app}; Components: plugins\plugin1 Source: "C:\myprogram\other\plugins\plugin1.txt"; DestDir: {app}; Components: plugins\plugin1 Проблема возникла в том что если во время установки не установить чекбоксы на плугины,то они всё равно устанавливаются незнаю почему.Скажите пожалуйста где я допустил ошибку?Может путь неправильно к файлам программы указал?Указывал папку со всеми файлами.Помогите пожалуйста разобраться |
Diman19, я ничего не понял, покажите скрипт полностью и используйте тег [ more][/more], чтоб ваше сообщение не было объёмным...
|
|
Diman19, добавьте Excludes: plugin1.exe, plugin1.txt
|
Здравствуйте, решил реализовать в Inno Setup 'Бегущую строку' и вот, что получилось...
Для правильной работы требуется: ispack, после чего необходимо обновить, путём замены файлов, до расширенной версии от Restools. В расширенную версию входят: InnoCompiler - в неё входят файлы: Compil32.exe и Templates.dat; Inno_ISCmplr_Setup - в неё входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32. |
Serega_,
Что-то не выходит: Цитата:
|
de_MAX, установите себе ispack, а затем обновите, путём замены файлов, до расширенной версии от Restools. Ссылки я давл выше, ссылка на пост.
|
Serega_, у меня стоит ispack-5.2.4-dev и Restools
|
de_MAX, Restools:
InnoCompiler090319_English - в неё входят файлы: Compil32.exe и Templates.dat; Inno_ISCmplr_Setup090302 - в неё входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32. У вас скорей всего не установлен Inno_ISCmplr_Setup... |
Serega_, спасибо. После установки Inno_ISCmplr_Setup все работает.
|
Serega_, Здравствуй... Извини на сопровождение кинули. Если не тяжело давай вернемся к разговору про запись ini. Я подумал и решил не заморачиваца над разбиением. Т.к. посмотрев форум внимательней заметил что key можно принудительно в строку записать. но проблемма в том что после создания + #13 преобразуется в символ переноса на новою строку. т.е. "квадратный ноль". Не знаю понял ли ты меня просто на форуме код преобразуется и привести тебе пример я не могу.
|
Serega_, Вопрос снят ошибку понял )
|
Serega_, Вот такая строка
SaveStringToFile(ExpandConstant('{app}')+'\desktop.ini', '[Connect]' + #13 + 'ConStr=Provider=SQLOLEDB.1' + ';Data Source=' + 'NameSource' + ';Initial Catalog=' + 'NameCatalog', true); Как назначить NameSource и NameCatalog переменными? |
MrLD, всё очень просто, а если Вас не научили родители простому этикету, сказать ‘спасибо’, когда человек в ответ на Вашу просьбу, потратил четыре часа своего личного времени, на решение Вашей задачи, то о чём можно разговаривать...
Форум, это прежде всего общение, а не потребительский инстинкт, что мне надо, а вы решите за меня... Просто по человечески становится обидно... Цитата:
SaveStringToFile(ExpandConstant('{app}')+'\desktop.ini', '[Connect]' + #13 + 'ConStr=Provider=SQLOLEDB.1' + ';Data Source=' + {code:NameSource} + ';Initial Catalog=' + {code:NameCatalog}, true); |
Serega_, ))))))) Вопрос опять снят ))
Serega_, Искренне прошу прощения. Я уже написал что перекинули на другую задачу.... И огромное Спасибо )) не держи зла.. просто забегался )) Конец месяца и все такое )) А с переменными уже разобрался но все равно спасибо )) Serega_, Пристыдил ))) Еще раз спасибо )) и еще раз извини )) |
В файл {sys}\drivers\etc\hosts надо добавить строку 127.0.0.1 www.example.cоm.
Как это прописать в скрипте? |
ChVL, SaveStringToFile(путь и имя файла, 'текст', true);
|
Подскажите, как сделать категории выбора в инсталляции. Например, я делаю патч для игры. У меня такие параметры:
Геймплей (реальный, оригинальный - оба исключительно), затем следующая категория - язык (русский английский, тоже исключительно) и т.д. Как сделать в ISTOOL или по-другому, чтобы была такая возможность выбора? |
Serega_,
Спасибо за подсказку! Вот рабочий вариант: Код:
procedure CurStepChanged(CurStep: TSetupStep); Есть одна тонкость: запись делается в том месте, где остановился курсор от предыдущей. Для полного счастья надо бы перед вводимой строкой (127.0.0.1) вписать команду на перевод строки. Как это сделать? |
ChVL, первод строки #13, т.е.
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13 + ' 127.0.0.1 www.example.com', True); P.S. Если будет при компилляции ругаться, тогда: SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', '' + #13 + ' 127.0.0.1 www.example.com', True); хотя ругаться не должен... |
Всем привет!Скажите пожалуйста для чего используется Excludes?И как пути к файлам программы указывать?Как целая папка или по каждому файлу?
|
Serega_,
Yes-s!! Вот теперь уже всё. Спасибо!! |
VLADIS LOVE,
Diman19, Цитата:
Цитата:
Цитата:
Source: полный путь к папке\*; DestDir: {app}; Flags: ignoreversion createallsubdirs recursesubdirs |
Serega_, спасибо большое!
|
И еще один вопросик:
Можно сделать чтобы был вид спойлера, т.е. нажимаешь на плюсик и открывался выбор компонентов? Знаю, то NSIS можно, а в INNO? |
VLADIS LOVE, добавьте в секцию [Setup] строку ComponentsListTVStyle=true. Вам понадобится расширенная версия от Resstools, ссылки я давал выше.
|
Тема прикреплена в форуме...
|
Serega_ и другие заинтересованные лица:
Я в Inno профан поэтому просьба к вам, посмотрите шапку- может чего лишнего убрать? Допустим оставить только ссылку на версия 5.2.4 ?? Или 5.2.0 тоже нужна? Жду предложений. |
volk1234, как говорят, выскажу лично своё мнение...
Можно убрать: Unpaker 2.0 , Зеркало, зеркало - распаковывает инсталляторы версии 5.2.2; Inno Setup Pack 5.2.2 RU. Немного перефразировать ссылку: - Как убрать окно приветствия в мастере установки приложения: на - Как убрать страницу приветствия (wpWelcome) в мастере установки приложения:, я понимаю, что в такой форме вопрос был задан, но так более понятней... |
Всем привет!Скажите пожалуйста как создать отдельное окно для ввода ключа продукта?Вот пример
Спасибо! |
Цитата:
|
Спасибо за скрипт.А не подскажешь как сделать чтобы это всё было после окна приветствия?
Спасибо! |
Diman19, так чего же сразу не сказали. Только не окна, а страницы... Сделал второй страницей
|
Здравствуйте!
Только вчера перешел с NSIS на Inno Setup и возникло пара вопросов: 1. Если удаляем программу Х, то появляется сообщение о подтверждении. Так вот, после этого сообщения нужно запустить другую программу Y и только после ее закрытия, продолжить удаление X. Вот что сейчас у меня: Код:
[UninstallRun] 2. Как закрыть программу Х, если она работает, а пользователь запустил удаление программы? Или вывести сообщение что нужно закрыть программу перед удалением. 3. Как насильно удалить папку деисталированной программы (она у меня так и остается)? 4. Как найти и удалить папку из Application Data\MyProgram (чтобы работало и в XP и Vista)? Заранее благодарен за помощь! |
|
Вложений: 1
AnalogXP,
|
Serega_, спасибо, то что нужно.
Вот только собственную папку так и не сумел удалить. Чего-то я не понял: Код:
[_Code] |
AnalogXP, значит из этой папки во время удаления запущен какой-то процесс... Попробуйте выяснить какой процесс запущен и используйте для него:
DelayDeleteFile(ExpandConstant('{app}\FileName'), 2); Цитата:
|
Цитата:
Кстате предыдущий код вообще не компилируется (прошу прощения за ошибку). Вот измененный: Код:
if DirExists('{app}') = True then |
Вот, реализовал интересный эффект - эффект печатной машинки, т.е. текст на мастере появляется не сразу, а по одной букве, что создаёт эффект того, что текст печатается...
|
Код:
[Setup] |
AnalogXP, в скрипте, у вас всё нормально, по крайней мере ошибок я не нашёл. Единственное, что в секции [Files], я бы записал так:
Да и используйте в своих сообщениях тег [ more][/more] Хотя попробуете добавить ещё раз DelTree, т.е. |
Цитата:
Что посоветуете, делать с папкой? Так и не хочет удалится. Как найти причину!? |
AnalogXP, вы второй раз использовали DelTree?
|
Ну так в примере выше все указал. Вот как стараюсь удалить:
Код:
[_Code] Проверяю если есть папка программы и также пробую удалить. А вообще, когда вызывается эта процедура? |
AnalogXP, я добавил в прошлое сообщение пример с кодом. Посмотрите внимательней... Там DelTree используется два раза. Попробуйте.
|
Цитата:
Работает спасибо! |
Кто расскаже, что это такое? Я так понял-всплывающая справка по аналогии с msi-инсталляторами? Как ее прикрутить?
|
Цитата:
Цитата:
setup.exe /? Появляется окно с разделом справки из Inno Setup, с параметрами командной строки поддерживаемой инсталлятором. Цитата:
и всё... Попробуйте вызвать готовый инсталлятор с ключом /? |
Serega_, и попробовал. что с /? что с /help начинается обычная установка((
|
Вложений: 1
Комсомолец, прикрепил к сообщению: 2 скрипта и инсталлятор. Попробуйте... Всё сделано именно так, как я описал выше постом...
|
Serega_, спасибо, скачал. так какой ключ? /? - такой?
|
Комсомолец, работают все ключи, с один результатом, а именно: /?, /h, /help - выводят окно справки...
P.S. Если надо, могу выложить полный раздел справки по параметрам командной строки из последней версии Справки - на русском. Просто, перевожу для себя... |
Serega_, давай. в принципе есть, но от полной не откажусь. Ключи и правда работают))
|
Перевод раздела 'Параметры командной строки инсталлятора' из справки к Inno Setup, версия 5.2.3.
|
Serega_, а это не то же самое, что и в справке инсталлятора? просто у меня тот учебник на русском.
|
Комсомолец, :teeth: на первый взгляд, так только кажется... если посмотреть внимательней добавлены команды:
/SUPPRESSMSGBOXES, /TYPE, /TASKS, /MERGETASKS + добавлены описания в старые команды и скорректированы некоторые формулировки... |
Serega_, отлично))
|
Serega_
Я пока не буду поднимать в шапку ссылку на ключи установщика, причину вы знаете. 2ALL Скоро будет более подробный материал по Inno с ключами и прочим... Serega_ благодарности ставятся за общеполезные сообщения, содержащие эксклюзивную информацию или решение проблемы. В данном случае благодарят если уже выложенна готовая статья или описание сделанное человеком самостоятельно. В качестве благодарности за работу. Пока никакой работы не сделано. Необоснованно сделанные благодарности администрация снимает :) Относитесь к своим благодарностям рачительно - не жадничайте но и не разбрасывайтесь. :) |
Есть 3 файла. Скажем File1.bin, File2.bin, File3.bin. При установке (распаковке) файлы File1.bin и File2.bin, должны устанавливаться (копироваться) в заранее указанные пути (File1.bin в %userprofile%\Главное меню\Программы\Автозагрузка, File2.bin в %programfiles%). При установке (копировании) файла File3.bin, должно выскачить окошко, с просьбой указать путь. Вот собственно и все.
З.Ы. Третий файл мне нужно скинуть в ту же папку что и первый, только в "ограниченную учетку" (проблема в том, что на разных компах, по-разному называны учетки :( |
Devils0411,
|
Есть учетная запись администратора (C:\Documents and Settings\Administrator), а есть ограниченная учетная запись (C:\Documents and Settings\User). Дык вот путь может быть другой ("C:\Documents and Settings\Buxgalter", "C:\Documents and Settings\student")
|
Devils0411, так для этого есть константа {username} - это и будет ваше имя - student или Buxgalter...
Т.е. для того, чтоб попасть в папку C:\Documents and Settings\пользователь, надо записать: {sd}\Documents and Settings\{username} Также туда можно попасть, если записать: {userdesktop}\..\ |
Serega_, Решился все-таки сделать так:
Код:
[Setup] А какая константа отвечает за ограниченную учетную запись скажем student или buxgalter - {username}? Она сама будет подставлять нужное имя? P.S. С ярлыками будет удобней. Сразу не догадался. |
Цитата:
Цитата:
|
Вот в этом то и загвоздка. Да и еще. Что нужно прописать, чтоб не выдавало указать имя папки в меню "все программы"?
|
Цитата:
Я так понял учётная запись Admin у вас одна на всех компьтерах? Если да, тогда запускаете инсталляцию из под учётной записи другого пользователя, а в скрипте записываете так: [Icons] Name: {sd}\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка\Enable; Filename: {app}\File1.bin; WorkingDir: {app} Name: {sd}\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка\Disable; Filename: {app}\File2.bin; WorkingDir: {app} Name: {userstartup}\Disable; Filename: {app}\File3.bin; WorkingDir: {app} т.е. ярлык для файла File3.bin, будет создан для текущего пользователя, ярлыки для File1.bin и File2.bin - для пользователя Admin. |
|
Цитата:
|
boss911, но это же ISTool, который нужно устанавливать, а здесь всего 500 кило и установка не нужна. Конвертирование из reg-файлов, это только начало, планирую немного расширить её функциональность в будущем.
|
boss911, ISTool иногда коверкает рег файлы
|
Serega_, ошибка при открытии файла:
Access violation at address 00460202 in module 'Converter.exe'. Read of address FFFFFFFF. |
katok888, а размер файла какой? Обычно, это происходит при открытии большого файла, я для этого и поставил ограничение...
P.S. Покажите сам reg-файл. |
Serega_,
Код:
Windows Registry Editor Version 5.00 |
katok888, исправил и перезалил, попробуйте.
|
Цитата:
Цитата:
|
Serega_
добавил в шапку. Правьте пост #581 при появлении новых версий и доработке описания... |
Converter v.0.1.1 - исправил обнаруженные ошибки. Ссылка в шапке темы.
|
|
-Marshall-, для отображения компонентов в виде дерева, вам понадобится установленные QuickStart Pack и InnoCompiler от Restools. Все ссылки есть в шапке. Вот пример скрипта:
|
Спасибо, с этим я разобрался :)
Можете еще помочь вот в чем: я делаю трансформ-пак в основном под себя, но! я не знаю как зарезервировать файлы... Пробовал "Полноценное резервирование файлов с копированием в отдельную папку", но он почему-то не хочет копировать... Вот мой SHFileOperation.iss на примере shell32.dll: :help: Пробовал через константы "Windows"a...не помогло, пробовал ставить в строчке "Result := BackupDir(fromDir, toDir, False);" True вместо False. Что не так? И если есть другие способы, то пожалуйста, скажите....... |
-Marshall-, вот пример SHFileOperation.iss, который у меня в архиве.
|
Код:
[Files] Если я неправильно изъяснился, то я поправлю себя: как сделать, чтоб Inno Setup скопировал нужные файлы в нужную директорию, независимо, где располагаются эти файлы. Например мне нужно, чтоб перед выполнением сценариев секции [Run], инсталлятор скопировал файл shell32.dll из {sys} в {app}\Backup |
Цитата:
|
ааааа, по-ходу то, спс :)
|
Подскажите пожалуйста!
Имеется ли возможность как-то сделать(в скрипте прописать) чтобы при деинсталяции скомпилированной мной программы деинсталятор сначала закрывал .exe процесс деинсталируемой программы? |
МИШАНЧИК, вот ссылка на пост, там как раз приведён пример и прикреплена необходимая .dll’ка.
|
Цитата:
|
Serega_, а куда эту .dll’ку засунуть? В папку Инно, или в инсталятор?
Я так понял чтоб завершить процесс.exe при деинсталяции нужно в: [UninstallRun] Filename: {app}\процесс.exe; Flags: waituntilterminated Правильно? И ещё, скачал по ссылке Inno Setup 5.2.3 RU. Он при установке предлагает выбрать русский язык, а сама Инно всё равно после установки на английском. Где я неправ? |
Вложений: 1
|
Serega_, а по поводу:
Цитата:
|
|
Serega_, большое Вам спасибо!
Только я очень, очень начинающий и поэтому мне не очень ясно. Допустим мне нужно при деинсталяции завершить 2 процесса: 1.Program1.exe 2.Program2.exe скрипт будет выглядеть так: [Setup] AppName=My Program AppVerName=My Program v 1.5 DefaultDirName={pf}\My Program OutputDir=. Compression=lzma/ultra InternalCompressLevel=ultra SolidCompression=yes [Files] Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion Source: compiler:Examples\Program1.exe; DestDir: {app}; Flags: ignoreversion Source: compiler:Examples\Program2.exe; DestDir: {app}; Flags: ignoreversion [Run] Filename: {app}\Program1.exe; Description: Запустить программу Program1?; Flags: postinstall nowait skipifsilent ; ниже поправьте название секции(ЭТО Я НЕ ПОНЯЛ в какую секцию вставлять и нужно ли указывать - [code]) [code] function RunTask(FileName: string; bFullpath: Boolean): Boolean; external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly'; function KillTask(ExeFileName: string): Integer; external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly'; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usUninstall then if RunTask('Program1.exe', 'Program2.exe', false) then begin KillTask('Program1.exe', 'Program2.exe'); UnloadDll(ExpandConstant('{app}\ISTask.dll')); end; end; [code] |
Вложений: 1
МИШАНЧИК, чтоб было более понятно, решил прикрепить скрипт, просто на форуме воспринимается секция [code], как одноимённый тег...
P.S. Скачайте справку на русском, ссылка в шапке, очень полезная вещь... :wink: |
|
-Marshall-, я же вам писал пример, который отображает список компонентов в виде дерева. Посмотрите внимательно пост, вы всё сделали как написано в скрипте? За отображение в виде дерева отвечает команда ComponentsListTVStyle=true. При этом имена компонентов должы иметь знак '\', пример:
a a\a a\a\a a\a\a\a |
Спасибо, я просто не обратил внимание на секцию [Setup] :meeting:
|
Serega_, Подскажи пожалуйста, как можно сделать чтобы при выборе компонентов, какой то один пункт был отмечен и его нельзя было оключить (т.е чекбокс был бы не активным). И еще как сделать чтобы по умолчанию дерево компонентов было раскрыто или закрыто. Заранее спасибо...
|
Цитата:
Цитата:
Вопрос по скриншоту: Снизу окна компонентов выводится их описание, а что выводится справа? |
Цитата:
P.S Serega_, спасибо за быстрый ответ :teeth: |
Цитата:
|
Ребятки, вот нужно сделать такой инсталлятор, я сделаю, не вопрос, но есть один нюанс, нужно, чтобы у него было, во время установки, на выбор:
1. Или во время установки, в окне 800х600 (или любой другой оптимальный размер. На весь экран, крайний случай.) менялись картинки, как у игр, когда устанавливаешь игры, показываются некоторые фрагменты игровых моментов. 2. Или если первый вариант невозможен, то чтобы в окне самого инсталятора (можно размер самого окна инсталятора увеличить?), как в комментарии 463, и вот рядом нашёл в комменте 466 менялись картинки скриншотов, не одна была фиксировано, а менялись, скажем, после каждых пяти процентов установленной игры? Или как должно быть правильно? (Мне второй вариант понравился больше, можно как-то его прикрутить?) P.S. Я никогда не делал такие инсталы, поэтому если не сложно, поясните на пальцах, куда скриншоты класть, и где что прописывать для отображения? |
|
Drongo, по первому вопросу, лучше воспользоваться GameScript Generator, а по второму пример, названия картинок и путь до них, нужно поправить в секции [Files], там единственное идёт показ по времени, где-то у меня был пример по процентам, поищу...
Цитата:
#define TIME_FOR_VIEW 1 |
Цитата:
В принципе всё получилось и инсталятор рабочий! :up: Только три нюанса портят всю красоту... Подскажите, что и где нужно подправить? Я бы хотел вместо этих стандартных, втулить свои, пользовательские картинки. Какой нужен размер? Скрипт предложенный Serega_, на нём я остановился. |
Цитата:
embedded. |
tem000, Спасибо, в принципе уже разобрался. :)
Цитата:
Осталось только Объеденить код с проверкой параметров системы и текущий код с показом картинок. Немогу. Не разбираюсь в языке... Возможно ли эти два кода объеденить в один? |
Drongo,
|
Serega_, Спасибо!!! :up: Я выделил красной строкой, в части кода, ниже. Тот участок, на который ругался InnoSetup, пришлось закоментировать эту строку, вроде порядок, откомпилилось на ура. Это критично, что этой строки у меня не будет?
|
Drongo, я забыл там в конце строки поставить ';' и надо процедуру - procedure CurPageChanged(CurPageID: Integer);... одним словом надо просто была ссылка на процедуру, которая ещё не прописана... :wink:
|
Serega_, Ох выручил ты меня. ))) Спасибо. Собственно, этот код можно в коллекцию вносить, ты знаешь сам какую. ;)
Пока редактировал код, такая лажа произошла, вырубили электричество, а я как последний ламер, :lamer: не успел сохранить код, который делал, теперь почти всё заново делать. :teeth: Повторение, мать учения?. ;) |
Здравствуйте. Подскажите, как можно сделать проигрывание видео в окне инсталлятора на протяжении всего процесса установки (от wpWelcome до wpFinished). Знаю, что должна быть определенная библиотека, позволяющая проигрывать swf и flv, но её так нигде и не встретил.
З.Ы. Не появился ли способ отображения процесса распаковки в прогрессбаре архивов freearc'a? |
Цитата:
Цитата:
|
Привет Serega_, это снова я. Два последних вопроса:
1. Где прописать минимальные значения, при которых должна идти установка? Нужны следующие минимальные значения. а) CPU 1.5 GHz б) ОЗУ - 256 Mb в) Видеопамять - 64 Mb 2. Можно ли стандартное окно установки увеличить на 20 в ширину и 20 в высоту? Второй вопрос чисто теоретический, бьюсь с первым. С операционными системами разобрался, а вот с железом, пока никак. Если не затруднит покажи где эти значения нужно менять? :) |
Drongo, ну с первым вопросом, насколько я понял, вы разобрались? тогда по второму:
Размеры формы указываются в Height, Width и можно ClientHeight, ClientWidth. Отличаются они тем, что одни параметры размера задаются без учёта бордюра, а вторые с учётом бордюра. Размеры родной формы мастера: WizardForm.ClientHeight:= 360; WizardForm.ClientWidth:= 497; WizardForm.Height:= 389; WizardForm.Width:= 505; на мой взгляд лучше указывать оба параметра, хотя это не критично, но на разных версиях Windows и при разных установленных темах, ширина бордюра будет разной. А так мы сразу указываем размер формы и размер её бордюра... :wink: |
А на мой взгляд неплохо было бы осветить первый вопрос в ветке.
Другим же интересно :) Цитата:
|
Цитата:
|
Drongo, чуть поправлю, размеры формы должны находится в procedure InitializeWizard();, в вашем варианте она тоже будет работать, но это не правильно. Потому, что процедура InitializeWizard работает при инициализации формы, а procedure CurPageChanged(CurPageID: Integer); - работает на смену страниц, т.е. нужно добавить в самое начало процедуры:
|
Serega_, В принципе всё сработало как надо. Для этого инсталятора уже переделывать ничего не буду, а для общего развития, подскажи, где менять, чтобы кнопки, линиии и размер куда мы картинку загоняем, изменить\сместить под новые размеры формы? Я только нашёл для ProgressBar.
Код:
... Код:
... |
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Drongo, в примере вы два раза указали значение Top, я думаю это опечатка для примера? WizardForm.FilenameLabel.Top := ScaleY(330); WizardForm.FilenameLabel.Top := ScaleY(430); Вообще сработает последнее значение. Нет, точнее сработают оба, но результат вывода будет по последнему значению... :wink: |
|
Drongo, X - ширена, Y- высота... всё как в математике... :wink:, т.е. смещение по вертикали Y (ScaleY - Top, Height), смещение по горизонтали X (ScaleX - Width, Left).
P.S. Нашёл на просторах своего винчестера скрипт, который показывает изменение координат стандартных компонентов, я думаю, пригодится как наглядный пример работы с компонентами. |
Вложений: 1
Русская версия Inno Setup Compiler 5.2.3 (ISPP 5.2.3.0) от ResTools Русская версия расширенной версии Inno Setup от ResTools. За основу был взят перевод от Inno Setup 5.2.3 RU из шапки, в настройках программы не перевел некоторые функции, не понял для чего они нужны поэтому не смог правильно сформулировать и оставил без перевода. Короче перевод проги процентов 80, если где некорректный перевод пишите исправлю. |
tem000, спасибо, вроде на первый взгляд ошибок не увидел, но если что, то напишу...
P.S. Скажу по своему опыту, некоторые вещи от перевода, теряют свою суть и понимание процесса... |
Цитата:
|
Цитата:
|
А кроме всего прочего, перевод программы это еще и способ изучить программу лучше, чем другие пользователи :)
Я перевожу Locate32 и раньше переводил Notepad2... так что знаю что говорю :) Перевод поднимаю в шапку. tem000 Пожалуйста в дальнейшем правьте первоначальный пост #639 , подробности в РМ. И еще давайте пишите сюда, что вам непонятно - давайте вместе допереведем... |
Пацаны пожалуста помогите НУБУ, как удалить после установки инсталятора эти файлы: Sounds.exe,Video.exe,Music.exe,Resources.exe.
За ранее спасибо :) Код:
|
ForestDron, надо так:
|
Serega Братка помог отдуши,просто человеческое спасибо :bow:
|
Нужна помощь плиз.При большом (1.7 Гб) компилируемом фале после компиляции не отображается иконка Setupa заданная в SetupIconFile=ххххх.ico. При компиляции файла например 170 Мб все нормально заданная иконка отображается. :dont-know
|
Цитата:
|
Спасибо за помощь! Но я не представляю как это воплотить, не знаю какие команды должны быть в скрипте для распаковки и удаления архива.А архив какой 7zip,RAR или Zip.
Пример бы какой нибудь если Вам нетрудно. |
Устанавливаем 7z SFX архив в папку с программой, запускаем его и удаляем после выполнения.
Запуск 7z SFX архива из секции Code |
Спасибо огромное за быстрый ответ. Попробую разобраться.
|
Здравствуйте. Появилось ещё пару вопросов.
1. Как поставить прозрачность на секцию messages (чтобы текст отображался, а фон этого текста стал прозрачным)? И возможно ли это? 2. Вставил проигрывание музыки в инсталл. Нужно создать кнопку пауза/проигрывание. Подскажите, как это сделать. 3. В общем, возможно ли сделать следующее: при распаковке архивов фриарка во временной папке создавать лог. А из него как-нибудь брать проценты распаковки и выводить их на прогресс-бар? |
BlackSelf,
1. В сообщение проблема установить свой рисунок, не говоря уже о прозрачности, но можно попробовать создать новую форму, а уже её попытаться сделать полупрозрачной, но даже и при таком раскладе не получится сделать видимым один текст... т.е. чем прозрачней форма, тем тусклее текст. 3. Не знаю, я с фриарком не знаком. Мне интересно, что так все носятся с этим фриарком? Мне кажется 7z пакует намного лучше... Если интересно, в этом сообщении я выкладывал ссылку на библиотеку is7z.dll, для показа хода распаковки 7z архивов во втором прогрессбаре. |
Serega_, спасибо.
А насчет фриарка: он пакует лучше, поэтому я предпочитаю работать именно с ним. |
Привет, я с таким вопросом снова, нужно сделать, чтобы менялись картинки скриншотов
Цитата:
Цитата:
|
Drongo, если я правильно понял, то тебе нужно слайдшоу по процентам установки.
Вот пример с тремя картинками. Думаю, будет понятно, как поставить 25 картинок. |
Serega_, подскажи пожалуйста если знаешь, как в свойствах ярлыка прописать вот эти пункты
смысл такой программа имеет один файл .exe, но в ней имеется как бы еще одна программа ссылающаяся на тот же файл, обе программы можно запустить как 2 отдельных процесса через 2 разных ярлыка, но для этого в свойствах ярлыка надо прописывать то что на скрине. Как это сделать??? |
tem000
Код:
[Icons] {userprograms} - путь к папке Программы меню Пуск текущего пользователя. |
boss911, спасибо помогло все работает, но еще вопрос теперь на столе появляются две абсолютно одинаковые иконки, хотя у этих 2 программ они разные, и в .exe файле есть своя иконка для второго приложения. Короче при инсталяции на рабочем столе в свойствах ярлыка приходится менять иконку на другую. Откуда можно выковырять насторйки какой значек отображать на рабочем столе?
|
tem000,
Код:
[Icons] IconIndex - индекс иконки, если не указывать, то по умолчанию 0. |
Serega_, УРА!!! заработало пасибо огромное господа программеры за помощь!!! :laugh:
PS. Мдя, называется век живи - век учись!!! |
|
BlackSelf, сразу несколько вопросов.
Вы говорите создаётся лог, когда? В процессе распаковки или вы его распаковываете из инсталлятора во время установки? Видите ли, если можно было бы определить скорость распаковки архива на машине конкретного пользователя до распаковки основного архива. Скажем во время запуска инсталлятора, запускаем небольшой тестовый архив, с сохранением лога, из которого получаем скорость распаковки архива на данной машине, тогда можно прикинуть приблизительную скорость распаковки основного архива, высчитав пропорцией... Уже в соответствии с этим двигать прогрессбар… |
Serega_, лог создается в процессе распаковки архива с постоянным обновлением информации о процентах. Поэтому хотелось бы, чтобы инно постоянно обращался к этому файлу и брал оттуда данные о процентах.
|
BlackSelf, где создаётся, в {app}, т.е. в папке куда устанавливаем программу?
|
Serega_, в принципе, можно и в {app}, можно и в {tmp}. Допустим, что в {app}.
|
BlackSelf, напишите пример команд, упаковки и распаковки архива с ведением лога. Скачал FreeArc, а чего-то разобраться не могу, как вызвать сохранение лога...
Наброски по движению прогрессбара есть, нужно протестировать работоспособность кода... |
Доброе время суток.
В [Components] есть несколько пунктов с флагом exclusive, отвечающих за язык устанавливаемого приложения. Можно ли автоматом отмечать пункт, язык которого совпадает с языком установщика(выбирается при запуске)? |
|
Serega_, это немного не то.. При выборе русского языка, пункт "Руководство пользователя\English" не будет показан пользователю, а надо, чтобы были показаны все языки, но "галка" стояла на том, который выбран как язык инсталлятора..
|
Unsane, если привязываться к языку, то будет именно так, что другой пункт языка не будет отображаться...
|
Serega_, при создании архива лог не нужен, но всё же:
Упаковка: arc create archive -mx -ld=192m folder\* >log.txt Распаковка: arc x archive.arc -y -s2 -dp >log.txt Лог будет создаваться рядом с arc.exe |
Здравствуйте! Можете помоч, как сделать вот такое?
Типо это обязательно для установки. Чтобы нельзя было снять галочку. |
Цитата:
Код:
[Tasks] |
Цитата:
Можно еще вопрос? Можете подсказать как правильно склеивать коды? Например вот который вы мне написали, и этот А то у меня выдает ошибку - Duplicate identifer 'CURPAGECHANGED' или когда пытаюсь склеить другие коды, ошибка Duplicate identifer 'InitializeWizard' или другие ошибки. |
Скрипт для отображения процесса распаковки внешних FreeArc архивов во втором прогрессбаре, необходима расширенная версия от Restools:
|
Serega_,
Исправил. |
p3rf3ct1c,
|
Serega_,
Спасибо! |
Ктониь можеть объединить эти коды?
+ + + |
Raf-9600,
|
Serega_, огромное тебе спасибо за твои труды)
|
Serega_, выделяет красным "if CurPageID = wpSelectDir and" и пишет ошибку "Unknown identifer "CurPageID"" :(
Кстати, на всяк: для работоспособности всего что в результате должно получиться, в инсталле должна быть библиотека http://narod.ru/disk/8343782000/descctrl.dll.html Ну и для UninsHs скрипт должен выглядеть типо так: Сам UninsHs можно скачать тут http://www.han-soft.com/uninshs.php |
Raf-9600,
|
Serega_, терь непонятно почему, гибридизировалось это окно, хотя оно должно оставаться стандартным:
|
Raf-9600, не совсем понял суть вопроса, если вы имеете ввиду почему у вас окно без рамки?
Отношение к скрипту которой я вам правил, это не имеет никого отношения, скажу только, что вы что-то добавили в секцию код. |
Serega_, та это я так скриншот сделал :) Я имел введу что под строкой указывающей выбор папки в меню Пуск, ничего не должно быть! В том числе и "Don't create Start Menu floder".
|
Raf-9600, я закоментировал в скрипте строки где это создаётся
P.S. Вообще я только объединил, по вашей просьбе несколько кодов, а это было прописано в одном из предложенных вами вариантов... т.е. от себя, я ничего не добавлял… |
Serega_, проблема в том, что если эти скрипты юзать по отдельности, то ничего аномального (как на скрине) не создается...
А Вы можете чёнить дописать, чтобы и функции прежние остались, и все нормально работало? :) |
Цитата:
Вы объясните нормально, что конкретно хотите и что конкретно не работает? |
Цитата:
Цитата:
А что должно работать, это долгий вопрос :) Ну с кодом отображающим список винчестеров, под "полоской" выбора папки установки думаю и так понятно. Его можно просто скомпилить отдельно, и увидете как он должен работать :) Потом, Боковушка с описанием компонентов - там тоже все предельно ясно. Одно из действий кода деинсталлятора UninsHs, это удаление вступительной странички, в случае когда он будет запускать инсталлятор (ну типа чтоб компоненты изменить). Второе, это когда в UninsHs нажать на кнопку "Восстановить", тогда он должен запускать инсталлятор так, чтобы пропустить все страницы его диалогов, и запустить процесс переустановки, с сохранением всех компонентов, ктороие были выбраны в инсталлятре при установке. Ну и третя функция, это запустить стандартный деинсталлятор, но так чтобы тот не спрашивал ли уверен юзер что хочет удалить прогу, а сразу начинал бы деинсталляцию. Код проверки присудствия папок, после деинсталяции, говорит сам за себя, тоесть после завершения удаления всех файлов, деинсталлятор должен проверять, не осталось ли что-то в папке {app}, и если находит, то выводил бы диалоговое окно, с вариантами "Удалить", "Открыть в проводнике" и "Отменить" (типа так :)). Ну и + он должен запрещять установку в существующую папку (в целях безопасности). Т.е. если юзер повытаеться в путе установки, указать существующую папку, то после клика "Далее" инсталлятор должен вывести сообщение что установка в существующую папку невозможна. P.S. Это Вы на ru-board'е под ником "DeKaNszn"? :) |
Raf-9600, мне интересно, а вы вообще пробовали скомпилировать скрипт?
Не проверял UninsHs, но остальное, о чём вы пишите, всё работает или я не прав? |
|
Raf-9600, я же у вас на русском языке спрашиваю: вы пробовали скомпилировать скрипт? Пост № 688, на предыдущей странице? Я там закомментировал, где создаются эти объекты и на работоспособность инсталлятора, то, что я закомментировал, никак не влияет...
|
Serega_, аа, вы про этот скрит?
Вы то по-русски сказали, но я ж не знал что то что вы закоментили, не влияет на функционал Реально все пашет, и все деинсталляторы тоже корректно работают. Есть только одна маленькая мелочь, при отмене инсталляции, инсталлятор почему-то долго закрывается. В принципе пережить можно, но если знаете как исправить, буду благодарен |
Raf-9600, теоретически, это может происходить из-за descctrl.dll, т.е. инсталлятор пытается закрыться и удалить временные файлы, а descctrl.dll работает. Попробуйте добавить в скрипт процедуру CancelButtonClick:
Код:
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); |
Serega_, Респект и Уважуха!
P.S. Но это врятли иза descctrl.dll, ибо если попробовать скомпилить только код боковушки (с этой dll'кой) то закрытие происходит нормально. |
Цитата:
P.S. Хотя у меня и при старом варианте закрывался быстро... |
Привет Всем!!!
У меня вот такая проблема,точнее говоря вопрос!! Извиняюсь если есть где-то такая тема,не хватило терпения всё прочитать и т.д )) Короче... Я создаю Инсталлер игры,Всё нормально устанавливается и т.д всё работает Но мне хотелось бы узнать как сделать... Я вот пробовал создать Инсталлер игры (Call of Duty 4) Всё шло отлично а вот посредине Запаковки вышла ошибка ( что setup не может быть больше 2,1гб ) Подскажите что или как можно сделать так что бы он был больше чем 2,1 гб И ещё вот такой вопрос!! Я во многих играх видел что посредине установке игры идёт распаковка(Extracting) Как мне такое сделать ?? Если можно со скринами и подробной инфой... Буду Очень Благодарен!!! |
Цитата:
Код:
[Setup] Цитата:
|
|
|
Цитата:
Когда я сделал Инсталлер он почему-то весил 5гб, хотя сама игра распакованная весила тоже 5гб В чём может быть причина ? Вот код может я что-то не то намудрил ))) Код:
; Script generated by the Inno Setup Script Wizard. |
Думаю, эта строка лишняя
Цитата:
Отличий нет, но я не думаю, что игра может быть сжата лучше и меньше 5 ГБ. У неё трудносжимаемые файлы. 5 ГБ это хорошо, хотя если бы сжалось на 600-700 МБ можно было бы втулить на один DVD диск 4.5. Здесь - Комментарий 10 я подсчитывал на сколько запакованных ГБ идёт выигрыш... Цитата:
|
RedBishep, попробуйте заменить соответствующие строки на эти:
Compression=lzma/ultra64 InternalCompressLevel=ultra64 |
Цитата:
|
Drongo, просто предложил.
RedBishep, если прироста нет, то посмотри, что в игре за файлы. Может тебе понизать битрейт у видео. Или, если там есть паки, распаковать их, сжать фриарком, а во время установки распаковать архивы и засунуть обратно в пак. В своё время репак на CoD 4 MW делал cdman. Но он там ничего не пережимал (в плане видео и звука), но время установки было больше часа. Обычно он пользуется precomp + freearc. Отталкивайся от этого. |
Цитата:
Код:
................ Цитата:
Цитата:
Цитата:
|
Код:
... Код:
Compression=lzma/ultra Код:
Compression=lzma/ultra |
Drongo, прежде всего извиняюсь, за не совсем исчерпывающий и не точный ответ...
InternalCompressLevel - мы задаём уровень сжатия, т.е. если указано просто: Код:
Compression=lzma Это всё можно указать и в одной строке, т.е.: Код:
Compression=lzma/ultra P.S. Всё выше сказанное, это теория, хотя в сборках, я всегда использую связку: Код:
................ |
Цитата:
|
Drongo, я забыл добавить ИМХО, т.е. это не является руководством, так сказать к употреблению. Это только мои выводы... ;)
|
Код:
................ |
Кстати у себя в разных скриптах нашел что функция SolidCompression может иметь значения
Код:
............................ |
Цитата:
Из этого понятно, что SolidCompression=yes/no - противоречит изначально само себе, т.е. это из разряда нельзя казнить помиловать... Человеку свойственно ошибаться, а компьютер помогает ему это делать ещё быстрее... Это строка ошибочна, т.е. скорей всего срабатывает последний ключ no... SolidCompression=true - это то же самое, что SolidCompression=yes; SolidCompression=false - это то же самое, что SolidCompression=no... |
Цитата:
Код:
SolidCompression=yes на SolidCompression=true |
tem000, я изначально написал, затем подкорректировал, свою резкость и безграмотность… ;)
Цитата:
А вообще, я обратил внимание на то, что стало появляться всё больше безграмотных скриптов, т.е. кто-то изначально сделал ошибку, а затем как ком всё вокруг нагромоздили и попытались объединить с другим… Поэтому и необходимо рассказывать, как сделать правильно, указав на возможные ошибки... |
Доброго времени суток,очень нужна помощь,мне надо что бы после разархивирования,архив удалялся автоматически
Код:
[Files] |
Цитата:
Цитата:
Заметил у вас ошибку: Вы пишите путь D:\Games\123\SUPPORT\TOOLS\TOOLS.exe, а во флагах пишете external, что говорит инсталлятору о том, что файл внешний, т.е. инсталлятор будет работать, только у вас на компьютере. Нужно: удалить флаг external или путь написать {src}\TOOLS.exe и положить архив рядом с инсталлятором... |
Serega_,
Что токо не пробовал,всё равно не удаляется :( |
Krekerpro, у вас написано, что TOOLS.exe копируется в {app}. Потом вы даёте команду распаковки по другому пути {app}\SUPPORT\TOOLS\TOOLS.exe
В конце концов можете написать так: [Run] Filename: {app}\TOOLS.exe; WorkingDir: {app}; Parameters: -x archive.7z -y -o; StatusMsg: Идет распаковка архива... Filename: "cmd.exe"; Parameters: "/C del /F /Q TOOLS.exe"; WorkingDir: "{app}"; |
Цитата:
можно сделать как вы предлагаете или записать так: Код:
[Files] |
Serega_,
BlackSelf, Вот так удаляется но,не в ту папку куда надо распаковывается :( |
Цитата:
Код:
[Run] |
На фоне уже есть картинка. Нужно сверху неё наложить ещё одну маленькую картинку с прозрачностью. Пробовал через gifctrl.dll, но не получилось.
Подскажите, пожалуйста, как это сделать? |
BlackSelf, покажите скрипт, как вы делаете и если есть скриншот, что хотите в итоге увидеть.
|
Подскажите пожалуйста как сделать так, чтобы унинсталлер сначала закрывал уже работающую программу и лишь затем начинал её удаление? Что и где в скрипте прописать?
|
Dukalis, пример - пост 549.
|
Serega_, Спасибо за помощь! Компилятор выдаёт ошибку (Column 5:Unknown identifier 'UninstallProgressForm') в этой строчке:
UninstallProgressForm.Visible := False; |
Dukalis, у меня просто раширенная версия от Restools, т.е. у меня ошибок не выдаёт...
Закомментируйте эти две строки в скрипте: // UninstallProgressForm.Visible := False; // UninstallProgressForm.Visible := True; |
В инсталяторе запускаю скрипты, который заливают данные в базу. Так вот как можно обрабатывать ошибки если не запущен OracleXE??? Может как нибудь перед запуском скриптов делать проверку запущен ли Oracle???
|
Здравствуйте! Можете помоч с сохранениями игры? Как мне сделать чтобы после удаления игры сохранения удалялись через программу killsave которые находятся тут - C:\ProgramData\2DBoy\WorldOfGoo? Или если есть другие способы можете подсказать?
И еще вопрос, можете подсказать как склеивать коды, чтобы не вылезало никаких ошибок? |
Цитата:
Цитата:
Имена процедур или функций могут быть только в одном экземпляре внутри одного скрипта. После имени процедуры или функции может идти var, где вы задаёте переменные, которые будут использованы только в данной процедуре или функции. Затем всегда идёт begin - начало выполнения, а заканчивается - end;... Я даже не знаю, что можно сказать, всё приходит с пониманием того, что вы делаете... |
Serega_,
Почему то при компиляции выдает ошибку |
p3rf3ct1c, здесь говориться:
Неожиданное исключение класса в препроцессоре. Нарушение доступа в адресе модуля ISCmplr.dls Попробуйте переустановить Inno Setup, т.е. эта ошибка не связанна с приведённым мной скриптом. |
Serega_,
Спасибо, переустановил, ошибки нет, но хотелось бы чтобы при удалении удалялись сохранения которые находятся не в папке с игрой а в другом месте, например в моих документах, или appdata или programdata, как прописать путь или чтобы программа сама их нашла и удалила? |
Цитата:
Код:
........................... Код:
........................... |
Serega_,
Цитата:
А как проверить наличие папки в appdata или programdata? |
p3rf3ct1c, почитайте Справку, найдёте много интересного...
Цитата:
|
Serega_,
Спасибо вам! Все получилось. C:\ProgramData\ у меня скрытая папка как и Application Data, в XP вроде нет папки ProgramData (хотя не знаю) , а у мебя сейчас стоит Win7. Эта папка вроде и в Висте есть. |
p3rf3ct1c, путь к ProgramData в Висте и семерке обозначает константа {commonappdata}, то есть в твоем случае лучше написать так:
Код:
................................... |
BlackSelf,
Спасибо. А вы можете подсказать почему у меня в Unpacker'е кнопки не работают, кроме кнопки "Открыть"? |
Вешаю обработчик на изменение комбобокса "тип установки":
PHP код:
|
Цитата:
Задав свою процедуру вы переопределяете стандартную смену ComboBox'а, заданного по умолчанию. |
От содержимого обработчика вообще ничего не зависит. Повесил пустой обработчик - 0 реакции.
PHP код:
з.ы. еще заметил, что из-за этого косяка не отрабатывается установка некоторых компонентов. |
Цитата:
Цитата:
А что вы вообще хотите задать в TypesComboOnChangeT, просто может это можно решить стандартными способами? Объясните, что вы хотите увидеть? |
Итак, некоторое время назад, я писал здесь вопрос по поводу выбора языка.
Я написал функцию, которая при показе формы "wpSelectComponents" перебирает компоненты и "насильно" выделяет "радиобатон" того языка, который был выбран как язык инсталлятора. Есть в этом подходе косяк - при смене типа установки язык сбрасывается в "первоначальное" (т.е. то, каким бы он был без моего программного вмешательства) положение. Вот на изменение комбобокса "тип установки" хочу повесить процедура проверки, которая будет возвращать нужный язык. |
Цитата:
Попробуйте такой вариант |
Интегрировал Ваш пример в скрипт - не работает. Запустил в новом - работает.
Начал разбираться и нашел корень ошибки - невнимательность. Выделение прыгало из-за следующего: Код:
Name: language\english; Description: {cm:EnglishLanguage}; Types: type1 type2 type3; Flags: exclusive Мой способ тоже работает, но ввиду громоздкости оставлю Ваш. Спасибо :clapping: |
Какой камандой можно автоматически запустить файл после его установки?
|
Цитата:
Код:
[Run] |
|
Цитата:
Код:
[Components] |
|
Potursak, приведите пример, кусок скрипта (всех строк компонентов или задач). В этот флаг указали только в секции Components, либо в Tasks, или еще где-то?
|
Potursak, ошибка говорит о том, что параметр флага, включает неизвестный флаг, т.е. вы просто записали не правильно слово exclusive или там присутствует ещё какой-то флаг...
boss911, правильно сказал, привидите пример своего скрипта. |
|
Potursak, прочитайте внимательно, что вам говорил boss911,
Цитата:
|
Очень хочется разобратся как Проказзза в этой теме сделал тихий инсталятор использующий INF файл для выбора памятки и сам файл установки Run.exe.
Цитата:
|
Potursak, в этом inf файле указывается, какой из компонентов устанавливать. Почитайте Справку: Параметры командной строки инсталлятора, ключи /SAVEINF и /LOADINF.
Или можете посмотреть у меня в подписи, нажмите на Inno Setup и там есть ссылка на Параметры командной строки инсталлятора. |
Просьба подсказать по автоустановке BDE (Borland Database Engine). Сделан инсталлятор в Inno версии 1.2.9. Ключи
/VERYSILENT и /saveinf не работают. Кто скажет, что с ней делать? Я вижу два варианта: 1) Разбирать на файлы/скрипт и собирать самому - не хочется т.к. опыта нет, мне крайне важно чтобы не было никаких побочных действий; 2) Писать программу, которая отыщет окошко и сама понажимает кнопки - хочется чего-то более простого и изящного. Вроде более новой BDE не видал нигде - да и помню, что Борланд отказалась от этой технологии. Может, кто-нибудь что-нибудь еще подскажет? Ссылка на мой инсталлер: http://ifolder.ru/12238956 P.S. Прикрепить не смог, пишет, что я квоту на 1.67Мб превысил (файл около 2.61Мб), хотя у меня вообще нет других аттачей. |
Цитата:
|
Uniextract последний распаковывает. Получаются файлы:
bantam.dll flist.bin install.exe script.bin setup.msg uninst.exe и папка, содержащая, судя по всему, союственно файлы BDE: {app} |
Цитата:
Код:
Inno Setup Module Heuristic Mode [Overlay] |
Цитата:
Интересная получается штука, инсталлятор, про который вы говорите, действительно собран в Inno Setup версии 1.2.9, но в теме автоустановки говорят, что инсталлятор собран в InstallShield. Вывод, значит это пересобранный инсталлятор и причём программа какая-то урезанная. Сделал такой вывод из-за того, что нашёл так же пересобранный инсталлятор, но собранный в Wise, так он размером 4,76Мб и он более похож на нормальный, т.е. в нём присутствуют помимо тех, которые есть в вашем инсталляторе ещё дополнительные файлы: а так же в момент установки происходит регистрация библиотек в системе, что кстати ваш инсталлятор не делает... Попробуйте найти оригинальный инсталлятор BDE. P.S. Если всё же этот инсталлятор вас устраивает, то чтоб установить его тихо, его нужно пересобрать, т.к. ключ /verysilent он не поддерживает... |
Спасибо большое!
|
Ребят, у меня вопрос при распаковке некоторых инсталяторов исполняемые файлы программы имеют вид например:
Music Downloader,1.exe Music Downloader,2.exe хотя оба файла имеют абсолютно одинаковый размер и прога запускается как с одного так и с другого файла, а при установке приложения они объединяются в один файл. В чем смысл кто в курсе??? |
сделайте двоичное сравнение файлов (в том же Тотал Коммандере), либо выложите оба файла (по возможности со всеми остальными).
|
Цитата:
Если вы скомпилируете инсталлятор из данного скрипта: то после распаковки данного инсталлятора, у вас будут помимо других, два одинаковых файла, но с разными именами: MyProg,1.exe MyProg,2.exe Это как раз говорит о том, что мы два раза указываем файл MyProg.exe, в секции [Files], а инсталлятор автоматом их переименовывает. В итоге после установки мы получим один файл MyProg.exe, просто один перезапишет другой... Как таковой, ошибки тут нет, просто человеческий фактор... :) |
Подскажите, как сделать проверку на кириллицу в пути установки, чтобы, если содержались русские буквы, то выводилось соответствующее сообщение и просьба об изменении директории?
|
BlackSelf, теоретически, сделать можно, а какая преследуется цель?
Вы расскажите поподробней, что вы хотите сделать и почему нежелательны русские буквы? |
Если есть кириллица, при нажатии на кнопку "далее" появляется messagebox с текстом.
Делаю это из-за того, что зачастую в батнике при распаковке архива появляются крякозябры. И, естественно, архивы распаковываются не в нужную директорию. |
BlackSelf,
|
Serega_, мерси.
|
Напишите плиз поподробнее как пользоваться анпакером?
|
Цитата:
Есть и обновление: Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009] - Скачать 0.24 | Зеркало 1 | Зеркало 2 P.S. Справка по использованию на русском. |
Поднял ссылки в шапку, чуток ее скоректировал.
А скажите ссылки на Unpaker 2.0 и Unpaker 0.23, можно удалить тогда? |
Цитата:
Unpaker 2.1 от [21.04.2009] - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4. |
Здравствуйте всем. Кто нибудь пожалуйста помогите склеить эти коды - и
|
p3rf3ct1c, Небольшое описание для этих частей не помешало бы. Что делает первый скрипт, что второй? И что должно получится?
|
p3rf3ct1c,
|
Drongo, мне уже Serega_ сделал. Но и вам спасибо за то что хотели помочь!
Serega_, Спасибо! |
p3rf3ct1c, Я не в том плане, просто Serega_, спец в скриптах, а мне интересно было бы узнать его назначение, вдруг бы и я использовал вашу заготовку. ;) Вроде то что делает проверку компонентов системы увидел. А остальное тёмный лес, почти. :)
|
Цитата:
|
У меня проблема насчет Скрипта для отображения процесса распаковки FreeArc архивов во втором прогрессбаре СКРИПТ от Serega
Выходит такая ошибка Где достать эту процедуру? Unpackarc может какой то файл создать? Допустим у меня файл worms.arc (сам архив) и файл Arc.exe, мне нужно это распокавать как хотел Blackself где теперь достать процедуру unpackarc? |
SkynetAst, эта процедура в родном скрипте есть, а судя по ошибке, вы просто удалили её из своего скрипта.
|
Serega_,
А у меня и не было этой процедуры....что за родной скрипт??? Я скопировал ВАШ скрипт изменил файл (архив) и все......а что за процедура, где мне ее найти? |
SkynetAst, у меня в подписи, нажмите на Inno Setup и там будет ссылка на скрипт - распаковка FreeArc.
Скопировав скрипт целиком, строка 81 в скрипте и будет начало этой процедуры: procedure UnpackArc(s: string); |
Serega_,
Нажимаю на ссылку в вашей подписи, Inno Setup, кидает на эту же страницу только в шапку. а там ничего подобного Распаковка FreeArc нет. Если вы говорите про ЭТО ваше сообщение там есть Но все равно ругается. я скопировал весь ваш пример, изменил архивы и эта ошибка. |
SkynetAst, надо нажать левой кнопкой мышки... вот прямая ссылка на пост.
P.S. Только не забудьте исправить название секции кода... |
SkynetAst, я просто уверен в том, что у вас в скрипте написано [_Code], поменяйте на [code].
|
[_code] на [code]?
Исправил теперь вот так ругается: |
SkynetAst, написано ведь было:
"Для нормальной работы необходима расширенная версия Inno Setup от Restools http://restools.hanzify.org/" Скачивайте, ставьте. |
ой спасибо народ, спасибо что терпели меня =)
еще чуть чуть по надоедаю. как изменить скрипт, например у меня два архива, чтобы он по очереди распаковал их? |
Цитата:
а в потерянной процедуре ;) - procedure UnpackArc(s: string); удаляем эту строку: Код:
DelayDeleteFile(ExpandConstant('{app}\Arc.exe'), 2); |
У меня такой скрипт
Что надо изменить чтобы после распаковки файлы arc.exe и maps.arc удалились? Flags: deleteafterinstall не робит... И еще....app это те файлы которые находятся в установочном файле......src это рядом с файлом установки? |
Цитата:
Цитата:
Цитата:
|
Ктонить может написать код, чтоб посреди установки, в скрытом режиме, запускался файл "inWAV.bat", при условии что выбран компонент "Sound", и чтоб пока выполняется этот батник, в статус сообщении писалось что-то типа "Распаковка аудио".
|
Цитата:
|
Ок, буду ждать =)
|
Raf-9600,
|
Непонял эту строчку:
Цитата:
Цитата:
|
Файлы не распаковываются из архива arc
Что не так сделал? А чисто такой скрипт работает, его и вставляю в верхний, и все перестает работать |
Цитата:
Мне тяжело понять о чём вы думаете, извините, но я не телепат. Или покажите код, или объясните подробней, что вы хотите... каков был вопрос: Цитата:
SkynetAst, Цитата:
|
Цитата:
P.S.1 Если приглядеться в мой пост, то там я не прошу чтоб из секции [code] что-то создавалось. P.S.2 ИМХО вы просто чересчур оригинально мыслите :) |
Raf-9600, а какие проблемы с созданием батника в примере Serega_?
Вот так будет выглядеть процедура создания батника: |
Raf-9600,
Цитата:
Цитата:
|
BlackSelf, не проблема была в том, что я недоганял что и куда нужно вставлять, чтоб все работало :)
Вобще, ИМХО создавать батники из кода не практично, ибо это пригодно только для маленьких батников. А если батник маленький, тогда проще вобще без него обойтись, чтобы из секции [code] сразу выполнялись необходимые нействия. Ну это мои философствования, щяс буду тестить код :) |
BlackSelf,
Спасибо! P.S. Вы вставляйте код в тег [code][/code], удобней читать... |
BlackSelf, ничего не заработало :(
Цитата:
upd Сек, ещё раз перепроверю.... |
Raf-9600, батник создается точно с таким же содержимым, как вы и сказали.
|
Raf-9600, скрипт, в студию...
P.S. Жаль, я не телепат... |
Все ок, это я тупанул. Скрипт пашет, просто я немного перепутал коды для запаковки в ogg и распаковки из него %)
|
Serega_, Исправьте секцию [Run]... у вас два задания на выполнение и две строчки...
Я в это не разбираюсь. научите пожалуйста.... |
SkynetAst, если для меня нужен персональный телепат, то для вас тут окулист нужен :)
После "{cm:LaunchProgram, StarCraft}"; нужно сделать отступ, чтоб выглядело так: [Run] Filename: {app}\arc.exe; WorkingDir: {app}; Parameters: x {app}\starcraft.arc -y -dp{app}; StatusMsg: Идет распаковка данных...; Description: "{cm:LaunchProgram, StarCraft}"; Filename: "{app}\StarCraft.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked |
Цитата:
на самом деле, надо так: Код:
[Run] Насчёт ключей запуска не уверен, не проверял, но я думаю суть понятна? Raf-9600, тоже старайтесь использовать тег [code][/code]. удобней читать... |
Кстати, а написать код на такую вот штукенцию ктонить может? :)
Это самая понтовая вещь которую только приходилось видеть в инсталляторе. Только ИМХО там ПрогрессБар некрасиво смотриться, вот так было бы лучше: И желательно вобще без кнопки "Отмена". Ктонить способен сотворить сие (без преувеличений) чудо? На ру-боарде и я, и несколько других людей уже спрашивали, ответить так никто и не смог. Вся надежда на вас :pray: |
Raf-9600, там что, картинка или видео или я, например, делал очень быструю смену картинок, похожую на видео?
|
BlackSelf, не знаю что там, мне подобное творение искусства лицезреть не удавалось, только скрины видел. Но предполагаю что там либо слайд-шоу "по таймеру", либо в зависимости от процента хода установки.
Лично мне хотелось бы заиметь оба варианта. |
Serega_, Во все работает. Спасибо. Хм....что можете из литературы посоветовать учебной чтобы вникать в суть?
Или тут все кругом поголовное программирование в которое мне лучше не соваться? =)) |
SkynetAst, Сорь что опять встряваю, но чтоб не допускать вашей предыдущей ошибки в дальнейшем, достаточно просто изучить мануал к Inno Setup, тем более что есть его русская версия.
|
Raf-9600,
Русская, расширенная от Restools ??? |
SkynetAst, ну ли есть такая, не в курсе. Для начала подойдет и от обычной версии. В шапке есть на неё ссылки.
|
Сорь за офтоп, но ктонить может подсказать команду чтоб через батник удалить все файлы в формате ".wav", находящиеся в папке "Sound" и всех её подпапках?
|
Raf-9600, вот, пробуй.
"Слайдшоу на странице wpInstalling по таймеру". Автор: Rexsniper, я доработал. |
BlackSelf, а get_hw_caps.dll и InnoCallback.dll можете куданить залить?
|
|
Цитата:
Цитата:
Цитата:
Если вам будет проще, то в шапке этой темы есть - InnoCompiler090319_Russian - Русский перевод (80%) от tem000. Цитата:
Код:
del Sound\*.wav |
BlackSelf, Выглядит мега круто! Даже красивее чем на сканах
Смущает только то что кнопка "закрыть" совершенно не работает. Т.е. во время инсталляции, она не может отменить её. Ну и ещё хотелось бы вариант в котором бы отображался какой файл на данный момент распаковываться. Также интересует, возможно ли какнить сделать так, чтобы вместо BMP можно было туда вставлять JPG картинки? Это ускорило б запуск инсталлятора, и позволило б добавить значительно больше слайдов. Цитата:
ИМХО Видео туда пихать непрактично, вот протестировал, и запихнул картинок, сумарным объемом в 63,0 МБ, и это ЗНАЧИТЕЛЬНО повлияло на скорость запуска инсталлятора. Цитата:
|
Цитата:
Код:
del /s Sound\*.wav |
Raf-9600, код с отображением путей и активной кнопкой "отмена".
А насчет *.jpg это надо через isxbb.dll делать. |
Вот возникло два вопроса:
1) То что вчера получилось отлично работает НО, при указании пути установки например D:\Games\Star 1.16 из - за пробела не идет распаковка архива, если писать любой другой путь но без пробелов все ставится, с пробелами не идет распаковка. 2) Добавил в свой скрипт, скрипт со вторым прогресс грабом распаковкой arc архива? получился такой скрипт: И компиляция ругается на это: Насколько я понимаю, что два раза запущено одно и тоже......как совместить код? |
SkynetAst, вот совмещенный код, пробуйте:
|
Цитата:
Цитата:
|
Raf-9600
Насчет кнопки "Отмена" могу предложить следующее (бредовая идея, конечно, но всё же): Заменить в данной строке цифру 2 на, скажем, 100. Тогда кнопка будет за пределами окна инсталлятора. Видно её не будет, но "закрыть" в правом верхнем углу будет работать. Код:
WizardForm.CancelButton.Top := WizardForm.Bevel.Top + ScaleY(2) |
|
BlackSelf,
Попробовал....теперь вот так ругается =)) какие то кавычки не нравятся ему |
SkynetAst,
Код:
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\1221340359_starcraft.front_cover.jpg',1000,3000,1000,0,255,False,$FFFFFF,10); |
А как указать какое место будет занимать установка? А то показывает размер архива а не то что будет после него )
|
SkynetAst, в справке все написано. Юзай либо "ExtraDiskSpaceRequired" в секции компонентов, либо "ExtraDiskSpaceRequired" в секции [Setup].
|
подскажите как в окне приветствия сдвинуть границу между логотипом и текстом - тоесть чтоб картинки было больше
следующий вопрос по сложнее -) - как в окне где показывается процес установки - чуть выше бегунка прогресса инсталляции поместить видео-ролик - тоесть при инсталляции чтобы играло видео да, и появилось уже какое то решение убрать окно о программе не конфликтующее с форматированием rtf файлов ? |
Параметр реестра PendingFileRenameOperations
Какой синтакс у этого вызова в реестре?
Вот это например понятно \??\source file !\??\target file Переименование нам не нужно, хотя это следует даже из названия, но тем не менее этим ключём можно и удалять! http://www.pcreview.co.uk/forums/thread-1715654.php Но я так и не понял всётаки логику, сколько и где надо нулей - Цитата:
{olddata} - это предыдущая запись; {break} - это "00" нули; записи соответственно прибавляются друг за другом. Код:
"PendingFileRenameOperations"; ValueData: "{olddata}{break}{break}\??\{sys}\mmc.ko" Да и в конце зачем, одного чтоль мало? Причём похоже что реестр сам прибавляет ещё один байт нулей "00" Но моя запись работает, а проблемма в том что если запустить друг за другом два инсталлера с подобным кодом, то записи одного из них будут проигнорированны... А мне какраз нужно много инсталлеров! Кароче сколько там нулей вообще непонятно. Пока что получается из моих наблюдений такое {старая_запись} 00 00 \??\Файл1_для_удаления {старая_запись} 00 \??\Файл2_для_удаления {старая_запись} 00 \??\Файл3_для_удаления 00 00 Но два раза записать из инсталлеров вызовет проблемму! Один работает нормально... ?? |
semiono, пережде всего, нужно было написать, что вы делаете инсталляторы на Inno Setup и спрашивать в соответствующей теме.
Цитата:
Цитата:
Все эти команды действительны для REG_MULTI_SZ. Цитата:
Цитата:
Код:
{olddata}{sys}\mmc.ko{break} И мне не совсем понятна, суть вашего вопроса... |
Привет всем, уважаемые программисты! Помогите мне (чайнику) разобраться с моим скриптом.
Задача простая. Мой сетап должен ставить в каталог с программой дополнительные файлы (что он успешно и делает), но при этом необходимо сделать до инсталяции резервную копию одного из заменяемых файлов (вот тут то и проблема, не хочет работать). При деинсталяции резервный файл надо вернуть на место (до этого еще не дошел). Файл предполагается копировать в папку "backup" , которая должна создаться в том же каталоге куда инсталятся файлы. Вот код скрипта полностью: ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] AppName=Death a Board (beta5) AppVerName=Дополнение к Left 4 Dead DefaultDirName=C:\Program Files\Steam\SteamApps\Common\left4dead DefaultGroupName=Death a Board (beta5) DisableProgramGroupPage=yes OutputDir=E:\Загрузки\Output OutputBaseFilename=setup SetupIconFile=E:\Left4Dead\left4dead\Left 4 Dead Demo.ico Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: "E:\Загрузки\Output\left4dead\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [code] procedure CurStepChanged(CurStep: TSetupStep); var s1, s2: string; begin s1:=ExpandConstant('{app}')+'\resource\UI\L4D360UI\LoadingPosters.res'; s2:=ExpandConstant('{app}')+'\Backup\left4dead\resource\UI\L4D360UI'; If FileExists(s1) then begin CreateDir(s2); FileCopy(s1, s2+'\LoadingPosters.res', True); end; end; |
dinazav, попробуйте так:
|
Я боюсь что этот вопрос выходит за пределы InnoSetup, причём я обычно не использую
restartreplace флаги, так как мне не нужны диалоги в инсталлере. Поэтому пытаюсь удалять файлы "ручным способом", кстати это даже интересно. Цитата:
Цитата:
это майкрософт придумано - \??\C:\windows... Хотя я думаю вы в курсе, просто можно было подумать что это я что-то там зашифровал :) Хотя я не пробовал напрямую писать без '\??\' может и не будет валидным? Цитата:
Хотя я думаю что есть альтернатива? Суть вопроса какраз в том, как правильно удалять используя PendingFileRenameOperations, но меня не один файлик интересует, а сразу много! Причём с возможностью добавлять строки из разных подряд запускаемых инсталяторов. То что вы говорите что брейк вначале не нужен - это верно и я это тоже знаю, но почему-то на практике работает только именно как у меня было. Просто если второй инсталятор запишет позади свой код то он уже не будет выполняться. А вот многократный запуск одного и того же инсталятора хотя он и начинает дублировать записи но тем не менее файлы будут удалены всё как положенно. Наверное два инсталлера суммируют какой-то сдвиг по нулям {break} и происходит косяк! :) --- То что я записываю в виде: ValueData: "{olddata}{break}{break}\??\{sys}\mmc.ko" ValueData: "{olddata}{break}\??\{sys}\mmcbase.ko" это не принципиально, просто так удобнее код контролировать, хотя можно и в строчку всё оформить: ValueData: "{olddata}{break}{break}\??\{sys}\mmc.ko{break}\??\{sys}\mmcbase.ko итакдалее" |
Подскажите пожалуйста, как сделать так, чтоб инсталлятор не могли распаковать, как это сделано у Boss911 в его трансформ-паке?
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Вообще, все инсталляторы делают люди и нельзя сказать с уверенностью, что если вы увидели такую запись у себя в реестре, после установки, какой-нибудь переупакованной игры, что именно эта запись верная... Потому, что перед установкой игры, если цель переупаковать инсталлятор, обычно делают снимок реестра и вместе с нужными ключами реестра для этой игры, пихают весь свой хлам из системы, что вообще не относится к данному инсталлятору. В итоге, получается бардак с реестром. ИМХО. Цитата:
Одним словом, вопросов встречных много... P.S. Вот вам пример скрипта, устанавливайте, сколько угодно раз и всегда будет дописываться ещё одна строка... И извините, за мою неточность: {break} - это шесть нолей... |
-Marshall-, используйте шифрование инсталлятора...
|
Цитата:
Цитата:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices Вообще в разделе SYSTEM\Services я встречал какие угодно записи, например %SystemRoot%\System32 и тут же \SystemRoot\System32 и всё это записи майкрософт по большому счёту, всмысле если даже \??\ это не правильная запись от \??\\ я тоже с этим согласен. :) Цитата:
Конечно же открытые и не доступные для удаления файлы! К примеру, я заменил Icons ресурсы в taskmgr.exe, или если пофантазировать русифицыровал его, хотя это навряд ли. Впрочем, я ошибаюсь taskmgr легко итак заменить, а вот какие-то DLL ну скажем даже shell32.dll, то это без перезагрузки не получиться. Сначала я переименовываю файл в shell32.old, потом удаляю. Цитата:
Цитата:
Я так и не проверял ещё, но раньше вроде заглядывал и между записями путей вроде бы 00 00 было!?... Где-то это продокументированно в Inno хелпе чтоли? Пример установки PowerISO: Код:
[Setup] |
BlackSelf, спасибо за помощь. Но мой скрипт создан в Inno Setup 5.1.12 и на такие функции как "CopyFiles", "MoveFiles" и "RemoveDir" компилятор ругается... Мож изменить чего надо?
все поставил ISToll 5.2 на функции не ругается, но по прежнему не хочет делать резервную копию файла |
Цитата:
Цитата:
Цитата:
Код:
ValueData: "{olddata}\??\{sys}\drivers\scdemu.o{break}"; P.S. К сожалению ни программы PowerISO, ни скрипта для неё у меня не оказалось, но насколько я знаю ключ HKEY_LOCAL_MACHINE\System\ControlSet001\... - никаким боком не относится к программе. |
Спасибо за конструктивный разговор! Хорошо что я свою тему Inno Setup нашёл, хотя я изначально сомневался,
так как часто бывает по инсталлеру обсуждают сугубо конкретные инсталерные дела. Но мне иногда бывает понадобиться чтонибудь этакое o_0 :) Самое главное чтоб разговор был конструктивным, чтобы можно было больше узнать. :) Цитата:
Цитата:
1. scdemu.sys (> scdemu.o) - я не уверен, возможно что драйвер(ы) можно просто даже удалять? 2. pwrisosh.dll - этот файл обычное расширение проводника, тоесть он регистрируется как regsvr32 /s pwrisosh.dll из чего понятно что шел его не даст так просто удалить, поэтому я сначало его переименовываю в секции [code] а потом удаляю как pwrisosh.o 3. pwrisovm.exe - а это менеджер CR-ROM, вполне возможно что он будет торчать в системном трее, и удалить тогда напрямую него нельзя, то же самое pwrisovm.exe > pwrisovm.o и делет через пендинг =) У меня цель исключить все вопросы и диалоги в непредвиденной ситуации, инсталятор должен сам решать и принимать решения, при условии что он грамотно сконструирован. Цитата:
Можно попрактиковаться с C:\New Text Document.txt C:\New Text Document (2).txt |
Цитата:
http://msdn.microsoft.com/en-us/libr...,printer).aspx |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
У пользователя всегда должно быть право удалить установленную программу, всегда должен быть выбор, при этом о виртуозности и профессионализме человека, который делал инсталлятор, говорит то, что после удаления не остаётся никаких хвостов, т.е. удаляются все установленные службы в системе и записи в реестре, сделанные этой программой. Цитата:
если да, то использовал скрипт и всё нормально удалилось: Цитата:
|
Serega_, ведь вы удалили файлы которые свободно можно удалить.
Но я имел ввиду используя PendingFileRenameOperations, чтобы проверить работу самого параметра. И тут уже не важно что именно это за файлы, так как если помните разговор был об нулях... Но это уже даже не нужно, так как пару решений снова возникло. :) Для того чтобы проверить правильность записей, можно использовать это Код:
; http://flatassembler.net/fasmw16738.zip так как записи сами добавляются в хвост, без всяких {olddata} Можно даже этим бинарем и пользоваться как внешним скриптом. :) Но есть и другое решение. Я же изначально знал что NSIS переименовывает файлы а не удаляет. Но я что-то сам комплексовал и тупил. Почему-то мне показалось это не надёжно то ли не совсем очевидно. Но я всётаки сейчас понял как всё должно быть, правда ещё сказалось то что я наконец-то прочитал документацию, как они пишут что PendingFileRenameOperations запускается после chkdsk ещё до старта оболочки, тоесть можно смело переименовывать файлы, а зачем их тогда удалять! Именно так nsis инсталлер и делает. Просто копируется новый файл как *.tmp и на загрузке он копируется скажем в shll32.dll. То есть я лишнего намудрил с удалениями *.old Цитата:
Но просто у меня с инсталлерами это целая философия. Вообще это часть "моей системы" winxp, которую я собираю для себя. Но всё же хочется верить что и ктонить ещё установит. Я просто думаю о том, что многие программы, практически все устанавливаются поверх себя сколько угодно раз. Приложения должны устанавливаться в %ProgramFiles% за исключением каких-то гигантов. Просто потому что {pf} уже придуманна и её проще целиком переименовать и переместить если не нравиться то что есть. uninst.exe - хотя и очень маленький файл, но тем не менее по большому счёту хлам. Я всё же расчитываю немного на продвинутого пользователя, чтобы удалить программу достаточно удалить её папку [del] и если надо затереть ключи в software разделах реестра. Остальное можно расчистить любым рег-клинером. Но самое глдавное, что на самом деле эти записи не на что не влияют. Да и на размере реестра это не сказывается. Если записи актуальные, то новая интсаляция перепишет их. Тут дело ещё и в том, что например Adobe Reader во-первых засоряет не на шутку HKLM\Software\Classes, вдобавок пишет тонны хешей в uninstall ветку реестра, это уже работает MSI интсаллер. Я одинакого обхожу стороной их обоих. И как бы нахально заявляю что мои програмки все не проблемные и даже если не нужны совершенно, то не стоит их удалять, так как они никому не мешают. Хотя о вкусах конечно можно поспорить. :) Вообщем я сначала делаю а потом меня пусть осудят )) Я надеюсь не сильно ругать будут )) Сейчас стал пробираться в 64 битную WinXP, слежу чтобы инсталятор правильно работал и там. Поначалу массу ошибок понаделал, так как я думал HKCU32 это панацея от всего, но как оказалось такого ключа вообще нет, а есть только HKLM32 тоесть ссылка на HKLM\Software\wow6432node, что гораздо чаще используется так как приложения в большинстве своём 32 битные. Но ито там думать приходиться так как ярлык Код:
Root: HKLM; Subkey: "Software\Classes\CLSID\{{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Cpuz"; ValueType: string; ValueName: ""; ValueData: "&Cpuz"; Flags: noerror; Permissions: admins-full Цитата:
чтобы что либо написать самостоятельно гуглю часами :) как и в остальном всём |
Привет всем, есть sfx архив data.exe созданный freearc'ом, есть у кого примерчик как прикрутить второй прогрессбар, что бы он был чуть ниже основного или его продолжением и показывал сколько процентов осталось. С Serega_Inc. скриптом не могу разобраться ведь с sfx должно быть вроде попроще.
|
Цитата:
если перевести в IS, то: Код:
ValueType: multisz; ValueName: SystemBiosVersion; ValueData: GBT - 42302e31{break}Award Modular BIOS v6.00PG{break} Цитата:
Цитата:
Цитата:
|
Цитата:
|
|
|
Цитата:
invoke MoveFileEx,lpExistingFileName1,NULL,MOVEFILE_DELAY_UNTIL_REBOOT пять получалось, хотя надо посчитать, я только за комп сел :) Правда мне кажется там суть такова, что один байт "00" это конец строки или закрытие строки, а "00 00 00 00" это новая пустая строка или NULL кароче то чем "затирает", может она и длинее даже... |
Даже сейчас с уверенностью сказать трудно, но этот брейк даёт четыре нуля '00 00'
Код:
Root: HKLM; Subkey: "Software\ax"; ValueType: multisz; ValueName: "a"; ValueData: "{break}."; Flags: noerror; Permissions: admins-full |
Вот этот код работает, даже если его поделить на два инсталлера и частями запускать
Код:
[Registry] я вообще подозревал ещё раньше что это какая то опция а не указатель на target, ещёб узнать её значение!? Однако, проблем опять не убавилось :) Так как суперзадачей стоит заменить shell32.dll, то как оказалось его даже restartreplace стандартный флаг не способен потянуть. Сразу же возникает предположение, что уж что а shell32.dll видимо грузится очень рано и уже просто невозможно бывает его заменять. Придётся вернуться к старым методам переименования до перезагрузки, хотя там я так и не выяснил точный синтакс. Кстати, я точно установил, что {break} в конце строки безполезен, то ли его инно игнорирует то ли реестр, хоть десять бряков записать в реестре строка будет закрыта всегда как "00 00 00", если только она не последняя. Поэтому у меня там брейки вначале стояли, так как сначала строки они почему-то не игнорируются. Там вообще загадок много, например, если я програмно из ассемлера пытался писать без преффикса \\?\ который сам превращается потом в \??\ то без него вообще лажа получается - путь лезет прямо от папки исходника, вот дурь! ЗЫ я ещё не надоел тут с этим своим PendingFileRenameOperations :) ? |
Цитата:
Цитата:
Цитата:
Цитата:
|
скажите, а есть ли запаковщик setup'а, чтоб заново не компилировать, а директорию или ярлык в скрипте поправить.
|
Цитата:
|
Может ктонить дать скрипт для распаковки архива free arc'a?
|
Заметил такую штуку в инсталах от InstallShield: когда нажимеш на кнопку отмена на любой странице установки и отвечаеш "Да" то появляется вот такая страничка:
Кто знает как такое можна сделать в Inno Setup'e??? Заранее Спасибо! |
насколько понял это надо дополнительную страницу самому нарисовать? и связать её с [tasks] секцией?
что-то вроде этого, только с другими константами... Код:
[C0de] Цитата:
так как там немного было и легко сосчитать на глаз, поэтому export я не делал. Десять дел делаю одновременно, поэтому уже трудно вернуться уточнить =) |
|
Здравствуйте, исправил скрипт распаковки FreeArc архивов...
Теперь используются внешние архивы, без копирования в папку приложения. |
Serega,
Я не много по другому создал батник, и не пришлось ничего прописывать в procedure CurStepChanged Код:
procedure BatRunArc(s: string); |
Цитата:
Самое главное - результат, а пути достижения могут быть разные... |
Цитата:
|
А что надо в батнике прописать?
|
Цитата:
|
Serega,
При попытки компиляции выявляет ошибку: http://clip2net.com/clip/m0/1244493206-clip-47kb.png |
Цитата:
|
Serega,
|
Krekerpro, удалите секцию [Files], и исправьте процедуру:
Цитата:
|
Serega,
Спасибо,ошибка пропала,но если я не ошибаюсь,то на другом компьютере установка будет не возможна :( |
Цитата:
|
Serega,
То есть,получается,если производить установку на другой машине,надо архив класть рядом с инсталятором? |
Цитата:
|
А как сделать что бы после установки в пуске и на рабочем столе появился ярлык запуска игры?
|
Вопрос, может и повторяюсь чей-то, но как-то не нашел...
Каким образом сделать при деинсталле - типа опции - галочку - удалять настройки из реестра или нет? lLancer Код:
[Tasks] |
А где там указывать путь к EXE файлу? :teeth:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Подскажите, плиз - как сделать, чтобы программа при деинсталяции спрашивала про необходимость удаления определённого файла? Файл создаётся во время инсталяции и изменяется в течении работы программы (база данных). Спасибо
|
|
Ктонить может написать скрипт для переименования папки "{app}\YourСountry" на английское название текущего языка интерфейса Windows. Чтоб к примеру если у меня язык винды русский, то папка называлась "{app}\Russian".
|
Цитата:
Как быть с несколькими файлами? Например, при установке, я сделал возможность выбора компонентов: +В разделе [Files] прописал соответствующие значения. Как при удалении сделать подобное диалоговое окно? (Т.е. возможность выбора удаляемых компонентов) |
Цитата:
Нет, конечно можно оттолкнутся от GetUILanguage, но это придётся в ручную перечислять все языки: Цитата:
|
Цитата:
Ну сам Inno видь как-то умеет определять язык винды, и менять в зависимости от этого язык своего интерфейса. Хотя в принципе, предложенный вам код тоже подходит. Только нужно чтоб он переименовывал уже существующую папку, после инсталляции. P.S. А где можно узнать коды языков всех стран? |
Мог бы ктонить реализовать вот этот инсталл в cкрипт?
|
Krekerpro, немного иные реализации этих картинок уже есть:
http://s45.radikal.ru/i108/0906/af/141f2f4bf10b.jpg - http://shareua.com/get_file/f96e28/2995221 http://s51.radikal.ru/i134/0906/11/b6339d082574.jpg - сечас поищу. UPD Вот он, создал Victor_Dobrov, очистил Serega: |
|
Цитата:
Немного обмозговал над вашим предыдущим скриптом, в принципе он и в таком виде подходит, но только если скажите что нужно прописать, чтоб распаковать один и тот же файл, в две разные папки. К примеру и в "DestDir: {code:YourCountry}" и в "DestDir: UKEnglsh". |
Цитата:
Код:
[Files] |
Есть у кого нибудь get_hw_caps.dll?
При попытки скомпилировать выдаёт следующие http://clip2net.com/clip/m0/1244574459-clip-30kb.png ,я так пологая что надо что то дописать? |
Цитата:
|
|
Цитата:
|
Serega,
Опять ему чтот не нравится http://clip2net.com/clip/m0/1244575423-clip-34kb.png :( |
Цитата:
|
Цитата:
Попробуйте закомментировать эту строку, должно помочь. Цитата:
|
Цитата:
|
Krekerpro, покажите свой код. Ошибка говорит о том, что неизвестная переменная, а она должна задаваться в скрипте.
|
Serega,
|
Krekerpro, у меня с вашего примера, компилируется нормально.
|
Serega,
А чем компилируете? |
Krekerpro, у меня расширенная версия от Restools, но это не влияет на ваш скрипт. У вас ошибка, что неизвестный индетификатор, а он у вас задан в скрипте currTime: Integer;
P.S. А вы исправили название секции с [_Code] на [code]? |
Serega,
Да,исправил |
Krekerpro, тогда действительно, попробуйте закоментировать, пример:
// currTime := 0; |
Serega,
Спасибо огромное,всё отлично работает :) |
|
Цитата:
|
|
Ещё хотелось бы узнать как это реализовать http://clip2net.com/clip/m19309/1244...-clip-32kb.png
И вот это http://clip2net.com/clip/m19309/1244...-clip-22kb.png ,как я понимаю здесь используется фри арк,в процессах винды для установки используется unpack.dll |
Цитата:
Цитата:
|
Вроде вот dll-ка (можете переименовать на unpack.dll, если очень надо) - http://narod.ru/disk/9755536000/arc.dll.html
А вот скрипт: |
Цитата:
|
Serega, этот скрипт и dll-ка достались мне от Z10y_ded. Но там ничего особенного. Ваш вариант меня больше устраивает.
Кстати, по поводу страницы выбора задач (http://clip2net.com/clip/m19309/1244...-clip-32kb.png). В зависимости какой выбран язык добавляется только запись в реестре. |
Цитата:
Цитата:
P.S. Если я бы знал раньше, что такая dll'ка есть, я бы... зачем, как говорят, изобретать велосипед... :) А исходник, этой dll'ки, вам чисто случайно, не достался по наследству? :) Просто интересно, как он реализовал апдейт прогрессбара... |
z10y_ded - репакер (перепаковка игры с целью уменьшения размера установочных файлов. Главная задача, на мой взгляд, - уместить игру на DVD5). Библиотека появилась примерно тогда, когда вы сделали первый вариант распаковки freearc-архивов. Если будет время, посмотрите на библиотеку, может сможете связать её со своим кодом. Минус этой библиотеки - нет считывания с лога и отображения правильной информации.
|
Что то не хочет у меня работать скрипт от z10y_ded',нет ни прогресс-бара ни распаковки архива.
Вот скрипт: |
Krekerpro, посмотри на скрипт, кот. я давал, внимательно. Не надо ничего в app копировать. data-a.bin - это архив, кот. надо распаковать.
|
BlackSelf,
Пожалуйста поточней :) |
Возьми мой скрипт. Поменяй только пути к библиотеке и arc.exe. Рядом с инсталлом положи свой архив DirectX.arc и замени в скрипте data-a.bin на DirectX.arc
|
BlackSelf,
Спасибо,вот теперь заработало,вот только,второго прогресс-бара нету |
Вот со вторым прогресс-баром. Размеры и расположение отрегулируйте сами (я сделал примерно как на скрине).
|
BlackSelf,
Огромное спасибо,всё отлично работает :) |
У меня вопрос:возможно ли соединить это
это и вот это |
Цитата:
|
Ой,я ошибся в третьем,вот скрипт
|
Цитата:
|
Serega,
А можно разделить прогресс-бар на две части,на подобии вот этого http://clip2net.com/clip/m19309/1244...-clip-22kb.png ? |
Цитата:
|
Serega,
Ясно. Хотелось бы вставить картинку вместо надписи внизу слева http://clip2net.com/clip/m19309/1244...-clip-21kb.png |
Вложений: 1
Цитата:
|
InnoUnpacker одна из возможностей этой программы заключается в том, что можно просмотреть содержание CompiledCode.bin
ISTool 5.30 и Русификатор |
Цитата:
|
чей-то бот, пиши z1oyded, но исходники мне он не дал да и что-то править ради других он тоже вряд ли будет.
Вот ещё dll-ка со скриптом для распаковки freearc-архивов. Автор Bulat_Ziganshin. Скачать |
BlackSelf, дай плиз контакты его
|
|
Люди а как убрать надписи отмеченные красным?
|
p3rf3ct1c, добавь в скрипт:
Код:
[Messages] |
Подскажет ли кто, как расшифровать на язык cmd следущие строки:
Код:
Source: "{sys}\msvcr71.dll"; DestDir: "{sys}"; MinVersion: 4.1,5.0.2195; Flags: uninsneveruninstall onlyifdoesntexist библиотеки в коммандной строке. Строка (во всех вариациях, с кавычками, без кавычек, из бат файла, из коммандной строки) Код:
regsrv32 prog1.dll Посмотрел DependencyWallker - нехватает msjava.dll (хотя ее и в Inno установке нет) подложил и ее - без толку, ругается уже на точку входа. Как вообще расшифровывается regserver sharedfile Что эта комманда делает, я в справке почитал. Нечто вроде regsvr32 (вызов DllRegisterServer) и запись библиотеки в раздел реестра SharedFiles. Кто знает подробнее?? |
Ктонить может доработать этот код, так чтобы для слайд-шоу можно было использовать JPG картинки, и само слайд-шоу показывало их не по порядку, а рандомно?
|
Цитата:
Цитата:
Если да, то попробуйте InnoUnPacker 2.6b3 от valeron87, Зеркало По-моему, он более правильно показывает флаги и файлы в инсталляторе, в отличии от Unpaker'а, который иногда ошибается и корёжит файлы, хотя это бывает редко, но всё же. Цитата:
Цитата:
Цитата:
P.S. InnoUnPacker, я думаю нужно добавить в шапку и так же: Цитата:
|
Raf-9600, Спасибо, в начале убралось но в завершении установки осталось вот это
И можешь пожалуйста подсказать как сверху убрать надписи на каждой странице? |
Цитата:
Цитата:
Код:
[Сode] |
Raf-9600, Спасибо!
Надписи сверху я убрал другим способом, добавил в скрипт вот это: Код:
[Messages] |
Помогите с кодом в InnoSetup!
Идея такова, хочу после работы секции [Run] выполнить экспорт некоторых параметров из реестра, чтобы сразу получить файл {app}\BackUpApp.reg - что весьма удобно для пользователя должно быть! Вообще это возможно - всмысле секция [C0de] до или после [Run] выполняется? Или можно указать? Если есть такая возможность, пожалуста покажите мне пример кода, нужно зделать следующее... Каким-то образом создать reg-файл, в который нужно записать некоторые value из реестра, которые известны с самого начала установки. Например, Код:
Windows Registry Editor Version 5.00 Но проблемма в том что не все аргументы заранее известны, так как после выполнения [Run] некоторые ValueData: ""; будут содержать случайные записи. Тут нужены наверное RegRead/RegWrite функции и с записью в файл. Помогите, я не сумею код составить! Вот это сразу же придётся отбросить, по той причине, что нам не нужен весь ключ, а только выборочные value Код:
[Run] Если использовать автоит из временной папки, то ему тогда сложно указать куда сохранить regfile, так как это известно только инсталлеру. Сохранять скрипт в папке программы, тоже не хорошо, так как его тогда надо будет удалять оттуда каким-то образом. А оставлять темп-файлы я не люблю. |
|
Вопрос: страница выбора компонентов - сперва комбо список - где 3 типа установки фул кастом компакт - ниже компоненты, отмечаем нужные галочками
Можно ли с этой страницы в принципе убрать комбо бокс с выбором типа установки и оставить только выбор самих компонентов? |
|
Здравствуйте, обновил программу Converter до версии 0.1.2.
Корректно читаются и конвертируются из HEX данных в читаемый вид, значения ключей REG_EXPAND_SZ (expandsz) и REG_MULTI_SZ (multisz). |
Цитата:
Изменил скорость движения всплывающего окна. Движется также, рывками? |
Шапку обновил, поднял ссылки на InnoUnpacker, IsTool, Converter...
Может старый Istool Удалить? |
Цитата:
|
Здравствуйте. Может мне кто нибудь подсказать, что нужно указать в параметрах, чтобы на этой странице кнопка "next" сама нажималать и продолжалась установка дальше, а по окончанию установки чтобы кнопка finish сама нажалась.
Код:
Filename: {src}\PunkBuster\pbsvc.exe; Parameters:/i --i-accept-the-pb-eula; StatusMsg: Устанавливается PunkBuster...; Check: InstallDop |
p3rf3ct1c
Не знаю можно ли это реализовать в Inno Setup, но это можно осуществить с помощью AutoIT. Форум по AutoIT |
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
Cibersoft Prolex, Спасибо конечно, но это для меня сложно.
Serega, Мб Вы меня не так поняли или я чтото не понял, я создал инсталлятор, и и отметил галочку чтобы после установки игры установилось дополнительное по (всякие DirectX (Parameters: /silent), vcredist_x86,x64 (Parameters: /Q), в том числе и PunkBuster), когда установка доходит до PunkBuster он начинает установку (Parameters:/i), сам принимает лицензионное соглашение (Parameters:/i --i-accept-the-pb-eula), а как сделать чтобы он кнопку "next" и в конце "finish" тоже сам нажимал? Мне наверно надо тут чтото дописать Код:
Filename: {src}\PunkBuster\pbsvc.exe; Parameters:/i --i-accept-the-pb-eula; StatusMsg: Устанавливается PunkBuster...; Check: InstallDop |
p3rf3ct1c, я не совсем понимаю, что вы хотите сделать.
Вы хотите установить инсталлятор автоматом? Если, да, то пользуйтесь командной строкой, т.е. запустите инсталлятор с ключом /silent - с отображением хода установки или /verysilent - установка в тихом режиме, без отображения на экране пользователя. Пример: setup.exe /verysilent |
Serega, мне надо чтобы после установки какой либо игры запустилась установка этого файла
Цитата:
когда я нажимаю ок, выдает еще одно сообщение |
Цитата:
Прежде всего, нужно определить из чего, с помощью какого инсталлятора он сделан и запускать с соответствующими ключами для этого инсталлятора. |
Serega, я даже не знаю из чего и с помощью чего он сделан, а про ключи я вообще не знаю куда писать и что делать.
Если я вам скину эту программку (653кб), то вы сможете помочь? |
p3rf3ct1c, давайте ссылку.
|
|
p3rf3ct1c, этот инсталлятор сделан самим автором программы в Microsoft Visual C++ 7.0, но он позаботился о ключах установки. Попробуйте, так:
Код:
Filename: {src}\PunkBuster\pbsvc.exe; Parameters: /i --no-display --i-accept-the-pb-eula; WorkingDir: {src}\PunkBuster; StatusMsg: Устанавливается PunkBuster...; Check: InstallDop |
Serega, Спасибо огромное! Все работает!
|
подскажите как поставить разделение на 2 диска,чтоб в конце установки 1 диска появилось сообщение-вставьте 2 диск.
|
Цитата:
Код:
................................... |
Подскажите, как сделать если система х86, то создавался бы ярлык на рабочем столе "ya86", а если х64, то "ya64"?
|
Цитата:
Код:
[Icons] |
Как сделать чтобы сначала выполнялся code, а потом уже копировались файлы и выполнялась установка из run
|
Цитата:
|
Очередной вопрос ламера:
Каким образом мы можем сделать следущее - если ставим в 1й раз, и программа определила, что каталога назначения нету - все проходит на ура - а если ставим уже поверх установленной программы - чтоб сперва удалил ярлыки которые были выведены, удалил папку назначения - и уже поставил ка бы с 0(с учетом что настройки программы хранятся в реестре, их удалять нельзя) |
Цитата:
|
Berline, а не проще поставить поверх программу?
Теоретически, конечно можно определить куда были установлены ярлыки в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\..._isl, удалить их и удалить всю папку приложения, но как быть с хвостами в реестре? т.е. после удаления второй программы, они так и останутся мусором в системе пользователя... Цитата:
ChangesEnvironment=yes |
Serega, не, вот "мусор" в реестре как раз надо оставить... а ярлыки, и папку с программой снести
|
Искал, не нашел.
Подскажите пожалуйста, как можно сохранить в Inno изменяемые ветки реестра перед установкой программы (желательно автоматом, уж больно много), и восстановить реестр при деинсталляции программы? Заранее спасибо. |
|
Цитата:
Буду благодарен за простой кусок кода по сути в качестве примера, по аналогии я его размножу. В принципе можно сделать reg export с параметрами, но выполнить его надо ДО секции [Registry]. Это второй вопрос - в какой последовательности выполняется скрипт Inno и как это сделать. |
|
|
Помогите пожалуйста:раньше использовал скрипт от z10y_ded,всё нормально работало,но после переустановки винды,почему то по не понятным причинам,при начале он мне выдаёт ошибку http://clip2net.com/page/m0/1228857
|
Цитата:
Добавьте в начале секции кода: Код:
type |
Теперь тут пишет:Syntax error
Код:
case MessageBox(StrToInt(ExpandConstant('{wizardhwnd}')), setupmessage(msgExitSetupMessage), setupmessage(msgExitSetupTitle), MB_YESNO or MB_defbutton2 or MB_ICONQUESTION) of |
Krekerpro, так тяжело сказать, это ошибка синтаксиса, т.е. не хватает или лишние знаки препинания, (скобки)...
В сообщении об ошибке показывает строку и порядковый номер в строке. Посмотрите внимательней, где именно возникает ошибка. |
Serega,
В ISTool'e была это ошибка,а Inno всё нормально скомпил :) |
Хотелось бы узнать,как вот это реализовать http://clip2net.com/page/m0/1239208 и вот это http://clip2net.com/page/m0/1239224,на втором скрине на счёт свободного пространства,его возможно самому вписывать?
|
Ктонить может немного переделать этот код, так, чтобы если UI инсталлятора английское, то и все фарзы были английским, если UI русский, то русские, и т.д.
|
Krekerpro, примерно вот так:
|
|
BlackSelf, По-моему, ваш код не работает.
К слову: вы не могли бы написать код, чтоб в "Требуется как минимум Мб свободного дискового пространства." (на странице выбора папки) можно было указать собственное значение? И чтоб до тех пор пока не выбран винт с необходимым объемом, невозможно было нажать на кнопку "Далее". P.S. Деректива ExtraDiskSpaceRequired мне не подходит, ибо данные в ней, плюсуються с полученными на странице выбора компонентов. А мне нужно, чтоб просто отображались указанные мною данные о необходимом месте, на странице выбора компонентов. Но на данные, на странице выбора компонентов этот никак не влияло. Т.е. инсталлятор считал необходимые мегабайты как будто на странице выбора папки, он показывал истенное значение, а не то, которое я ему указал. |
Raf-9600, напишите в моём скрипте слово "Code" правильно на англ. языке - всё будет работать.
В скрипте есть строчка, в кот. указывается собственное значение в мб: Код:
NeedSize := 6610; //Здесь указывается место для приложения Код:
procedure CurPageChanged(CurPageID: Integer); |
1. В вашем скрипте не отображается страница выбора компонентов.
2. Шрифт на первой странице засвечен. 3. Строка "Доступно места на диске" мне не нужна, так как планирую ещё использовать скрипт для вывода данных о винчестерах. 4. Коды на welcome.bmp, и растянутый WizardSmallImageFile там лишние. На всяк: Скрипт для вывода данных о винчестерах: |
Raf-9600, скрипт делался на примере скринов, кот. кинул Krekerpro.
Компоненты не указаны, поэтому страницы и нет. Всё остальное учел: |
|
BlackSelf, Спасибо, все идеально!
P.S. Кстати, передал ваши наброски скрипта, для слайд-шоу на странице установки, в формате JPG, другому программеру, он утверждает что тщательно изучил isxbb.dll, и пришел к выводу, что через него невозможно сделать слайд-шоу в окне инсталлятора. :sorry: |
Подскажите новичку скрипты для размещения картинки на последней странице установки и на всех остальных сверху. Зарание спс
|
|
Serega
а в какую строчку вставлять путь картинки? |
Цитата:
WizardImageFile=...\путь до большой картинки WizardSmallImageFile=...\путь до маленькой картинки |
Serega
спс |
|
Подскажите пожалуйста как правильно объединить в скрипте несколько секций "Code" выложеных здесь?
Заранее спасибо! |
|
Цитата:
RunMyProg.Top := ScaleY(182); и RunLabel.Top := ScaleY(180); |
Serega, спасибо.
А не подскажите как правильно секции "Code" объединять друг с другом? И ещё здесь Вы выложили скрипт, а что это за InnoCallback.dll, где её взять? |
Цитата:
Если в какой-нибудь процедуре или функции (назовём её вызывающая функция) есть ссылка на другую процедуру или функцию (назовём её - вызываемая функция), то эта вызываемая функция должна быть расположена выше чем вызывающая функция. Так же не надо забывать про структуру процедур и функций, т.е.: Код:
procedure MyProc; // имя процедуры Пример объединения двух процедур InitializeWizard: Код:
procedure InitializeWizard; Код:
procedure InitializeWizard; Код:
procedure InitializeWizard; P.S. Удобней всего объединять скрипты в редакторе от Restools, т.к. у него слева есть окно в котором отображаются имена всех процедур в скрипте и что самое важное, эти имена сортируются не по расположению в скрипте, а по имени, т.е. все дубликаты процедур или функций видны сразу. |
Serega, спасибо, а по поводу
Цитата:
|
Вложений: 1
Цитата:
|
Цитата:
|
Serega, Большое Вам спасибо. Буду пытаться.
|
Помогите пожалуйста кто нить с моими двумя вопросами, или хотя бы помогите со вторым вопросом пожалуйста
|
p3rf3ct1c,
Попробуй для ярлыка: Код:
[Icons] |
sanya007, Спасибо помогло!
|
p3rf3ct1c,
Цитата:
Код:
[Icons] |
Serega в скрипте для распаковки FreeArc архивов через dll, есть возможность распаковывать несколько архивов.
Но возникла проблема, если эти архивы находятся на 2 DVD, как заставить распаковываться архивы со второго диска, ведь dll просканирует содержимое {src} первого диска, распакует их, и инсталятор завершит работу! Есть какие-то соображения по этому поводу? |
p3rf3ct1c,
А по первому вопросу можно , больше ни чего не придумал. |
serg aka lain, получилось, только еще надо как нибудь сделать прозрачность.
|
Serega, помогите пожалуйста соединить.
А то не смотря на Вашу помощь и объяснения не получается. Заранее большое спасибо. |
Цитата:
|
|
Вложений: 1
МИШАНЧИК,
Цитата:
|
p3rf3ct1c,
Цитата:
|
serg aka lain, вставил себе это в код, пишет Unknown identifier 'SelectDirLabel'
|
p3rf3ct1c,
Цитата:
var SelectDirLabel, SelectDirBrowseLabel, AddIconLabel: TLabel; AddIcon: TCheckBox; нужно объявить глобально Код:
[Setup] |
Может уже было:
А реально сделать на старнице выбора компонентов, чтоб это было не просто дерево, а раскрывающийся по +- список? Развернул группу элементов, отметил галочками, свернул и дальше пошел, а то если много опциональних элементов - там сочинение на странице листать надобно |
Цитата:
Цитата:
В секции [Setup] добавьте: ComponentsListTVStyle=true |
serg aka lain, что то я ничего не понимаю что и куда надо вставлять и менять, мб есть другой способ сделать прозрачность?
|
serg aka lain, большое спасибо за скрипт.
|
Вложений: 2
Цитата:
|
Serega, спасибо.
-- Добавлено -- У меня Inno Script Generator "не видит" русификацию (в списке языков нет русского языка). Файл я извлёк в папку languages. Перезапускать Script Generator пробовал, устанавливать заново тоже... У меня версия 1.0.3.1. Операционная система: Win Vista Sp1 x32. |
Цитата:
Найдите секцию [Language] и запишите так: Код:
[Language] Цитата:
|
Serega
спасибо я уже разобрался! причины бли таковы: 1. невставил #define TIME_FOR_VIEW 1 в начале думал там нету ничего)) 2. нужен был inno setup с precompressor'ом! и все! |
люди добрые пытаюсь изменить шрифт но он не меняеться, увеличиваеться только размер окна)))
[LangOptions] LanguageName=Russian LanguageID=$0419 LanguageCodePage=1251 DialogFontName=Trebuchet MS DialogFontSize=15 WelcomeFontName=Segoe Script WelcomeFontSize=20 TitleFontName=Segoe Script TitleFontSize=10 CopyrightFontName=Segoe Print CopyrightFontSize=10 может кто-нибудь даст нормальные???кстате могу хоть 100 написать не измениться))) и еще кто подскажет как изминить размер окна исталятора я хочу поменьше?! |
Цитата:
Код:
procedure InitializeWizard; |
Serega
спасибо, а как-нибудь можно размер инсталятора изменить? |
Цитата:
Код:
WizardForm.ClientHeight:= 360; |
Serega
что-то нефига не выходит, я это в [code] вношу или не туда? и можно целиком а то begin и end бесят... Код:
procedure InitializeWizard; |
|
Serega
огромное спасибо!!!! |
еще вопрос назрел) я наверно надоел!
как сделать что-бы показывало сколько места свободно на HDD! заранее спасибо! вот покажите пожалуйста что надо здесь исправить что-бы убрать как убрать это? Код:
type |
|
p3rf3ct1c
сплошные ошибки пошли... но сейчас пошаманю |
|
p3rf3ct1c
спасибо, теперь все хорошо! |
|
p3rf3ct1c
вообще спасибо)) спасибо что совместил! |
Serega
Доброе время суток! Спасибо за подсказку с функцией RegBackup, но вот что делать с procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep)? Как она работает я приблизительно догадываюсь, но видимо она не отрабатывает - не восстанавливает файлы из папки сохранения. Если Вас не затруднит, подскажите, пожалуйста в чем ошибка |
Цитата:
Замените запуск второго рег-файла (01.reg) на команду для первого (00.reg), т.е. замените: Код:
Exec(RegEdit, ' import ' + AddQuotes(reg),ExpandConstant('{win}'),SW_HIDE,ewWaitUntilTerminated,res); Код:
Exec('regedit.exe',' /s ' + AddQuotes(reg),ExpandConstant('{win}'),SW_HIDE,ewWaitUntilTerminated,res); |
добрый день! вот скрипт сделал все по нему но инсталлятор тупо виснит и не запускаеться... надеюсь на вашу помощь!
|
Цитата:
Как вариант, ещё может быть, если используете упакованную InnoCallback.dll, то может антивирус блокировать запуск. Да, поправьте, т.е. добавьте звёздочку: 1*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp')) end; и т.д. |
Может у вас картинки большого размера?
а это сколько? 800:600 много? забыл сказать что если упаковать не целую папку т.е вес получиться меньше то запуститься без проблем! |
Цитата:
Цитата:
|
Serega,
дело в том что раньше у меня 7340000(ну сколько 0 не помню но разбит был по 699мб), думал что в этом проблема. сделал потом такой!!!ладно, остальное сейчас опробую и отпишусь! спасибо!!! |
Цитата:
После деинсталляции ключи удаляются (в секции [Registry] стоит удаление этих ключей дабы если их не было до установки - они не забэкапятся и удалятся (это работает, создаются файлы только на существующие ключи), а если были - удалятся и восстановятся в состоянии до установки) Как вообще работает эта процедура CurUninstallStepChanged(CurUninstallStep: TUninstallStep)? Её надо откуда-то вызывать как процедуру BackupReg или она автоматом отрабатывает в процессе деинсталляции? При деинсталляции она работает до секции [Registry] или после? Должна после секции чтобы восстановились удаленные ключи. |
Цитата:
usAppMutexCheck – не знаю...; usUninstall - отрабатывает в момент движения прогрессбара при деинсталляции; usPostUninstall - отрабатывает после страницы с прогрессбаром, но до появления сообщения о том, что программа удалена; usDone - отрабатывает после нажатия на кнопку ОК в сообщении о том, что программа удалена. Цитата:
|
Цитата:
|
Цитата:
Вы спашивали: Цитата:
|
Serega, подскажите пожалуйста, можно ли как-то сделать чтоб инсталятор одну и ту же папку с подпапками и файлами при установке скопировал в 2 места?
Допустим папка1, папка2, папка3 установил в Program Files\Program\Program1 и в Program Files\Program\Program2. |
Цитата:
Или ещё проще: Код:
[Files] |
Цитата:
Такое ощущение будто процедурка CurUninstallStepChanged не отрабатывает. Может ей вывод на экран поставить (да хоть 'Hello, World') чтоп она себя обозначила в процессе. Оффтоп - а и правда, как вывести на экран сообщение из этой процедуры? Поставить в начало и конец - будет видно что-где-когда делается... Вопрос снят, нашел как делать сообщения, процедура CurUninstallStepChanged, судя по выводу на экран, запускается. |
serg aka lain, большое спасибо. Подскажите пожалйста как правильно указать:
Цитата:
|
Вопрос решен. Всем спасибо!
Решение |
Господа в чем проблема? стоит в инсталляторе 9bmp изображений он использует их как слайд шоу, но во время установки он показыват лишь 2 из них это 2 и 3 слайды помогите прошу вас, и как всегда надеюсь на вас!
[code] Код:
type |
1. Ктонить может сделать скрипт, чтоб в папке, которую выбрал юзер, для установки игры, проверялось наличие файлов "Install.exe" и "StarCraft.mpq", если хоть один файл найден, то никаких сообщений об ошибке выводиться не должно, если же не найдено ни одного, то выводилось сообщение "Install.exe не найден в папке назначения, скопируйте его с лицензионного диска StarCraft, в папку, для начала инсталляции". Но этот скрипт должен работать только если выбран компонент "Game\Lokal".
2. Возможно ли сделать чтоб в этом слайд-шоу, слайды менялись не по порядку, а рандомно? |
МИШАНЧИК
Цитата:
Цитата:
Raf-9600 Цитата:
проверяй … Код:
function NextButtonClick(CurPageID: Integer): Boolean; |
Цитата:
Код:
[_Code] |
прошу прощение за беспокойства, разобрался сам, надо было всего-то в #define TIME_FOR_VIEW 1 изменить на цифру больше!!!
|
BlackSelf
И чего толку от переименования? При повторной установке реестр перезапишется как нужно, а в папке будет создан ещё один unins000.exe и unins000.dat. Ну, если только целью этого действия является лишь бы получить эти uninstall любой ценой, то пойдёт. ИМХО Думаю, спрашивали как заставить инсталлятор создавать деинсталлятор uninstall.exe изначально. |
Цитата:
|
Цитата:
|
Цитата:
|
Интересует ещё один важный вопрос: можно ли как-то заставить прогу, при запуске (в данный момент, она через [Run]) работать в "невидимом" режиме? ИспробЫвал и RunHidden и RunMinimized, ничего не подействовало. Может через [code] это можно реализовать? В данный момент эта строчка выглядит так:
Код:
Filename: "{app}\WinMPQ-SU.exe"; Flags: runhidden; Parameters: s Sound.txt; StatusMsg: "Встраивание озвучки юнитов..."; Components: inMPQ; Flags: skipifdoesntexist Код:
Filename: "{app}\del Ogg [SoundUnit].bat"; Flags: runhidden; StatusMsg: "Удаление лишних файлов..."; Components: SoundUnit; |
Здравствуйте! Подскажите как добавить чекбокс на странице завершения, вниз около кнопки завершить? И чтобы когда была отмечена галочка, началась установка какой либо программы.
|
Цитата:
Цитата:
Если она небольшая (просто у меня интернет платный), то дайте ссылку, можно глянуть... |
Serega, В архиве - 152 КБ. Но требует наличия Visual Basic 4 (832 КБ)
|
Serega,
Спасибо, вот только я не могу догадаться что надо добавить там где я отметил жирным и подчеркнул Цитата:
Можете еще помочь вставить этот код в мой, а то я все вставил и при при компиляции, запуске, установке ошибок нет, но в конце чекбокс всеравно не отображается. |
|
Serega,
Когда я вставляю ваш код в обычный инсталлятор (только что сделанный) без всяких картинок и т.п. то все работает, а тогда я склеиваю ваш код с моим (я его выложил в моем предыдущем сообщении), то в конце все равно не отображается чекбокс. Не знаете в чем проблема? |
Цитата:
|
Raf-9600,
|
Serega,
Спасибо все получилось! |
Цитата:
Цитата:
Код:
Filename: "{app}\WinMPQ-SU.exe"; Flags: runhidden; Parameters: s Sound.txt; StatusMsg: "Встраивание озвучки юнитов..."; Components: inMPQ; Flags: skipifdoesntexist И под конец инсталляции, будет несколько раз вызываться, для редактирования MPQ архивов. К примеру, с параметром "s Sound.txt" она должна вызываться только после того как отработает: Код:
Filename: "{app}\del Ogg [SoundUnit].bat"; Flags: runhidden; StatusMsg: "Удаление лишних файлов..."; Components: SoundUnit; Цитата:
И кстати, на данный момент, окно WinMPQ таки отображается. |
|
Raf-9600, ещё вопрос, программа запускается с ключами и после завершения работы закрывается сама? или её надо принудительно закрывать?
|
Serega, закрывается сама.
upd Ещё одна просьба: ктонить может объединить эти коды: Слайд-шоу в окне инсталляции Скрипт для вывода данных о винтах Описания компонентов Запрет установки в папку Windows Поиск нужных файлов upd И ещё, можно ли заставить Inno, в начале инсталляции, если выбран компонент "Game\Lokal\Backup", заставить запустить виндовское окно копирования файлов, которое бы скопировало некоторые файлы в {app}\Backup? |
Вот мой скрипт:
Помогите мне его обьединить со след скриптами: Запуск фоновой картинки во время инстяляции Позволяет выбрать иконку инсталятора |
Cкрипт для распаковки arc архивов
Скрипт для вывода данных о винтах Этот скрипт нужен для того чтобы можно было ставить чекбоксы(создания ярлыка на раб столе, установка DX и.т.д) Как сделать чтоб под текстом был не синий фон а прозрачный http://imageshost.ru/links/64f37ed02...61ef008858a88a И как нибудь прикруть проверку системы(что за проц, ОС, ОЗУ) http://victor-dobrov.narod.ru/InnoSe..._SystemTest.7z Помогите пожалуйста!!! Сори за два поста подряд, просто в один пост все скрипты не помещаются. |
Raf-9600,
|
Serega, Хм.. Возможно конечно я где-то опечатался, но сечас, когда WinMPQ должен запуститься, светиться "Ошибка при запуске файла: WinMPQ.exe".
|
Цитата:
Параметр запуска - 's Sound.txt', а файл Sound.txt я не увидел в вашем скрипте. |
Цитата:
Код:
Source: D:\Русификатор AiO\SC1\Юниты\DE\Sound.txt; DestDir: {app} |
Цитата:
Довайте вернёмся к тому файлу, который вы дали... я сделал скрипт, который работает на 100%, т.е. запускает программу в скрытом режиме... или я не прав? Цитата:
Цитата:
|
Цитата:
Цитата:
|
Вложений: 1
Помогите пожалуйста!
При компиляции выдает ошибку "Identifier expected" на строчке "procedure CurStepChanged(CurStep: TSetupStep);" Как это исправить? Извините код не вмещается =( Вот залил |
Погуглив и почитав топика на руборде и здесь, не смог найти ничего похоже. Как привести инсталлятор к виду, как на картинке. То есть максимально уменьшить его и убрать виндосовский шелл с кнопками сверху.
http://itmages.ru/view.php?action=vi...009&key=fa3c34 |
p3rf3ct1c, напиши перед этой строкой
Код:
end; |
velma911, Пробовал, все та же ошибка.
|
p3rf3ct1c, procedure InitializeWizard должна выглядеть вот так:
|
BlackSelf, Спасибо, а вы можете подсказать если знаете, как сделать прозрачность
вот тут где отмечено красным - |
p3rf3ct1c, у меня в инсталлах эта инфа на лэйблах весит. Предлагаю вам сделать тоже самое.
|
BlackSelf, извините, что-то я не понял, как и что сделать, можно пожалуйста по подробнее?
|
Цитата:
|
Serega, В общем такой непонятный вопрос. Дал я скрипт другу, который делал, помнишь, коммент 623. В общем всё нормально, он перепаковал две игры, Most Wanted и Stalker'a. Всё указал как надо, собственно указывал я. А делал сборку он, т.к. у него комп помощнее. Но прикол в том, что когда установлена одна игра, а после неё, следом устанавливается другая, то путь в папку установки становится от первой. Допустим, устанавливаем Most Wanted первой:
Код:
... Код:
C:\Program Files\Need for Speed Most Wanted Код:
... Код:
C:\Program Files\Need for Speed Most Wanted Код:
C:\Program Files\S.T.A.L.K.E.R. Код:
; Script generated by the Inno Setup Script Wizard. |
Drongo,
Цитата:
|
Habetdin, Отлично! :up: Я ж не знал где собака зарыта. :gigi: К тому же английский понимаю с переводчиком, пытался найти сообщение из ПМ где Serega пояснял мне этот момент, но за кучей сообщений разве что-то найдёшь? :) Спасибо! :hi:
|
Drongo,
|
localhost,
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
Цитата:
Ладно, вы бы не могли объединить скрипты ниже? Пробывал это делать с помощью специальной утилиты от Bulat_Ziganshin, но тогда скрипт постоянно ошибку выдает. Слайд-шоу в окне инсталляции Скрипт для вывода данных о винтах Описания компонентов Запрет установки в папку Windows Поиск нужных файлов |
|
Цитата:
Цитата:
Код:
ExtractTemporaryFile('Image_'+inttostr(bmp[1])+'.bmp'); |
Цитата:
bmp:=get_unique_random_number(N); на bmp:=get_unique_random_number(_n); |
Serega, теперь работает, спасибо.
|
Я уже задавал этот вопрос, вот код распаковки freearc архивов дак вот нада что бы сначала выполнялся код, а потом устанавливались программы из секции run и создавались ярлыки. Как это реализовать?
|
2serg aka lain
Супер. Работает, как часы. Но это свойство распространяется только на одно окно, остальные остаются неизменными. Кто умеет, соедините мой скрипт и нижеприведенный. |
Цитата:
|
localhost,
Цитата:
Код:
var |
А вот еще есть такой вопрос. Например есть картинка размером 500х500пх и ее надо впихнуть в верхний хедер инсталлятора. Нашел код, который позволяет это сделать. Как указать размеры для компилятора, чтобы картинка показывалась нормально, а не сжато.
|
localhost, покажите скрин.
|
Цитата:
Как вариант подогнать нужные размеры в каком-нибудь графическом редакторе типа Photoshop, ну или в крайнем случае, в мега редакторе от Майкрософт (Paint) |
Цитата:
|
Цитата:
Хотя, вот пример того, что получится если картику делать 500х500 Код:
[Setup] |
Добрый вечер!
Нужно выполнить при деинсталляции такой код: Код:
[UninstallRun] При регистрации библиотеки при установке ошибки не возникает. Как правильно в таком случае указать путь? ----- разобрался, вместо %ProgramFiles%\VSO\Image Resizer\ ввёл {app} |
Цитата:
Код:
Source: VSO\Image Resizer\RSZShell.dll; DestDir: {app}\VSO\Image Resizer; Flags: regserver |
Привет всем, как сделать что бы программа из секции run запускалась и устанавливалась в режиме совместимости с winxp sp3, а то на win7 она не хочет ставится. Как это реализовать?
|
Нужна помощь.
Что нужно прописать в скрипте для создания ярлыка для ***.exe файла,но задать иконку для него из файла ***.ico? [Icons] Name: {commondesktop}\Ghost; Filename: {app}\ghost_w32.exe; WorkingDir: {app};Tasks: DesktopIcon |
Sserss
Name: {commondesktop}\Ghost; Filename: {app}\ghost_w32.exe; WorkingDir: {app}; IconFilename: "{app}\icon.ico"; IconIndex: "0"; Tasks: DesktopIcon з.ы. IconIndex не обязательный параметр, по умолчанию IconIndex: "0"; |
serg aka lain, Спасибо,работает !
|
Всем привет,
Заше в тупик вот по какому вопросу: 1. Есть сетап который ставит несколько компонент, каждая компонента, это набор файлов ~50 2. При повторном запуске сетапа надо проверять какие компоненыт стоят и их отмечать (это не проблема, реализовал) 3. При финише сетапа надо смотреть какие коспоненты были анчекнуты и деинсталировать их а заодно все связанные с ними, как это реализовать не нашел, кроме как написать руками функцию которая ьудет смотреть чекнута ли компонента и удалять все ее файлы, но при этом я так понимаю unins*.dat который создался при первом инстале не будет обновляться, я не ошибаюсь? 4. Нашел UninsHs но он дает только дополнительный диалог Modify/Repair/Remove, а всю функциональность все равно надо самому прописывать. Есть ли какое-то "красивое" решение в стиле MSI сетапов, которые по выбранным в данном сетапе компонентам производит установку/удаление компонент. Всем заранее спасибо |
Цитата:
Остаётся только это. Цитата:
Насчёт unins000.dat,При повторном запуске программа установки сообщает, что отмена выбора компонентов не удалит их. При следующем запуске отмеченными будут компоненты, выбранные при предыдущей установке. Так что, думаю использовать свою функцию, которая проверяет отмеченные компоненты, будет неплохим решением. |
Как правильно импортировать в реестр через InnoSetup ключ с именем, заключённым в {xxxx}?
Если просто ввести {хххх} - выдаёт ошибку. Если {{xxxx} - ошибки нет, но в реестр заносится уже не {xxxx}, a xxxx, без скобок. Код:
Root: HKLM; SubKey: SOFTWARE\Licenses; ValueType: binary; ValueName: {{FFFFFF}; ValueData: ff ff ff ff ff ff ff; Flags: uninsdeletevalue uninsdeletekeyifempty |
murder
Код:
Root: HKLM; SubKey: SOFTWARE\Licenses; ValueType: binary; ValueName: {{FFFFFF}; ValueData: ff ff ff ff ff ff ff; Flags: uninsdeletevalue uninsdeletekeyifempty |
Serega, подскажите пожалуйста!
Здесь Вы привели пример шифрование инсталлятора. Но при попытке скомпилировать, просит IScrypt.dll. Где её можно взять? Дайте пожалуйста ссылку. |
|
Serega, Большое Вам спасибо!
И ещё вопрос. Она должна лежать в папке Инно? Вопрос снят. Закинул в папку Инно, вс работает. Спасибо. |
|
Прошу помощи у меня возникла проблема, в скрипте не работает бекап файлов:
в папку Backup файлы копируются, а при деинсталляции подмененные файлы просто удаляются, из бекапа не восстанавливаются. Вот мой скрипт, даю его с небольшими сокращениями и жду помощи. |
Rosich, внимательнее посмотрите на вашу процедуру CurUninstallStepChanged1. Прежде всего, MoveDir - не является стандартной функцией Inno и в вашем скрипте я её тоже не вижу и второе, если я правильно понял, MoveDir(ExpandConstant('{app}\Game\Bin\Backup\'), ExpandConstant('{app}\Game\Bin\Backup')), то вы пытаетесь переместить файлы из папки Backup в неё же.
|
Serega
Спасибо большое, за то, что ткнул меня носом в мою ошибку, все работает. Еще одна просьба как сделать так чтобы бекап файлов был автоматический, если выбран компонент и чтобы не было этого окна? P. S. Сразу оговорюсь если вырезать из кода скрипта строку: begin if IsTaskSelected('src') then - ничего не будет работать, при установке бекап файлов идет, а при деинсталляции файлы на место не возвращаются, папка Backup не удаляется. То есть, как я понял строки: begin MoveDir(ExpandConstant('{app}\Game\Bin\Backup\'), ExpandConstant('{app}\Game\Bin')); RemoveDir(ExpandConstant('{app}\Game\Bin\Backup\')); - не работают. |
Вопрос к знатокам:
Как сделать новую страницу с двумя радиобаттонами "Быстрая установка" и "Выборочная установка", чтобы при выбранной быстрой установку кнопка далее вела сразу на страницу wpReady а выборочная - далее, ничего не меняя? В-принципе, страницу с радиобаттонами я сделал, и функцию возвращения 0 или 1 в зависимости от выбора тоже, а вот сделать переходы не судьба) хэлп) |
Цитата:
Цитата:
Цитата:
Код:
DelTree(ExpandConstant('{app}\Game\Bin\Backup\'), True, True, True); |
Цитата:
Код:
[Setup] |
Цитата:
|
serg aka lain и Serega
Грасиас! Соединил ваши два скрипта, дописал строчку - работает безупречно! Спасибо! |
помогите плиз!
как в inno удалить сохраненки на Vista? точнее нужен "C:\Users\USER NAME\AppData\Roaming\The Creative Assembly\Empire\save_games" [code] procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var ResultStr:string; begin case CurUninstallStep of usPostUninstall: begin if MsgBox('Óäàëèòü âñå ñîõðàíåíÿ?', mbInformation, MB_YESNO) = idYes then if not DelTree(ExpandConstant('{userdocs}')+'\_____\', True, True, True) then MsgBox('Íå óäàëîñü âûïîëíèòü óäàëåíèå' #13#13 'Îáúåêò çàäåéñòâîâàí èëè íå ñóùåñòâóåò', mbError, MB_OK); end; end; end; вместо "userdocs" "Common AppData"? |
Цитата:
Цитата:
|
SuperDan,
Можно и так ещё поступить Код:
DelTree(ExpandConstant('{%userprofile}\AppData\Roaming\The Creative Assembly\Empire\save_games'), True, True, True); |
SuperDan, ну вообще-то C:\Users\USER NAME\AppData\Roaming - это {userappdata}.
|
Вопрос снова пальцем в небо, хочу но не знаю, кто может - подскажите пожалуйста:
Как в инсталлятор прикрутить на станицу, где галоячками отмечаем, какие создавать ярлыки, и прочее - в [Tasks] в общем, ещё один комбо бокс - мол добавить в автозагрузку, ли не добавить, и кабы это было для текущего и для всех пользователей - вапще шикарно будет! Как то так... :help: |
|
Помогите со скриптом.
После завершения установки основной программы нужно по выбору пользователя - устанавливать или нет еще две программы WindowsMedia9Encoder и AdobeReader 9. Как скрипт будет выглядеть? |
|
Serega,
Спасибо то что нужно!!! :yes: |
Мне в PM задали вопрос, решил написать его здесь, т.к. другим может быть интересен ответ на этот вопрос...
Цитата:
|
Serega, спасибо за пример.
Только, зачем создавать процедуру Run, если всё прекрасно работает через процедуру CurStepChanged? Примерно так: |
Цитата:
Цитата:
|
Здравствуйте.У меня к вам просьба вот в этот скрипт 1.добавить freearc.(чтобы архивы были рядом с setup.exe)2.и еще добавит фоновую музыку (.mp3) 3. чтобы у музыки была кнопка play\pause. (ps я нуб в inno setup)скрипт
|
Подскажите, пожалуйста, какой Flags применить для отмены регистрации DLL при деинсталяции (или достаточно указать Flags: regserver).
Спасибо. |
Цитата:
Цитата:
|
Как определить факт установленного .NET Framework 1 ?
|
mityafm, подойдет?
|
|
Привет. Только что опять друг попросил слегка переделать тот скрипт. Два нюанса:
1. Добавить строку, чтобы инсталятор проверял систему Windows 7, тоесть работал 2. При любом раскладе, если любой параметр, видеокарта, процессор, система, звуковая, озу. не соответствует минимальному значению, всё равно чтобы кнопка далее была активна. С первым пунктом мне кажется можно так, но я не уверен: А вот со вторым пунктом, чтобы сделать активную кнопку при любом раскладе, не знаю где... Возможно здесь |
Исходный скрипт. Не получилось в один коммент записать, т.к. ограничение в 30000 символов, общий коммент превышает.
|
Цитата:
Цитата:
P.S. Забываем про знаки ';' в конце строк... ;) |
Ребята, у меня такой вопрос: я подставляю картинку в левый нижний угол, но можно ли как нибудь сделать, чтобы она отображалась на всех страницах, кроме страницы распаковки??? (использую слайд-шоу, и картинка выглядывает из-под прогресс-бара). И как вручную указать требуемое свободное место на диске здесь (своё число mb указать)
|
Спасибо Serega, уже потихоньку соображаю самостоятельно. :teeth:
Цитата:
|
Подскажите пожалуйста как такой инсталл сделать, чтоб было такое оформление, и были функции удалений сохраненй и игр?
Сделано классно, я вытаскивал код, скомпилировал, а картинка сужается. Сделать отдельно такую тему отдельно. |
Подскажите пожалуйста, как в inno setup реализовать следующее:
1. В программе удаления сделать список дополнительных задач (как [tasks] в программе установки; нужно для удаления определённого каталога со все его содержимым) . Показ стандартного (системного) диалога с запросом меня не очень устраивает, т.к. я делаю многоязычный инсталлятор, а в секции [code] {cm:*} не работает... 2. На черточке внизу диалогового окна написать текст (копирайт). 3. Во всех диалоговых окнах инсталлятора и деинсталлятора (кроме заголовка окна) сделать отображаение AppVerName вместо AppName. Прошу прощение, если это уже обсуждалось... у меня дорогой интернет-трафик и поэтому я не имею возможности просматривать всё подряд... Заранее благодарен. |
Цитата:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] значение ProductName следующее Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] Код:
... |
Цитата:
procedure CurPageChanged(CurPageID: Integer); begin показать картинку. (нужный код) if CurPageID = wpInstalling then begin не показывать картинку. (нужный код) end; end; Цитата:
ExtraDiskSpaceRequired=45678901234 ; (1048576 bytes = 1 megabyte) |
Цитата:
|
Подскажите, пожалуйста, как сделать так чтобы перед началом повторной установки программы сначала запускался деинсталлятор в тихом режиме, а затем уже шел сам процесс установки. Пробовал сделать все это через секцию [InstallDelete], но первое, что неудобно постоянно выскакивает предупреждение, что такие-то компоненты будут удалены, а их у меня – экрана не хватит. Пробовал и без секции [InstallDelete], эффект почти тот же самый, только с разницей, что компоненты не будут удалены.
И самое главное, мой инсталлятор делает бекап файлов и к моменту повторного запуска инсталлятора эти файлы должны быть на своих местах, такое через секцию [InstallDelete] никакими средствами не добиться. Голову сломал, а как сделать - не знаю! Вот мой код. P.S. Хотел дать весь код в топике, но при отправке сообщения, ругается, что много символов, пришлось сократить до секции [Code], а затем и полностью на ифолдер перенести. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
вот мой скрипт...
|
Цитата:
|
|
Serega, ВЫ как всегда на высоте, то, что доктор прописал, лучше и не придумаешь, спасибо большое!!!
|
Цитата:
Цитата:
Цитата:
|
Мне на ру-боарде подкинули скрипт
Но он, почему то не работает, как должен работать, может, кто посмотрит. Этот скрипт в идеале должен запускать "тихий деинсталлятор", но не сразу при запуске инсталлятора, а после странице выбора компонентов. У меня вопрос к Serega – можно ли сделать такое в твоем скрипте? И еще очень актуальный вопрос, а точнее три вопроса: 1.). Как убрать вот это табличку: , а то у меня компонентов туча, экрана не хватает. 2.). Как правильно срастить вот этот скрипт с моим скриптом. 3.). Мне на том же форуме, в моем скрипте, изменили процедуру CurPageChanged И теперь кнопка "назад" становиться неактивной на странице выбора компонентов. Вопрос - как мне сделать чтобы кнопка "назад" была неактивна именно вот на этой странице: , то есть на следующей после выбора компонентов?! P.S. Забыл сразу написать: у меня для этой игры есть два официальных патча, но установить их можно, только если в игре стоят оригинальные файлы, с которых я делаю бекап. То есть реально установка этих патчей должна начаться сразу после "тихой деинсталляции" до установки основных файлов и только по одному - сначала файл myprogram v. 1.1, после завершения установки этого файла, идет установка файла myprogram v. 1.2 и только после того как установится второй файл должна начаться установка основных файлов. КАК это сделать?! Заранее СПАСИБО!!! |
Цитата:
Цитата:
Цитата:
Код:
procedure ComponentOnClick(Sender: TObject); 2. Добавляете эту строку: Код:
WizardForm.ComponentsList.OnClick := @ComponentOnClick; Цитата:
|
Привет! У меня есть скрипт авторана на Inno Setup Script.
В нём есть кнопка: Код:
btn2:= TButton.Create(AutoRun); Код:
procedure btn2Click(Sender: TObject); P.S. Я знаю что это делается процедурой: Код:
begin |
Serega
Спасибо, конечно, но сделал все по вашим подсказкам и вставил процедуру CurPageChanged. В итоге скрипт компилируется и работает, но последняя страница, получается урезанная: . Проверил все что мог, по размерам нигде отклонений нет, но все-таки страница завершения получается урезанная, а так все работает идеально. Прошу помощи еще на один мой вопрос: У меня для этой игры есть два официальных патча, но установить их можно, только если в игре стоят оригинальные файлы, с которых я делаю бекап. То есть реально установка этих патчей должна начаться сразу после "тихой деинсталляции" до установки основных файлов и только по одному - сначала файл myprogram v. 1.1, после завершения установки этого файла, идет установка файла myprogram v. 1.2 и только после того как установится второй файл должна начаться установка основных файлов. КАК это сделать?! |
Цитата:
Код:
if not FileExists(ExpandConstant('{src}\Setup.exe')) then Цитата:
|
Извиняюсь сразу чего-то проглядел...
Цитата:
2. Происходит деинсталляция... чего? Программы? 3. Я так понимаю - востановление оригинальных файлов? 4. Установка двух патчей; 5. Ваша установка программы. Я правильно понял? |
На соседнем форуме есть интересная программка, называется она InnoSetup Script Joiner, сделана он одним из постояльцев того форума. Смысл ее работы в том, что она сшивает скрипты, объединяя несколько в один. Работать с ней просто: скрипты, которые хотите объединить делите по файлам с расширением *.iss (только секцию [code]) клик правой кнопкой мыши и скрипт – готов. Не так красиво, как это сделает человек, но работает.
|
Цитата:
При первой установки инсталлятора после выбора компонентов, если пользователь выбрал установку патчей: 1. Запуск программы установки. 2. После страницы выбора компонентов, устанавливаются патчи, по одному: 2.1 Первый патчь, от начала установки до полного ее завершения. 2.2 Второй патчь, от начала установки до полного ее завершения. 3. Бекап файлов. 4. Установка остальных компонентов программы. При повторном запуске инсталлятора, если пользователь сразу не выбрал установку патчей: 1. Запуск программы установки. 2. После страницы выбора компонентов, идет "тихая деинсталляция". 3. Устанавливаются патчи, по одному: 3.1 Первый патчь, от начала установки до полного ее завершения. 3.3 Второй патчь, от начала установки до полного ее завершения. 4. Бекап файлов. 5. Установка остальных компонентов программы. |
Serega, Спасибо!
Я уже написал процедуру: Код:
If (FileSearch('setup.exe', ExpandConstant('{src}'))='') Я сегодня только первий день знакомлюсь с Inno Setup Script |
Цитата:
P.S. Сейчас проверил на запуск программы, до этого программу не запускал – тестировал на бекап файлов, запуск программы – пропал, программа не запускается со страницы завершения. Подозреваю, запуск DirectX тоже пропал, проверить не могу, он у меня уже установлен, только если попробовать подсунуть старую версию?! SOS Попробуйте, посмотрите, пожалуйста, весь скрипт, и еще прикладываю второй вариант – в нем все работает, но есть абсолютный путь, а это не есть "ХУ". Посмотрите, пожалуйста, может, что и получится. |
Цитата:
Код:
PageID:= CurPageID; |
Цитата:
|
Вложений: 1
Rosich, немного подредактировал ваш скрипт, он стал на 250 строк меньше...
Проверьте на работоспособность. |
Цитата:
|
Цитата:
|
Цитата:
|
Rosich, запишите так: SetBounds (40, 102, 121, 25);
И так со всеми командами SetBounds. |
Лучше подождите спеца - Serega - пропишет что нужно, в прямом смысле этого слова. ;)
|
Цитата:
У меня еще одна проблема наклюнулась: сегодня я экстренно прервал установку программы и она вылетела. Получается так, что во время бекапа файлы перемещаются в папку "Backup", а если прервать установку – то файлы-клоны, если и успели скопироваться, просто удаляются и все!!! Папка "Backup", вместе с файлами, осталась на месте, а файлы-дубли удалились. Подскажите, пожалуйста, как этого избежать или хотя бы на время установки файлов кнопку "отмена" сделать неактивной. Идеальный вариант: нажимаешь кнопку "отмена" файлы из папки "Backup" восстанавливаются на свои места. Цитата:
|
Цитата:
BlackSelf всё правильно сказал: Цитата:
Цитата:
Цитата:
|
Вложений: 1
Rosich, попробуйте:
|
Цитата:
Суть проблемы такова: скрипт, который брался изначально, не предусматривал "обратный бекап", то есть он копирует определенные файлы в указанную папку и при деинсталляции из этой папки возвращает файлы назад. Отката как такового в этом скрипте не предусмотрено. Если во время копирования нажать кнопку "отмена", примерно как это сделал я, то оригиналы файлов остаются в папке бекапа, а файлы-клоны просто удаляются и так как процесс установки незавершен - деинсталлятора нет, соответственно: файлы-оригиналы назад не возвращаются! Как этого избежать я не знаю, самый легкий путь - запретить пользователю отменять установку программы, или просто кнопку "отмена" сделать неактивной. Но хотелось бы не так топорно, а поизящней. |
Цитата:
|
Serega
Спасибо за процедуру CurPageChanged. А можно сделать откат файлов, чтобы при нажатии на кнопку "отмена" файлы-оригиналы возвращались на свои места? P.S. Проверил скрипт без процедуры и с процедурой, есть такая вот ошибка нет фонового изображения, и только на одной странице, сама процедура работает идеально. Но в коде, который я брал за основу своего скрипта, есть скрытая ошибка: при проверке аппаратных средств, если параметры компьютера не соответствуют выставленным параметрам в скрипте, то инсталлятор не запускается и выдает ошибку. Об этом я узнал совсем недавно, но может эта ошибка кода не перешла в Ваш скрипт, надо проверить! Проверил, к сожалению, эта ошибка перекочевала и в Ваш код: |
Цитата:
Код:
function DelSp(s: string): string; |
Цитата:
Хотя я и сам не обратил на это внимание... пишу так сказать на память, без проверки... В procedure InitializeWizard переместите строку CheckSystemPage(wpLicense); в самый конец procedure InitializeWizard прямо перед end; |
Цитата:
|
Цитата:
|
Цитата:
|
Вложений: 1
Rosich, прикрепил к сообщению исправленный скрипт.
|
Цитата:
|
Rosich, вроде всё исправил, сам скрипт прикрепил к предыдущему сообщению.
|
Цитата:
|
Цитата:
|
Цитата:
P.S. Serega, а у Вас какой Inno Setup стоит, случаем не юникодовская бетка, у меня: ISPack 5.3.2 beta с катайскима дополнениями (Inno Setup ISCmplr 5.2.3 build 090424 и Inno Setup Compiler 5.2.3 build 090506 English). Может быть из-за этого у меня не идет скрипт? |
Вложений: 1
Цитата:
Цитата:
Попробуйте этот скрипт. |
|
Rosich, забыл удалить лишние begin и end, т.е. должно быть так:
Цитата:
- Переименуйте BackupDir, допустим на BackDir или как вам больше нравится, только не забудьте изменить все BackupDir на новое имя в procedure RecoveryBackup; |
Serega, Вы кудесник, все заработало!
Еще раз - СПАСИБО!!! |
Вложений: 1
Всем привет.
Такое дело... хотел сделать "инсталлер" с музыкой (mp3) и галочку отключения. нашел пример с трекерной музыкой, попытался переделать скрипт, вылетает ошибка "Type mismatch." в архиве этот скрипт и оригинал |
Вложений: 1
Mihail88, вот скрипт для проигрывания mp3-музыки.
|
BlackSelf, спасибо, попробую переделать с TCheckBox'ом
все вроде сдела но не работает, тажа ошибка |
Привет всем. Я новенький в этом деле и подскажите пожалуйста:
1. Как сделать во время установки, чтобы во весь экран было слайд шоу и как изменить время пролистывания картинок 2. Читал, читал так и не понял как можно изменить скин установки 3. Как прикрепить проверку информации о системе и сравнивить её с сист. требованиями игры и чтобы потом пользователь хоть и не подходит система смог продолжить установку И для каждого лучше код именно этой функции, а не всего листа А еще если можно и не составить труда вставте в этот скрипт с пояснениями, а то до меня долго доходит))) |
Вложений: 1
STR1KEE, насчет скинов, может эти...
|
Добрый вечер всем.
Есть папка A и папка Б, в папке А лежит файл 1.txt, его нужно перенести в папку Б c именем 2.txt (после копирования файлов) Как это реализовать в Inno Setup ? |
Цитата:
[Files] Source: папка а\1.txt; DestDir: {app}\папка б; DestName: 2.txt; Flags: ignoreversion Поясняю: в DestName: – задается новое название файла, в нашем случае - 2.txt. |
Цитата:
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
Rosich, В вашем примере файл копируется в папку еще на этапе компиляции, а мне нужно было после установки. В этом случае код Serega, более правильный.
P.S. и новая задачка )) Есть {app}, в ней есть папка A, нужно после установки скопировать содержимое в папку B (должно получится {app}В) |
Цитата:
|
Здравствуйте, кто может сделать: чтобы архив freearc распаковал Precomp а патом распаковал эти архивы .
|
Цитата:
Нет, чтоб, вот у меня рабочий код (не скрипт, скрипты есть в интернете и много ума не надо, чтоб скопировать) распаковки FreeArc'a и код распаковки Precomp'a, а как сделать распаковку сначала одного, а затем другого. Либо, вот распаковываю так, а здесь вылетает ошибка... Вы сделайте, хоть что-нибудь сами, т.е. своими руками, а в моментах, где не будет получаться, вам обязательно помогут и подскажут. |
Цитата:
Скрипт http://webfile.ru/3827892 Вверху ссобщение с dll и mp3 файлом. |
Mihail88, пробуйте:
|
BlackSelf, спасибо работает
|
Приветствую! Возможно ли как-то сделать тихий инстал из инсталлятора, который после установки не закрывая себя, сразу запускает установленную прогу. В результате чего всякие тасккиллы не катят, так как команда на запуск инсталлятора еще не отработала.
Или придется в скрипт лезть? |
А мне помоч можете, пожалуйста очень надо...сообщение было на 123 стр. в конце
|
Цитата:
Цитата:
Так же можно применить Avtoit или тоже самое реализовать на Inno, т.е. нажатие на кнопки и галочки. |
YikxX, можно sfx инсталятор сделать, но он завершит свою работу после установки
;!@Install@!UTF-8! GUIFlags="2+512" RunProgram="Convert.exe" GUIMode="2" InstallPath="C:\\" OverwriteMode="0" ;!@InstallEnd@! |
Вложений: 1
Serega, я пытаюсь перепаковать, убрав секцию [Run] - не компилируется, ошибку выдает. :(
Сам скрипт |
Цитата:
Код:
[Setup] Цитата:
YikxX, рекомендую вытаскивать скрипт, с помощью InnoUnpaker 2.6b3 [от valeron87], ссылка в шапке темы, но даже распаковав и сохранив скрипт, нет гарантии (50х50), что полученный после компиляции инсталлятор будет делать всё также как родной, т.к. секцию [Code] вытащить из скрипта невозможно. Здесь поможет RegShot, т.е. снимок до установки и после, затем добавляя данные в распакованный скрипт... Цитата:
|
Всем спасибо, разобрался сам. :)
Цитата:
|
STR1KEE Если ты про те скины... Оказывается эти скрипты не полностью понимает версия 5.3 beta.
немного поправил http://webfile.ru/3828298 |
А еще такая ситуация.. Идет полоса установки..можно сделать чтобы показывались проценты установки и еще чтобы слайды менялись в зависимости от процента установки
|
YikxX, а почему у вас в скрипте смесь русских и английских фраз ?
по скрину видно что он не может найти русские фразы в English.isl Используйте только тот язык который указан в секции Languages. |
YikxX
Надо бы опубликовать решение для остальных. Как вы считаете? |
Скажите кто здесь хорошо разбирается в inno, в скриптах, диалогах, рисунках и т.д?
|
Цитата zl0ybot: кто может сделать: чтобы архив freearc распаковал Precomp а патом распаковал эти архивы . » zl0ybot, здравствуйте, сказать честно, звучит как, сделайте за меня скрипт, который я бы хотел в последствии использовать... Нет, чтоб, вот у меня рабочий код (не скрипт, скрипты есть в интернете и много ума не надо, чтоб скопировать) распаковки FreeArc'a и код распаковки Precomp'a, а как сделать распаковку сначала одного, а затем другого. Либо, вот распаковываю так, а здесь вылетает ошибка... Вы сделайте, хоть что-нибудь сами, т.е. своими руками, а в моментах, где не будет получаться, вам обязательно помогут и подскажут. ну ты же ГУру |
А подскажите как поставить не по секундную смену слайдов, а процентную?
И еще, когда слайды делаешь там сначала синий фон появляется, а через секунду, две, картинка, а можно этот фон изменить на другой цвет например черный |
mitek_gsm, это не мой скрипт.
Цитата:
|
Вложений: 1
Ребята, у меня такой вопрос: как сделать, чтобы проценты устаноки показывались пропорционально сегментам (там вроде ~ 100 сегментов, чтоб каждый соответствовал 1 проценту) ?? У меня есть скрипт (прикрепил), но там проценты установки меняются по извлечении файлов (неактуально, когда несколько больших файлов). И вот скрин Я хочу перенести проценты из 1 в 2 (как это зделать, я знаю), но чтоб это не выглядело как на 3, т.е. строка статуса закрывает их, а мне нужно, чтоб проценты были поверх... Ну как-то так.. надеюсь вопрос понятен :) :grin:
|
Цитата:
Цитата:
Цитата:
Выход, только переписывать всё вручную, но поверьте, игра не стоит свеч, т.е писать много... Цитата:
Код:
ProgressLabel.Top:= ScaleY(107) |
Как называется элемент чекбокс "Не создавать папку в меню «Пуск»"?
Пересмотрел скрипты, ни где четко не прописано, хитрые комбинации. Если ограничен доступ то ладно, много текста в скрипте не обязательно. пример c кнопкой "отмена" в идеале: procedure InitializeWizard(); begin WizardForm.CancelButton.Left:=ScaleY(10); WizardForm.CancelButton.Top:=ScaleY(327); end; |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Помогите с ошибкой ничего не могу понять ,
пишет ошибку типа неверна комадная строка |
Цитата:
|
Цитата:
Замените '\' на '/', т.е. Код:
[Run] |
serg aka lain, Serega, благодарю.
То что нужно, если не секрет как вы их узнаёте? Всмысле используемые элементы инсталлятора. |
Serega ты не как я и ни как другие ты мега гуру Inno setup...... (может сделаешь?)
|
Serega, блин всё получилось спасибо тебе, но теперь одна ошибка осталось в аську выйди, вопросы бы задавал по inno
|
Цитата:
или вот готовый |
serega вот на ру.бораде нашёл
|
Вложений: 1
и еще Serega не мог бы вот это доделать? вотЪ
|
serg aka lain не устаю благодарить :)
Тоже пользуюсь ResHacker'om ещё Res.Tuner не плох. В общем буду разбератся. |
Вложений: 1
zl0ybot, повторюсь: я такой же пользователь как и вы, просто умею пользоваться литературой...
Если вы будете продолжать в таком направлении, я начну вас игнорировать... Цитата:
Что конкретно вам в нём не понятно? Цитата:
Допустим пишем в коде WizardForm, ставим точку и через секунду появляется список с возможными вариантами для WizardForm. Прикрепил к сообщению скриншот, как это всё выглядит... |
|
Serega что бы она работала я как понял ты сделал его для показа а надо что бы работали функции устоновить/удалить
после установки работала кнопка играть и т.д. И еще вот скрипт можно ли отсюда вынуть весь мусор только что бы осталось распаковка freearc'а и progressbar (оба) |
Доброго времени суток. Вопрос такой ...
Есть некий инсталятор, его единственная задача дополнить unins000.dat списком новых файлов, что бы они удалились деинстилятором. Как мне сделать сторонный модуль (скрипт) что бы в нём указать файлы для секции Код:
[UninstallDelete] |
Помогите плиз с кодом. Нужно сделать некоторые вещи, но не знаю как.
1)Как заставить инсталяшку не оставлять след в установке-удалении программ 2)Встал вопрос с правами. При обновлении файла сбрасываются права на файл. Как их можно сохранить? 3) Ну и самое интересное. Нужно перед инсталляцией (обновлением) сделать бэкап файлов с сохранением прав на эти файлы. Код:
[Setup] |
Всем привет!
Установил "Inno Setup 5.2.3 RU". Программа запустилось Анг. Как русс сделать? Спасибо! |
Цитата:
Возможные значения : yes or no Значение по умолчанию : yes Описание: При значении no инсталлятор не будет создавать пункта программы в диалоге Установка и удаление программ. Это может быть полезно, если программа является обновлением для уже установленного приложения и запись в этом диалоге не нужна, но надо сохранить возможность удаления обновления (Uninstallable=no). Также при значении no UpdateUninstallLogAppName равно no. Цитата:
Если язык инсталятора - то залазим в папку с установленной программой C:\Program Files\Inno Setup 5\Languages\.. находим файл Russian.isl переименовываем в Default.isl и копируем его в C:\Program Files\Inno Setup 5\ |
FlatX007
Спасибо! Вопрос: Как создать в C:\Documents and Settings\All Users\Главное меню\Программы. Добавит Удалить игру+ReadME+Настройки игры.? С какой прогой Inno Setup (Компилятор) или ISTool и как? Два дня голову ломаю, :( Надеюсь тут мне ответят. |
Elka80
[Icons] Name: {group}\Удалить Игру; Filename: {uninstallexe}; WorkingDir: {app} Name: {group}\Запустить Игру; Filename: {app}\Игра.exe; WorkingDir: {app} Name: {group}\Readme; Filename: {app}\ReadmeFile.txt; WorkingDir: {app} "{app}\Игра.exe" в зависимости где в папке с игрой находится пускавой exe файл или текстовой readme. у unreal tournament например в подкаталоге System пускавик "{app}\System\ut.exe" ____________________=) To All Добавил TRichEditViewer на первую страницу, как подгрузить ему файл RTF? Хотел "InfoBefore.rtf" ему прописать, но низнаю как его в "стринги надели" :D. горе код: [Files] Source: "Info.rtf"; DestDir: {tmp}; Flags: dontcopy noencryption [code] var InfoMemo: TRichEditViewer; procedure InitializeWizard(); var RTFString: String; begin InfoMemo:= TRichEditViewer.Create(WizardForm); with InfoMemo do begin Parent:= WizardForm.WelcomePage; Left:= 175; Top:= 10; Width:= ScaleX(312); Height:= ScaleY(293); ReadOnly:= True ScrollBars:= ssVertical TabOrder:= 4 WantReturns:= False UseRichEdit:= False end; end; begin ExtractTemporaryFile('Info.rtf') LoadStringFromFile(ExpandConstant('{tmp}\Info.rtf'), RTFString) WizardForm.WelcomePage.InfoMemo.RTFText := RTFString; end; |
Mihail88,
Спасибо! У вас Цитата:
У меня (создал) [Icons] Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName} Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon Почему у меня так? не как у вас! |
Elka80
Могу только предполагать, может {#MyAppName} прописан как запускаемый файл, ищите в коде где он упоменается и на какой файл ровняется. |
Цитата:
|
Еще вопрос у меня все файлы Удалить игру+ReadME+Настройки игры в (D:\games\pes2009)
Name: {group}\setup.exe; Filename: {uninstallexe}; WorkingDir: {app} Удалить Игру Name: {group}\pes2009.exe; Filename: {app}\Игра.exe; WorkingDir: {app} Запустить Игру Name: {group}\ReadMe.txt; Filename: {app}\ReadmeFile.txt; WorkingDir: {app} » Readme Я правильно написал? |
Цитата:
Код:
[Languages] |
Elka80
правильно будет скорее так: Name: "{group}\Удалить PES2009"; Filename: "{uninstallexe}"; Comment: "Удалить игру PES2009"; Name: "{group}\PES2009"; Filename: "{app}\pes2009.exe"; WorkingDir: "{app}"; Comment: "Запуск игры PES2009"; Name: "{group}\ReadMe"; Filename: "{app}\ReadmeFile.txt"; WorkingDir: "{app}"; Comment: "Прочитать файл ReadMe"; |
serg aka lain,
Спасибо щас проверю! |
serg aka lain,
Спасибо еше раз, получилось, толко readmi не показывать (сам редми показывает, толко файл не показывает) Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
{app} - папка установки ReadmeFile.txt - имя файла, запускаемый ярлыком возможно у вас Readme.txt |
Цитата:
|
Цитата:
Цитата:
Цитата:
DirExistsWarning=no - не показывать сообщение о существовании папки; UninstallLogMode=append - стоит по умолчанию, т.е. можно не указывать. В секции [UninstallDelete]: Name: {app}; Type: filesandordirs Цитата:
Uninstallable=no Цитата:
Цитата:
|
Inno Setup 5.3.4
Цитата:
http://files.jrsoftware.org/ispack/i....4-unicode.exe |
Русификатор для Inno Setup 5.3.4
http://vadimsva.ucoz.org/Inno_Setup_5_rus.7z Содержит версии: cтандарт, ISPP (для 2х версий один файл), стандарт unicode, ISPP unicode (для 2х версий один файл, лежит в папке unicode). |
есть ли restools (слева добавляется колонка и текст скрипта более нагляден) для новой версии? а то на их сайте по китайски ничего не понял :)
|
Доброго времени суток. Я опять с вопросами :)
Задача: на странице дополнительных компонентов нужна кнопка "Подхватить конфиг", при нажатии на которую вылезе стандартное окно выбора файла *.cfg, который в последующем будет копироваться в папку с программой под именем config.cfg. Как вариант - сделать чекбокс, при включении которого появляется это самое окно, так думаю даже будет проще. Как еще один вариант, сделать новую страницу, на которой будет та самая кнопка, рядом на лабеле - имя выбранного файла (хотя зачем?), и внизу - выдержки из этого файла. По структуре он в виде: Код:
name "myname" Надеюсь на вашу помощь, я по вашим постам уже молюсь на вас) первый вариант предпочтительней, но второй для общего развития было бы неплохо) |
Скажите, Что я не правильно сделал?
|
Elka80, в вашей Akella Games папке наверно нет файлов
|
Цитата:
Цитата:
Цитата:
|
Serega, спасибо за скрипт, но есть вопросы:
1) Если уже запускал инсталлятор и выбрал галочку "подхватить", то при повторном запуске галочка уже стоит, а поле ввода - неактивно. 2) У меня страница Tasks забита под завязку, делать с прокруткой не катит. Можно ли перенести на другую страницу, которая активировалась бы при отмечании определённой задачи в секции Tasks? 3) Если выбрал конфиг, то путь к нему появляется в Edit'e. Но если убрать галочку "использовать ваш файл настроек" и включить опять, то поле очищается...а лучше бы если оставалось. 4) Я забыл раньше указать, но нужно чтобы инсталятор копировал файл не в корень папки, а в подпапку (в {app}\cstrike). Я изменил строчку Код:
FileCopy(str, ExpandConstant('{app}\config.cfg'), False); Заранее огромное спасибо. |
Цитата:
Код:
CreateDir(ExpandConstant('{app}\cstrike')); |
Цитата:
|
Люди хелп!При компиляции выбивает ошибку вот на етом месте:
BmpFile:= TBitmapImage.Create(WizardForm); BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp')); BmpFile.SetBounds(0, 0, 497, 360); BmpFile.Stretch:= true BmpFile.Parent:= WizardForm.WelcomePage; BmpFile:= TBitmapImage.Create(WizardForm); BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp')); BmpFile.SetBounds(0, 0, 497, 360); BmpFile.Stretch:= true BmpFile.Parent:= WizardForm.LicensePage; BmpFile:= TBitmapImage.Create(WizardForm); BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp')); BmpFile.SetBounds(0, 0, 497, 360); BmpFile.Stretch:= true BmpFile.Parent:= WizardForm.SelectDirPage; BmpFile:= TBitmapImage.Create(WizardForm); BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp')); BmpFile.SetBounds(0, 0, 497, 360); BmpFile.Stretch:= true BmpFile.Parent:= WizardForm.InstallingPage; BmpFile:= TBitmapImage.Create(WizardForm); BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\3.bmp')); BmpFile.SetBounds(0, 0, 497, 360); BmpFile.Stretch:= true BmpFile.Parent:= WizardForm.FinishedPage; BmpFile:= TBitmapImage.Create(WizardForm); Подскажите плз решение. |
Цитата:
Предполагаю, что не при компиляции, а в момент запуска инсталлятора, следовательно, вы пытаетесь загрузить файл, которого нет. В секции [Files] должно быть: Код:
[Files] P.S. Пользуйтесь тегами, а именно при показе скрипта, используйте [mоre][сode][/code][/more] |
Hello all! вы не могли бы довести этот скрипт до ума и вставить freearc (в архиве скрипт, dl, video *.swf) надо бы так сделать :) жду вашего ответа http://rapidshare.com/files/266190726/1.7z.htm или хотя бы были надписи появились
|
zl0ybot, EagleSH делает инсталляторы не в инно, поэтому, кроме как вставить swf, которое перекроет все элементы, кроме кнопок и edit'ов, на wizardform, ничего не получится.
|
Serg aka lain и Serega - большое вам спасибо, опять выручили!
|
Inno Setup Unpacker
0.22 (20.08.2009)
|
Все привет надо бы вот этот скрипт доделать вот не достататки а патом все соединить с этим скриптом через joins script ни как
|
нужна помощь! хочу записать игровой файл но так записать чтобы путь брался из реестра,а вот мой код:
[Setup] AppName=3My Program AppVerName=My Program version 1.4 DefaultDirName={reg:HKLM\SOFTWARE\Wow6432Node\Electronic Arts\SPORE,DataDir|\default_dir_name}\My Program DefaultGroupName=My Program запускаю установку: и вот что происходит там где должен путь игры вот такая фигня: C:\Program Files (x86)\Inno Setup 5\Examples\Output\"f:\Program Files (x86)\Electronic Arts\SPORE\Data\"\My Program сама игра находится f:\Program Files (x86)\Electronic Arts\SPORE\Data\ тоесть путь должен быть только этот а почемуто впереди C:\Program Files (x86)\Inno Setup 5\Examples\Output\ а потом идет путь что я делаю не так помогите |
Цитата:
Код:
DefaultDirName={reg:HKLM\Software\Electronic Arts\SPORE,DataDir|{pf}\My Program} |
нет не вышло по такому пути в реестре записей нет, проблема в том что сначало идет путь а потом в кавычках второй путь вот так
C:\Program Files (x86)\Inno Setup 5\Examples\Output\"f:\Program Files (x86)\Electronic Arts\SPORE\Data\"\My Program в одну строку |
Цитата:
З.Ы. Ну, и я не знаю какой точно ключ содержит путь к папке с игрой, вот и предположил; {reg:HKLM\Software\Electronic Arts\SPORE,DataDir|{pf}\My Program}, если ключа "HKLM\Software\Electronic Arts\SPORE" valuetype: DataDir - нет, то по умолчанию путь будет "{pf}\My Program" |
а по другому как нибуть можно? чтобы инсталяция как нибуть нашла эту папку с игрой
|
Цитата:
|
DataDir
|
evgenik123456,
Сейчас специально создал в реестре ключ Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\SPORE "DataDir=C:\Games\Spore" Код:
; Inno Setup Compiler 5.3.4(u) |
Цитата:
|
Вложений: 1
Цитата:
|
а у тебя работоет? я имею в виду с путём назначения всё в порядке! значит уменя какойто глюк?
|
Цитата:
|
может с ino setup проблемы
|
evgenik123456,
Можно ещё и так Код:
Код:
DefaultDirName={reg:HKLM\Software\Electronic Arts\SPORE,DataDir|{pf}\My Program} |
evgenik123456, чуть-чуть изменил вариант serg aka lain. Попробуйте:
|
BlackSelf,
Так RemoveQuotes(); нужна чтобы кавычки в пути (значении ключа убрать), обычно их в этой ветке не замечал, но в принципе пускай будет Result := RemoveQuotes(InstallDataDir), не помешает. |
serg aka lain, просто мне кажется, что подобная проблема:
C:\Program Files (x86)\Inno Setup 5\Examples\Output\"f:\Program Files (x86)\Electronic Arts\SPORE\Data\" получается из-за того, что путь в реестре заключен в кавычки. |
BlackSelf, возможно, но по умолчанию не видел, чтобы с кавычками было,
как уже и говорил Result := RemoveQuotes(InstallDataDir), не помешает. |
Цитата:
Экспортируйте свой ключ в рег файл и покажите его. Цитата:
Мне попадались такие, но если экспортировать ключ в рег файл, то строковой параметр обязательно будет в кавычках. |
Лимит страниц.
Тема закрыта. продолжаем тут: Inno Setup. Обсуждение установщика Скрипты Inno Setup. Помощь и советы |
Время: 12:24. |
Время: 12:24.
© OSzone.net 2001-