![]() |
Скрипты Inno Setup. Помощь и советы [часть 6]
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: |
Как сделать чтобы взависимоти от распаковки через cmd, двигался прогрессбар и отображались проценты? (сторонние библиотеки не нужны, про isdone (ISExec) я знаю)
|
El Sanchez,
Цитата:
Цитата:
|
vint56, и как еще сделать так,чтобы лого работало и в деинсталляторе
|
Цитата:
Код:
procedure InitializeUninstallProgressForm; |
saurn, лучше дай полностью скипт
|
|
Цитата:
![]() |
Цитата:
|
habib2302, исправил. Архив с примером для инсталятора и деинсталятора прилепил в мой предыдущий пост.
|
saurn, огромное спасибо!!!!!!
|
saurn, Спасибо большое за ответ. Теперь все работает. Не подскажешь, может быть где то можно скачать коллекцию модулей для Inno Setup наподобие Innocallback.dll? Я знаю есть сборка очень хорошая "Inno Ultra", но к сожалению в ней почему то не работают скины... не знаю по какой причине.. хотя в предыдущих версиях помню работало все...
|
Alloc
Это не мне спасибо, а Johny777 Так в Innoultra и так собраны все необходимые библиотеки. Строго говоря, там те же самые материалы и программы, которые можно найти на просторах паутины, только собранные вместе и упакованные в инсталятор для удобства. На счет скинов: я ими не пользуюсь, но думаю вы просто используете не ту версию библиотеки. Оная есть в двух вариантах, для ANSI и UNICODE. Какой у вас компилятор(ANSI/UNICODE) такую же версию библиотеки и надо использовать. |
Цитата:
А как можно сделать? Если найдено одно значение а второй нет, то инсталлятор выдал сообщение и не запустился. Если найден второе а первое нет, тоже выдал сообщение и не запустился. Если найдены оба значения, то тоже выдал сообщение и не запустился. Запускался бы лишь в том случае, когда эти значения были другими. Пробовал добавлять к NetFrameWorkInstalled и MyValueData номера чтоб различались. всё равно не так. Больше идей нет. |
Crazy Noise,
|
я хочу задать несколько вопросов ради интереса и ради пользы.какие есть проверки например как эти not IsWin64, IsWin64 и их описание?
|
habib2302, это не проверки. это встроенные функции. справка, раздел встроенные функции, там все с описаниями.
Цитата:
|
Gnom_aka_Lexander, в какой справке?если ты имеешь виду в русской справке,то там такого раздела нету
|
habib2302, без разницы. русская отличается только своей русскоязычностью и парой факов, не более. смотреть можно в любой и там и там есть описания всех функций. как встроенных так и внешних. Инно задокументирована на 100%
|
Gnom_aka_Lexander, нашел
|
Mailchik, Благодарю!
Только на каждую из SOFTWARE\Adobe\Adobe ARM\1.0\ARM SOFTWARE\Adobe\Acrobat Reader\11.0\Installer\Optimization должно быть своё сообщение. habib2302, |
saurn, Еще раз спасибо Вам за помощь. Вы были правы, причина была в библиотеке ISSkin (не та версия).
Может быть Вы сможете помочь и по следующему вопросу, буду вам очень признателен: Мне нужна переменная из Inno Setup в которую записывается значение (количество памяти на диске) необходимое для данной программы. Оно выводится в DiskSpaceLabel на странице "SelecDirSpace". Есть такое? Заранее спасибо! |
Alloc
Вам нужна функция вычисления объёма диска? Код:
function GetSpaceOnDisk(const Path: String; const InMegabytes: Boolean; var Free, Total: Cardinal): Boolean; Код:
[Setup] |
saurn, спасибо за ответ, но это не совсем то. извиняюсь, может быть не очень понятно объяснил.. мне нужна функция которая отобразит в DiscSpaceLabel точное количество памяти которое программа займет на диске при распаковке... помогите пожалуйста. Есть простой вариант самому прописывать необходимое количество памяти
Код:
#define NeedSize "5059" |
Цитата:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Вот пример. Может пригодится: |
Alloc, saurn, текущее кол-во требуемого места можно выдрать из текста в WizardForm.ComponentsDiskSpaceLabel (да не быть мне извращенцем :) )
при помощи самопальной function GetFloatFormText(const UndefText: String): String; тк инсталл даже без секции файлов по дефолту всегда требует минимум 0.9 мб, то можно смело использовать функцию преобразования строки в Extended ( StrToFloat(...) ) для последующего сравнения свободного и требуемого места без боязни получить исключение конвертации нечисел в числа вот полный пример динамичной(тк во время/в зависимости от выбора компонентов и текущего харда) проверки свободного места: |
|
Johny777, спасибо. Как я понял, по этому самому принципу можно извлечь кол-во необходимого места и из WizardForm.DiskSpaceLabel. Если нет компонентов в инстале.
Так верно? ------------------------------------------------------------------------------------------------ habib2302, |
Спасибо за помощь ребята, это именно то, что я искал
|
доброй ночи всем, подскажите как мне сделать "DirEdit" и "GroupEdit" = Transparent, ну или может есть другой способ
|
audiofeel
Код:
ParentColor := True; |
audiofeel, Текст не виден?
Код:
WizardForm.DirEdit.Font.Color := clRed; |
audiofeel, да, щас проверил, на изображении такой способ не прокатывает. Кстати, вот тут вам уже приводили подобный пример: Пост #1586 не оно?
|
saurn, да спасибо за участие но я его переношу в свой "скрипт" и эффекта нет
|
Вот как вариант
Код:
WizardForm.DirEdit.BorderStyle := bsNone; |
audiofeel, ну этот пример рабочий 100%. Может, что не так делаете? Скрипт можно глянуть?
|
audiofeel, Вместе пробовал использовать?
Код:
WizardForm.DirEdit.ParentColor := True; |
Crazy Noise, нет не выходит, все "белое"
|
audiofeel, не получалось у вас с этим примером потому, что у вас все элементы находятся на WizardForm, просто надо было указать, где показать лейбл, а где спрятать. И DirEdit спрятать совсем. Вообщем скрипты я объединил, там пометил, где что вставил и изменил. По этому же самому принципу можете сделать и для GroupEdit.
|
saurn, скажи те вот а чтобы оное обвести (рамка) придется бевел создавать, или как то по "проще" - и ещё как мне быть с таск лист, он тоже не "красивый" = "делать" чек боксы" или ... - по другому нельзя?
|
audiofeel, можно создать бевел и внутри него разместить лейбл, чтобы получилась обводка. Я бы оставил так, но это дело вкуса. С таск листом наверное можно что-то сделать, но я незнаю как - с оформлением инсталов я на "вы", больше предпочитаю стандартный спартанский интерфейс.
|
saurn, в тегах кода скрипта используй [Code] начальная жирная квадратная скобка и не будет конфликты с тегом и прочих символов перед словом Code.
|
Всем привет. Помогите пожалуйста с кодом. Нужно внести ключ в реестр в зависимости от разрешения экрана, если FullHD и выше то ключ один, если ниже то ключ другой.
|
Цитата:
Код:
[*Code] |
Подскажите пожалуйста как лучше организовать инсталлер:
имеется 3 вида компонентов: компоненты №1 - это компоненты, которые не много занимают места и часто обновляются; компоненты №2 - это компоненты, которые много занимают и редко обновляются; компоненты №3 - это компоненты, которые не сильно много места, но больше чем компоненты №1 и не обновляются вообще, ну т.е. устанавливаются только 1 раз в принципе. Из этого следует, что рационально бы их все устанавливать раздельно, т.е. сделать 3 разных инсталла и обновлять по отдельности, но хочется сделать 1 общий инсталл на всё и в зависимости от того есть ли с инсталлером определённый файл содержащий компонент №1, №2 или №3, предлагало к установке соответствующие компоненты в окне выборов компонентов, т.е. глубо говоря структура была бы такой: Install.exe - сам установщик xxx1.xxx - файл с компонентами №1 xxx2.xxx - файл с компонентами №2 xxx3.xxx - файл с компонентами №3 и чтобы xxx1-3.xxx не были просто архивами, чтобы их отдельно нельзя было распаковать. можно ли реализовать такое? |
habib2302 спасибо за скрипт dead-space-2-fenixx-ot-vasyakrn.7z . Именно єто я искал !!!
|
ABBAT,
Цитата:
пример только через код: или так, если используешь секцию [Registry]: можно и через функцию WinApi GetDeviceCaps(...) пример: ========================================================== saurn, Цитата:
saurn, Цитата:
у того примера 2 минуса 1. использование необязательной в расширенной версии инно библиотеки innocallback.dll для получения адреса процедуры... 2. использование таймера у которого по умолчанию задержка + он стоит в очередях и задержка может усилиться для себя уже сделал другой пример, но ещё не выкладывал принцип такой: прогрессбар является наследником TWinControl или другим словом он окно, а значит для него действует стандартная оконная функция винды (http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx) , как и для всех остальных окон (форма, статик текст и прочие наследники) но в инно мы к ней по дефоту доступа не имеем и поэтому установим ему свою такую же функцию дело в том что окно получает сообщения и поле того как оно пройдёт (если пройдёт, тк мы если можем их получать можем и обнулять и прочее) будет выполнен код для этого сообщения (закрыть окно, свернуть, отрисовать нажатие кнопки...) и прогрессбар каждый раз перед отрисовкой новой позиции получает сообщение PBM_SETPOS и именно в этот момент мы можем обновлять проценты перед тем как сообщение пойдёт дальше пример: ======================================================================= Lex_from_Belarus, Цитата:
вот пример из двух функций (вторая, которая не закомментирована работает быстрее, но в познавательных целях оставил первую (у меня какая-то странная тяга к массивам и первая на их основе :) )) для этого примера положи рядом с экзешником инсталла текстовый файл Install.txt содержащий: The Elder Scrolls V - Skyrim на английском языке на русском языке |
Lex_from_Belarus, а я сделал сложнее (наверное, хотя для меня этот вариант проще). В зависимости от нахождения файла рядом (ну или ещё где - путь задаётся в шапке скрипта) с инсталлятором будет отображаться компонент (ну или не будет). If components exist
Цитата:
|
Johny777, Большое спасибо дружище за примеры (GetDeviceCaps по моему более элегантна)
Ещё вопрос, можно убрать иконку инсталятора с панели задач (не критично просто интересно кто нибудь слышал о током) |
alert30, Можно и проще.
Посто скопировать в редакторе как UBB-код ![]() получется вот так Код:
[Setup] |
Crazy Noise, я говорю о секциях [code], о копировании через UBB уже и так давно знаю (это уже не по теме).
А у Вас секция [code] нету. Лучше Всем расскажу: |
Цитата:
|
alert30, Вижу не часто попадалось.
|
Цитата:
|
Crazy Noise, ну это Ваше дело. Тег [code] и его закрытия тега я привык вставлять.
|
Доброе время суток.Как сделаль (добавить) в инсталлятор и деинсталлятор Wizard Small Image и Wizard Image без фона?
|
habib2302,
Цитата:
Важно: в соглашении вызова импортируемых из библы функциий указать delayload (вроде как стоит по дефолту) код(целых 87 строк :) ): скрин: архив с примером и со всем необходимым: http://sendfile.su/788305 PS: для себя я бы не выносил загрузку ресурсов в функцию function GetFromRes(const ResName, SaveFileName: String): Boolean; с точки зрения оптимизации скорости работы но думаю так будет проще понять что к чему. Потом поменяешь, если захочешь! |
Цитата:
|
Johny777, а почему в скрипте указанно 3 изображения?
|
habib2302, потому, что изображения на первой и на последней страницах - это разные объекты. плюс смалл имидж - 3 ведь получается?
|
Gnom_aka_Lexander, я так и думал!
|
Johny777 а как в твоем примере растянуть картинку на весь инсталл? как фоновой так и маленькой
|
|
habib2302 WizardForm.TypesCombo.hide;
|
|
|
habib2302
|
habib2302, только что скомпилировал - ошибок нет. Ресурсы botva2.dll, b2p.dll, logo.png, bPic.png, LiPic.png, aPic.png должны находится рядом со скриптом.
|
Gnom_aka_Lexander,
Цитата:
в цикле создаём массив of TResourceStream, и сразу же извлекаем файл и разрушаем TResourceStream-ы и входной стринглист Короче зацени function ExtractResource(var ResourceList: TStringList): Boolean; чуть ниже под спойлером! :) habib2302, vint56, saurn, вот обновлённый пример, он совместим с файлами из архива в моём предыдущем посте: ======================================================================= insombia, Цитата:
перед тем как сделать тот пример открыл пример ботвы ...\Inno Setup 5\Modules\South\botva2_example\image.iss и посмотрел как создать картинку. До этого ботву не использовал и не знал потом открыл модуль где автор любезно под каждым прототипом функции по русски описал все входные аргументы и сделал пример! цитирую описание к функции ImgLoad(...): Напрашивается вопрос: Ты хоть сам пробовал немного разобраться прежде чем спрашивать? короче настраивай последние в вышеупомянутой функции ...Width, Height :integer; Stretch, IsBkg :boolean) :Longint; ...ширина, высота - целочисленные значения (пиши при необходимости через ScaleY,X() ), растянуть, на фоне - булев значения): Longint; =========================================================================== UPD: saurn, Цитата:
+ улучшил код: 1. Проценты отображаются в лучшем месте, чем в заголовке формы 2. Теперь никакого прямого обращения к контролам через оконную процедуру - всё обращение теперь на чистом WinApi (это гарантированно избавит от возможных ошибок) через адреса PS: И обращайся на Ты, а то мне как-то не по себе! :) UPD: Обновлённый пример благодаря правке El Sanchez-а http://forum.oszone.net/post-2125286-79.html :) |
saurn, sorry!!!!все работает
|
Цитата:
После удаления программы в папке TEMP остаётся мусор, ровно такого размера, что и unins000.exe |
Tco 03, Ну, джонни еще многое нужно узнать об элементарных правилах кодинга. Хотя - убирать за собой - можно назвать одним из основополагающих. Но при этом одним из самых трудновыполнимых. так что не суди строго, возьми да сам сделай зачистку темпа при выходе, это несложно.
|
Gnom_aka_Lexander
Да я вообще ничего плохово сказать не хотел, так сказать расказал о своих наблюдениях. Ну и от таких наблюдений, я думаю, Джонни доведёт всё до совершенства. |
Tco 03, Спасибо за внимательность! :) Хорошо, что есть люди которые помогают сделать лучше! Назвал имя батника удаления в твою честь из благодарности!
to All теперь собственно о файле: 1. Он зовётся именем процесса деинсталятора и деинсталятор держит его пока процесс не убьётся, а значит удалить файл через код напрямую нельзя ни на каком этапе или процедуре связанных с деинсталятором 2. Этот файл кстати остаётся даже после простейшего скрипта, что говорит о возможной недоработке Инно например попробуйте установить и удалить этот скрипт и в темпе останется похожий файл: Код:
[Setup] Взяв за основу функцию El Sanchez-а "Определение рабочей папки процесса" http://forum.oszone.net/post-1945281-380.html и упростив её до получения имени нашего процесса (функция function GetCurrentProcessId(): DWORD; всё упрощает) мы получаем путь к тому самому файлу... и удаляем его малость модифицированным мной примером Genri (самоудаление) (исходник http://forum.ru-board.com/topic.cgi?...8&start=1280#3 ) вот исправленный пример с ботвой: вот просто пример удаления этого файла: Цитата:
PS: просьба потестировать на всякий случай! |
Цитата:
|
Gnom_aka_Lexander,
Цитата:
И кстати кто хорошо знает Вин Апи или/и реестр? Можно ли как-то добавить задачу винде на то же самое удаление например (не после перезагрузки). Что-то вроде задержки |
Цитата:
Код:
var |
Цитата:
Чище только так: cd /d "%temp%" && rd /s /q "." :teeth: Только я бы вписал вместо: LOOP - trydel и соответственно: goto trydel ну это так, каждый хочет поумничить :grin: |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
El Sanchez,
Цитата:
Цитата:
Цитата:
=========== Спасибо тебе большое за исправления. Теперь я знаю и умею больше! PS: просьба и дальше делать: El_Sanchez.Сообщение.Текст := Ошибка(неверный_код^) + #13#10 + Исправление; , когда у меня будут ошибки или недоработки! ;) |
Всем привет!
Цитата:
Цитата:
|
Как переделать простой скрипт, что при движении процесс бара одноврименно ишли плавно проценти ((с 0.0% до 100.0%) а не ривком 0% потом 100%, и в скрипте можна било менять координати розмишчения процентов в окне инсталяции) .
Скрипт из шапки |
neorom
Конкретно в данном примере: Более - менее плавное отображение процентов будет возможном только, если инсталятор содержит файлы небольшого размера, так как здесь проценты обновляются после того, как файл уже скопирован на диск(о чем ясно говорит процедура AfterInstall, то есть После установки). Иными словами, если у вас в инсталяторе, к примеру, пара файлов весом по несколько гигабайт, то проценты будут делать большие скачки. Лучше использовать другие способы отображения процентов, на форуме много различных примеров, пользуйтесь поиском. Например вот Пост .Так же, пару страниц назад уважаемый Johny777 выкладывал прекрасный пример отображения процентов установки и удаления. Насчет изменения координат контрола, за это отвечают параметры Left(положение по горизонтали), Top(положение по вертикали). За размеры контрола отвечают Width(ширина), Height(высота) Можете так же создать свой лейбл и делать с ним, что угодно. Координаты указываются так: Код:
Left := ScaleX(24); //Положение по горизонтали от левого края клиента Код:
SetBounds(ScaleX(24), ScaleY(64), ScaleX(450), ScaleY(235)); //procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); |
Товарищи! Нужна ваша помощь! :( Хочу вот этот скрипт отучить от ISDone и не получается :( Пытался удалить все функции, но после компиляции, при запуске, пишет, что при Extract Temporary File не найден ISDone.dll . Поэтому прошу помощи. Самому не хватает знаний :(
|
LagunaFAN походу скрипт заточен под исдон
|
Вложений: 1
insombia, нет скриптов заточеных под исдон. там тупо выпилить все функции, для которых он нужен и все.
В аттаче 2 файла, которые нужно заменить. и соответственно в модулях удалить модуль исдона. |
Gnom_aka_Lexander, огромное спасибо за помощь! :Beer:
|
Цитата:
|
neorom
Убрать или закомментировать всё, что ниже строчки //////////////////////////////Uninstall///////////////////////////// Не бойтесь изучать и пробовать самостоятельно, иначе ничему не научитесь. |
А можно ли зделать чтоби процедура которая отвечаэт за проценти, брала информацию из отображения процес бара(двигаэтся процес бар и идут процети). Эсли да то дайте пример.
|
neorom, Собственно, постом выше, откуда думаешь, информация вычисляется? Элементарная пропорция, 7 или 8-й класс средней школы. в качестве данных берется как раз отношение текущего состояния прогресса к его максимум в соотношении к 100 процентам.
|
1, Если чекбокс отмечен, то на странице с выбором каталога для установки автоматически устанавливается каталог со стимом (данные берутся из реестра) 2. (По возможности) Если чекбокс отмечен, то некоторые файлы из секции Files, копируются в каталог, который указан в секции Files. Тут, я так понимаю, можно было бы задействовать параметр Check. Не смею многого просить, но я был бы благодарен, если бы второе условие тоже соблюдалось :blush: Пытался сделать на основе того, что уже есть в скрипте, но ничего не получается :( UPD: Всем спасибо за внимание! Помучился, но сделал! :rupor: |
Не могу добавить до свого скрипта функцию отображения процентов установки, может эсть какой то простой скрипт для отображения процентов з использувании .dll чтоби било хоть чуть-чуть мне понятно.
|
neorom юзай исдон
|
Привет. Помогите, как создать установку в указанную папку что бы вне зависимости от имя профиля в винде ставилась игра ".minecraft" в папку C:\Users\у каждого будет свое имя профиля\AppData\Roaming\.minecraft ?
Или в винде XP: C:\Documents and Settings\у каждого будет свое имя профиля\Application Data\.minecraft Ну что бы имя твоего профиля винды ставилось само во время установки. Что в скрипте надо дописать/изменить? Есть готовая игра, нельзя изменить папку, но там путь сразу автоматически который надо. Я игру моддил и сейчас надо установку без выбора папки установки создать. Вот пример |
Цитата:
ну а путь установки... собственно константа {userappdata} ведет именно туда, куда нужно. Код:
[Files] Код:
[Setup] |
Спасибо огромное.
А все, разобрался. А как замутить удаление всей папки куда поставилась игра? Как сделать что бы галочка была всегда что ярлык на рабочий стол поместится? |
Tima182, если честно, весь мне несколько стыдно выкладывать, ибо писался он года 3 тому назад. И по этой причине вряд-ли он подходит для изучения. Хотя, если причесать чуток.. Мне-то не жалко :)
Скачать |
Спасибо. А как это использовать в установке игры?
В скрипт как вписать? |
Tima182, это уже готовый скрипт. просто берешь и пользуешься. там есть все, что нужно
|
Распаковать в любую папку, запустить скрипт, чуть отредактировать и компиллировать сетап?
|
Ооо... Ты-ж скачал? там вроде все понятно. Можно удалить все, что касается jre и Java из этого скрипта, в остальное - просто кладешь рядом папку .minecraft со своей сборкой и компилишь.
|
Мне просто установка нужна.
Я кинул, ругается на много чего... У меня проблема, помогите на рабочий стол и в пуск создать по 3 ярлыка игры? При компиляции сетупа ехе игры находится в папке %AppData%\.minecraft\Лаунчеры А когда скомпилирует, установится, ехе игры уже тут находится %AppData%\.minecraft Помогите исправить? 1 имя: MultiMinecrafter 2 имя: XRAM Launcher Все ехе. А в конце установки нужно что бы был 1 запуск игры. |
Tima182 пример для 3 ярлыков
Name: {userdesktop}\icon1; Filename: {app}\icon1.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror Name: {userdesktop}\icon2; Filename: {app}\icon2.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror Name: {userdesktop}\icon3; Filename: {app}\icon3.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror Name: {group}\icon1; Filename: {app}\icon1.exe; Check: MakeDesktopIcon and checkerror Name: {group}\icon2; Filename: {app}\icon2.exe; Check: MakeDesktopIcon and checkerror Name: {group}\icon3; Filename: {app}\icon3.exe; Check: MakeDesktopIcon and checkerror думаю я тебя правильно понял? Помогите исправить? 1 имя: MultiMinecrafter 2 имя: XRAM Launcher не совсем понял что тебе нужно? Цитата:
|
В скрипт добавить что бы создавались для 3-х файлов ярлыки: пуск>программы>minecraft, и на рабочий стол.
3 файла: minecraft MultiMinecrafter XRAM Launcher Которым нужно что бы создавались ярлыки в 2-х местах. И еще нужно что бы значек был каждой своей ехе, к которой будет ярлык в программах и рабочий стол. И еще что бы 3 галочки можно было ставить в конце, запуск приложений. А лучше что бы 1 галочка на саму игру minecraft.exe стояла, а вторые дополнительно. Вот и все. |
доброе время суток.я незнаю как это объяснть?короче.я делаю репак aida64 2в1.например.общая папка
Код:
{pf}\FinalWire Код:
{pf}\FinalWire Код:
{pf}\FinalWire\AIDA64 Business Edition |
habib2302, установка каждой версии в свою подпапку? В вашем скрипте это есть.
Код:
#define AIDA641 "AIDA64 Extreme Edition" |
Ребят а подскажите, можно ли вместо WizardForm.DirEdit использывать Label или Memo или Panel для указания пути, просто WizardForm.DirEdit не имеет св-ва прозрачности, а мне хотелось бы сделать эту рамку прозрачной, если можно то как?
|
Nightwishh, тут оно?
--------------------------------------------------------------------------------------------------------------------- neorom, в чем сложность? Скрипт покажите. Ну и, если хочется проценты через внешнюю библиотеку, пожалуйста: --------------------------------------------------------------------------------------------------------------------- Tima182 |
Доброе утро всем, подскажите с примером "Запись имя пользователя в ini" - мне нужно просто имя в первой строке и во второй пароль, без этих "[ ]" или "=", ну как мне кажется все перепробовал но эти два символа остаются
Код:
[...Setup] |
Цитата:
---------------------------------------------------------------------- UPD: Впрочем, можно попробовать записать через Code, посредством SaveStringToFile Код:
SaveStringToFile(ExpandConstant('{app}')+'\имя файла.ini', 'имя пользователя', true); |
saurn, Да вот два часа назад поставил игрушку (вводил ник и пароль) = в папке с игрой ини фаил без [ ] , =. как он (они, оно) это сделал(и)? может попробовать енто дело в простой " .txt" а потом переименовать, но опять вопрос как
saurn, Цитата:
|
audiofeel, так же, как вы делали с ini
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
|
habib2302, как-то так:
|
и как еще поменять местами страницы SelectDirPage и SelectComponentsPage
|
|
habib2302,
|
|
habib2302, а выше скрипт посмотреть - религия не позволяет? Я для кого скрипт выложил?
|
habib2302, а просто тупо скопировать мой скрипт и запустить не пробовал?
|
|
Цитата:
Цитата:
Правда один момент мне непонятный: Код:
Source: {app}\{#AIDA641}\*; DestDir: {app}\{#AIDA641}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: AIDA641; |
подскажите пожалуйста.как скрыть страницу ReadyPage?
я пытался скрыть эту страницу добавив в процедуру InitializeWizard этот код WizardForm.ReadyPage.Hide; но к сажелению эффекта нет |
habib2302, держи. Вроде всё корректно работает.
Код:
[Setup] Код:
Procedure CurPageChanged(CurPageID: Integer); |
nik1967, помоги мне пожалуйста скрыть страницу ReadyPage
|
Цитата:
Код:
[Setup] Код:
function ShouldSkipPage(PageID: Integer): Boolean; |
Цитата:
|
saurn, Спасибо за помощь! а посмотрите я для GroupEdit я правильно сделал?
Код:
[Setup] |
Цитата:
Цитата:
|
помогите добавить к имени (mytext.txt) и пароль , пробовал дублировать ошибок нет но и результата тоже нет - одно имя.
Код:
[.....Setup] |
audiofeel,
Цитата:
Пару мелочей пропустили. Так будет правильно: Цитата:
|
Прошу, кто панимаєт , удалите из єтого скрипта всьо лишниэ, лишить надо только процедуру отображения процентов, без процес бара(шрифт, розмещения, цвет - оставить)
|
И последний вопрос по поваду GroupEdit.
Код:
[Setup] 2)И можно ли убрать Код:
#ifdef UNICODE |
подскажите.как сделать чтобы перед установкой новой версии экзешник сначало удалял старую версию,а потом начинал установку новой версии
вот скрипт |
Цитата:
Код:
procedure NoIconsOnClick(Sender: TObject); Цитата:
|
saurn, Спасибо всё понял, пошёл собирать. :)
|
мне кто нибудь ответит на мое сообщение???
|
habib2302 в смысле старую версию?
|
insombia, ну или ранее установленную программу
я просто хочу сделать так,чтобы нельзя повторно установить программу.а если повторно установить,то программа (экзешник) удалял ранее установленную програму |
habib2302,
Цитата:
APPID_AIDA_EXTREME APPID_AIDA_BUISNES принцип работы кода такой: 1. в функцию GetUninstallPath() отправляем заполненный вручную массив записей апп-айди (в примере ниже 2 вышеупомянутых, включая тот что у твоего инсталла). Она возвращает массив записей, в каждом элементе которого путь к экзешнику деинсталлятора для каждой программы, если он был найден 2. Если пользователь соглашается на вопрос месседжбокса об удалении найденных программ, то мы отправляем полученный массив путей в процедуру UninstallApps(), которая с ожиданием (спасибо примеру Serega - "ExecAndWait.iss" из шапки ), то бишь по-очереди вызывает деинсталяторы 3. Твой инсталл запустится только если повторный (через рекурсивный вызов ф-ции InitializeSetup() ) вызов функции GetUninstallPath() после пункта 1 и 2 вернёт массив длиной = 0 код: если тебе нужно предварительное удаление только для твоего инсталла, то вот тебе упрощённый пример: |
Johny777, я вставил первый скрипт и при компиляции ошибок нету,но при установке выдает ошибку.вот скрины
![]() ![]() может что то я не так сделал?вот скрипт или можно сделать так.допустим.у меня установлен компанент AIDA64 Business Edition и я также захотел установить второй компанент т.е AIDA64 Extreme Edition.и можно как нибудь заблокировать RadioButton второго компанента при повторной установке |
мне кто нибудь ответит на мое сообщение?
|
habib2302, на глазок по экстрасенсорному наитию - ты пытаешься задействовать botva2.dll,но она у тебя не прописана в файлах и отсутствует в инсталле, отсюда рантайм эррор и ошибка обращения к несуществующему объекту.
|
Gnom_aka_Lexander, или можно сделать так.допустим.у меня установлен компанент AIDA64 Business Edition и я также захотел установить второй компанент т.е AIDA64 Extreme Edition.и при повторной установке можно как нибудь заблокировать RadioButton второго компанента?
|
habib2302
Цитата:
P.S. Вы когда скрипты объединяете, смотрите, что, куда и как вы вставляете. А вот ваша ошибка: Код:
if not Result then if MsgBox('Перед установкой необходимо удалить все старые версии приложения, вызвать программы удаления сейчас?', mbError, MB_YESNO) = IDYES then |
saurn, огромное тебе спасибо!!!!!выручил ты меня!!!!!
|
Я так вижу, все меня игнарироют !!! Ладно.
|
neorom тебя не игнорят,прост твой вопрос бред,как могут идти проценты без прогресс бара?как ты себе это представляешь?
|
|
Ребят, как поставить SelectDirBitmapImage на передний план (создал BitmapImage1, а она закрывает собой SelectDirBitmapImage), допустим в этом коде
Код:
[Setup] 2) И в чём разница между Hide и Visible:= false? и что лучше? |
Nightwishh, у большинства контролов есть свойство BringToFront, которое перемещает на передний план.
Цитата:
|
Всем привет. Делаю скрипт Adobe Flash Player (вроде работает) и у меня секция InitializeSetup получилась громоздкая и соответственно долгий запуск. Может кто что посоветует.
Выкладываю полностью скрипт (может кому пригодится) |
ABBAT,
1. было слишком много логических скобок begin end; 2. лишние глобальные переменные и тяжёлая функция поиска по маске 3. не вдавался в значение кода, просто переписал, удалил лишнее и оптимизировал 4. используй по возможности const во входных параметрах функций/процедур, тк стек не резиновый 5. чтоб не гонять лишний раз функцию ExpandConstant() лучше 1 раз записать повторяющиеся пути в переменные, короче изучай: PS: делай нормальные отступы чтоб было читабельно и тебе и другим (лучший пример El Sanchez) Некрасиво убивать процесс барузера не спросив или не предупредив пользователя! А вдруг там что-то скачивается? |
|
Johny777,
Спасибо дружище. Хороший код, но, если нажать на отмену, то установщик 4 раза предлагает удалить и только патом закрывается. (есть идеи как обойти?) Цитата:
|
ABBAT,
потому что не тестил за неимением пакуемых файлов, а искать надлежащие файлы для скрипта у меня нет времени короче исправил пред. пост, тестируй |
Johny777,
Спасибо большое вроде все как надо работает (на Win8 не тестил) Файлы я беру в ветке "Наборы обновлений для Windows..." тема FullFlash аддон 'mPaSoft' он Flash в 7z пакует. (я бы может и не парился но у него он такой страшный, в 7z батники, файлы реестра. (удивляюсь как это все работает, но работает же ыыы)) Вот скрипт со всем необходимым для создания аддона Adobe Flash Player 11 ActiveX & Plugin Спасибо Johny777 за помощь. |
люди.я незнаю как это вам объяснить.короче.помогите мне пожалуйста разделить мне мой скрипт от AIDA64 на части.например.1 часть это кликабельное лого без фона,2 часть wizardimage и wazardsmallimage без фона,3 часть это поменять местами страницы Select dir и select components и т.п.а то я запутался в своем скрипте.вот скрипт
|
|
Доброго всем, товарищи. Не подскажете, в Inno Setup возможна реализация запуска файла до того как инсталлятор начнет копировать файлы ?. Т.е. Запустил инсталлятор - указал путь, нажал далее, и тут то он сначала выполняет запуск файла и дожидается его окончания работы. а потом приступает к копированию того что надо
|
saurn, просто в мой скрипт вносились изменения
|
Renko13,
|
Mailchik
Благодарю :) :) |
|
neorom,
Код:
procedure PercentsInstall(); |
habib2302, не разделил, но подписал комментарии, где там что к чему относится. Разберетесь.
|
Mailchik не роботаэт. Пишет что эсть какаэто ошибка.
|
neorom, а какая ошибка? Скрынчык дай хоть бы...
|
Может кто помочь, суть в том что стут
Код:
DefaultDirName={reg:HKLM\"Путь к ключу в реестре",(запятая) "КлючЭ} |
Костя_Антонов@fb
Код:
[Setup] |
Спасибо за помощь
|
"Доброй" ночи всем. подскажите , посаветуйте в чем разница между этими двумя "примерами"
Код:
procedure InitializeWizard(); |
Подскажите, как перенести текст из "WizardForm.ComponentsDiskSpaceLabel" и "WizardForm.FinishedLabel" на Label? Пробовал через
Код:
Label1.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption и 2) и что лучше Код:
SetBounds(ScaleX(23), ScaleY(102), ScaleX(150), ScaleY(22)); или |
Nightwishh, Я делаю вот так, пробуй
Код:
Label1.Caption:= SetupMessage(msgComponentsDiskSpaceMBLabel); |
Цитата:
|
Цитата:
Кстати, координаты лучше указывать вот так: Код:
SetBounds(ScaleX(50), ScaleY(166), ScaleX(15), ScaleY(15)); Цитата:
neorom Пробел потеряли. Код:
PercentsLabel.Caption := 'Установка игры: ' + NumToStr((Position*100)/Max) + '.' + Chr(48 + Position mod{вот тут пробела нехватает}10) + ' %'; |
|
Костя_Антонов@fb, saurn, (не забываем const AppInstallDir... во входных параметрах!), вот апдейт функции
заместо функции GetPreviousDir(...) проще всего получить пред. путь так: тут 2 примера (верхний дал когда-то El Sanchez, а нижний выдрал для примера отсюда http://members.home.nl/albartus/issi...cript-1.07.iss ), каждая директива разделена |. Короче говоря, если первого пути который мы получаем из ключа reg:HKCU\Software\Valve\Steam , а в нём из записи SourceModInstallPath вернётся пустая строка '', то будет выведен путь справа от |, те путь по умолчанию ====================================================================== neorom, исправил, улучшил, замени у себя всю секцию кода на эту: |
Вложений: 1
Здравствуйте. Не видно надпись снизу. Один квадратик остался. Что изменить надо?
|
Johny777, спасибо за исправления.
Цитата:
|
Цитата:
|
neorom, Компилировать нужно на расширенной версии от китайцев. Тем более, что: ISTool давным-давно устарело и большинство параметров не знает.
|
audiofeel, Честно говоря,
Цитата:
|
Nightwishh,
Цитата:
Код:
[Languages] |
Nightwishh, audiofeel,
Код:
Label1.Caption := WizardForm.ComponentsDiskSpaceLabel.Caption; Цитата:
|
Здравствуйте. Нужна помощь. При запуске инсталла выдаёт такую ошибку "could not call proc"
Код:
#define NeedSize 4380 Код:
PathLabel.Caption := ShortPath('Install Path:' + #32 + TEdit(Sender).Text, 55); |
saurn, Спасибо. Вставил ваш код и при компиляции выдает ошибку. Вот полностью мой код. Только цвет текста уже белый.
|
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); Код:
PathLabel.Caption := ShortPath('Install Path:' + #32 + WizardForm.DirEdit.Text, 55); |
Mailchik, Спасибо большое, всё работает!
|
Цитата:
Вообщем, вот код: |
Добрый день. Есть такой код:
Код:
procedure CurPageChanged(CurPageID: Integer); В то же время, если убрать первое Код:
WizardForm.Position:=poScreenCenter; |
Цитата:
Код:
// ----- Начало - центрование формы ----- \\ |
Gnom_aka_Lexander, спасибо, от чего такие пляски теперь понятно. И за решение тоже спасибо, я уже думал полный редизайн делать всех оконн из-за этой фигни...
|
Здравствуйте, помогите кто, я вот запаковал фриарком игру при это разбил на 5 архивов, потом эти архивы переделал в bin файлы, где мне надо прописать эти файлы чтобы они распаковались в процессе установки.
И еще вопрос, я пробовал устанавливать свои 5 архивов с выключенным define records, у меня процент установки составил 500, но распаковалось все бес проблем, но когда я включаю define records то у меня процент составляет 100 но распаковывается только 3 архива, как сделать так чтобы распаковывались все? |
ilya_klimovich,
Цитата:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Доброе время суток. дайте мне пожалуйста полный скрипт на распаковку .arc архивов, учитывая выбранные компоненты.
|
habib2302, меня устраивает только isdone
дай мне кусок скрипта только на распаковку .arc архивов, учитывая выбранные компоненты. |
habib2302,
В ISDone по умолчанию задана секция на расспаковку *arc, другие секции закомментированны. Про компоненты подробно написано в справке к ISDone, более чем. |
saurn, добавь скрипт на распаковку .arc архивов, учитывая выбранные компоненты.
вот мой скрипт |
Добрый день! Проблемка.
Код:
[Setup] Код:
MouseSiteLabel:=TLabel.Create(WizardForm) Код:
MouseLabel := TLabel.Create(WizardForm) |
Вложений: 1
Помогите еще раз) С черным инсталлом стала сливаться верхняя надпись. Где изменить у нее цвет или сделать чтобы она была видна?
|
GolD18
|
GolD18, моя вариация черного инсталла, на базе реализации модуля TransparentStatik от south:
Точно таким-же способом я делал замену статиков на прозрачные лейблы. только нужно учитывать, что некоторые статики динамичны и поэтому лейблы для них нужно создавать именованные отдельно. |
В is done прописал
Цитата:
|
ilya_klimovich
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
вопрос о define records. чтобы было все норм, нужно сначала установить игру с выкл define records, чтобы он считал файлы, а потом включить и снова установить. я прав?
|
ilya_klimovich почти после установки тебе на раскаментировать records и заново откомпилировать проект чтобы файл records добавился в setup
|
после того как прописываю
Цитата:
Цитата:
|
ilya_klimovich, Попробуй так
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), False {PCFonFLY}) then break; |
Nightwishh
все равно ошибка при компиляции, чуть другая но все равно есть |
Цитата:
Код:
const habib2302, ну серьёзно, вы это можете сделать и сами |
isdone
PHP код:
Цитата:
|
ilya_klimovich а версия isdone какая 5 или 6
|
а что такое?? просто я не знаю какая версия
|
ilya_klimovich у тебя версия ISDone0.4.2.5
if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break; |
vint56
но когда я прописываю так Цитата:
|
ilya_klimovich либо метод сжатия не известен либо возле setup есть еще один файл с расшерением .bin но родной от inno setup вот по этому что не может распаковать архив идёт откат изменений
|
блин ничего не помогает, помогите кто)
|
|
habib2302,ну, вот жешь двоечник :)
Это кусок секции из скрипта ISDone: Код:
Comps1:=0; Comps2:=0; Comps3:=0; ... |
короче если пропиcываю в isdone файлы с расширением arc то устанавливается все нормально, то когда эти архивы сохраняю в ultraiso как bin и прописываю их в isdone то при компиляции выбивается ошибка
|
ilya_klimovich, ну вы даёте) Конечно будет ошибка, ведь UltraISO создаёт из вашего архива образ диска. Хотите подцепить архивы с расширением *bin? Просто сотрите расширение *arc и напишите bin при создании архива. Таким образом и получите эдакий псевдо-бинарник на самом деле являющийся архивом *arc. Тогда и с установкой проблем не будет.
|
ilya_klimovich, В Ультраисо? Файлы .bin создаются в архиваторе FreeArc, с переименованием .arc на .bin в строке выхода архива.
|
все сделал как вы сказали, вроде все норм, но при компиляции основного скрипта мои бинарники пропадают, как будто их там и не было. в чем может быть трабла?
|
Хотя все, разобрался. Как при создании репака удалить ненужные локализации?
|
дайте мне по человечески полный скрипт (т.е с полным списком фалов который нужны и т.п) на распаковку .arc архивов, учитывая выбранные компоненты!!!!!!!:angry2::splat:
|
Цитата:
2ALL: Все вам дайте, как будто вам здесь что-то должны. Все должны сделать за вас, а вы будете использовать все готовенькое. С такими запросами далеко не уедешь. Учитесь уважать участников форума и их работу. Учитесь, в конце то концов, думать сами. |
вот мой скрипт.вставить пожалуйста как все положенно в том числе и список файло и т.п
p.s а той справкой только жоп* подтерать |
Подскажите, где исправить,чтобы Дополнительно ПО устанавливалось добровольно? Не захотел - убрал галочку. И какой флаг поставить, чтобы галочку всегда стояла на SangFroidSetup и убрать ее было нельзя?
|
GolD18
Код:
[Tasks] |
посдскажите пожалуйста как при создании репака удалить все локализации кроме русской и английской?
|
ilya_klimovich дааа,вспоминается картинка с 2 гопниками...
|
Можно ли скрить надпись C:\Program Files\ со страници розпаковки файлов
P.S. Сукция код отсуствуєт. |
neorom
|
neorom пиши грамотно,о то глаза болят
|
Как добавить перед имям файла, имя папки при розпаковки.
Пример C:\Program Files\Restorator 2009\Help\FAQ.html а желательно чтоби било Help\FAQ.html , в окне инсталяции только єсть имя файла FAQ.html, а желательно чтоби било перед имям файла, имя папки, как у примере. |
Вопрос такого характера- есть несколько компонентов,при выборе которых инсталятор должен сделать проверку на наличие подпапки в директории с игрой,на которую ставиться патч.
Сам патч ставиться по адрессу {app} там должна находиться папка audio ,если ее нет,то запретить продолжение работы.Мне уже дырку в голове сделали,потому как нечитатели ставят патч и пропадают звуки в игре...так как нужно сперва скопировать папку audio в папку с патчем,куда и ставяться все моды... |
neorom, на основе последнего примера saurn:
===================================================== elmariacci, так сойдёт? |
ну что-то типа того)) попробую прикрутить .Спасибо за понимание)) да только вот проверка идет только на папку следующую запапкой по умолчанию,а как задать дополнительный путь? типа (умолчание)\....\....\audio
|
Я опять с вопросом о ComponentsDiskSpaceLabel. Как можно загрузить текст на лейбл, из "ComponentsDiskSpaceLabel"
Код:
Caption:= SetupMessage(msgComponentsDiskSpaceMBLabel); Код:
Caption:= ComponentsDiskSpaceLabel.Caption |
Nightwishh,
Код:
[Setup] |
есть вот такая часть скрипта для worldoftanks ))
папка по умолчанию: C:\Games\World_of_tanks а папка где проверять наличие выглядит так: C:\Games\World_of_tanks\res_mods\0.8.5\audio -именно там она должна быть,иначе при установке любого из двух компонентов пропадает звук,т.к. клиент обращается к папке,где попадают только 2 файла из инсталятора. Тоесть для проверки могу сделать компонент "zvuk",а вот как прописать путь поиска? Или второй вариант втихую скопировать нужную папку из одной папки в другую без вмешательство пользователя? Name: "zvuk"; Description: "Звуки(перед установкой скопируйте папку audio в res_mods\0.8.5\)" Name: "zvuk\audio"; Description: "Звонок крита"; Name: "zvuk\zasvet"; Description: "Озвучка лампочки"; и потом в секции [code] function NextButtonClick(CurPageID: Integer): Boolean; begin if CurPageID = wpSelectComponents then begin if IsComponentSelected('zvuk') then Result := DirExists(AddBackslash(RemoveBackslash(WizardDirValue())) + 'audio') else Result := True; if not Result then MsgBox('В выбранной Вами директории установки нет папки "audio"!', mbError, MB_OK); end else Result := True; end; |
Цитата:
несколько примеров его использования есть в шапке темы, остальное в MSDN: http://msdn.microsoft.com/en-us/libr...=vs.60%29.aspx http://msdn.microsoft.com/en-us/libr...=vs.60%29.aspx |
elmariacci, если я вас правильно понял, то так:
Код:
if IsComponentSelected('zvuk') then Result := DirExists(AddBackslash(RemoveBackslash(WizardDirValue())) + 'res_mods\0.8.5\audio') else Result := True; |
Цитата:
|
Цитата:
Есть вопрос, просветите неуча. Раньше версию системы через код никогда не проверял. Но тут понадобилось, чтобы некая функция вызывалась, только от версии винды 6 и выше( Тоесть Vista, 7 и т.д.) Код:
function iWinVersion(): Boolean; |
saurn,
Держи: http://forum.oszone.net/post-2108378-1847.html Определяемые виндовсы: Windows2000, Windows2003, WindowsXP, WindowsVista, Windows7, Windows8 UPD: если нужны только с 6. то кастрируй функцию :) : PS: виста и выше это 6.что-то_там |
Цитата:
Цитата:
Код:
AddBackslash('res_mods') + ClientVersion + '\audio' |
Цитата:
|
мне кто нить отпишет как вырезать ненужные локализации???
|
Цитата Johny777:
на основе последнего примера » Не хочу надокучать, но даний код скрипта не роботаэт правельно. Фото Скрипт |
Цитата:
|
а что тяжело помочь?
|
ilya_klimovich какая игра?
|
ilya_klimovich,
Цитата:
|
insombia
NFS Most Wanted audiofeel может вы и правы, но все таки?) извиняюсь за настойчивость) |
ilya_klimovich там папки ru en и т д
p.s. прекращаем оффтоп |
Ребят, посмотрите правильно ли я накотал
Код:
procedure CurPageChanged(CurPageID: Integer); |
Nightwishh, про Parent прогресс-бара забыли, а то он сныкается вместе с внешним Notebook.
Код:
procedure CurPageChanged(CurPageID: Integer); |
elmariacci, Ну всё, запилил тебе уберпатчер,для разных папок:
краткое описание работы (а то много буков печатать): AskForPath( OnlyWithFolder('audio', OnlyVersionFolders( SearchForFolders( AddBackslash(RemoveBackslash( WizardDirValue() )) + 'res_mods') ) ) ); сначала SearchForFolders ищет папки в пути установки + 'res_mods' и возвращает массив путей он сразу же передаётся в OnlyVersionFolders которая фильтрует пути по последним папкам чтоб они были вериями-номерными и возвращает возможно другой или тот же массив полученный массив передаётся в OnlyWithFolder, которая ищет на уровне дальше папку "audio" и возвращает новый массив записей и только теперь полученный массив мы выводим в виде комбобокса на форме и спрашиваем куда именно ставить аудио! :) PS: чтоб пример работал первый раз установи без компонентов ============================================================================================== neorom, вот обновлённая процедура: |
saurn, Спасибо за помощь, пошёл собирать!
|
Цитата:
|
Сдравствуйте ещё раз. Не знаете что испраить в этом коде
Код:
function NextButtonClick(CurPageID: Integer): Boolean; Код:
if WizardSelectedComponents(False) = '' then |
Nightwishh,
Код:
function NextButtonClick(CurPageID: Integer): boolean; |
Цитата:
Код:
procedure BetterInfo(); |
El Sanchez именно что я и хотел.
Спосибо вам за помощь El Sanchez и Johny777. |
взял обычную распакованную игру весом 9 гб, через ино начал делать стандартный инсталлятор, в процессе компиляции через мин 20 после начала, выбивается окно, мол что то больше или должно быть больше чем 2100000000 байт. Подскожите кто плиз как решить эту проблемку))
|
Подскажите как правильно организовать инсталлер:
есть куча компонентов: -Компонент1 --Компонент1.1 --Компонент1.2 --Компонент1.3 -Компонент2 -Компонент3 -Компонент4 -Компонент5 ---Компонент5.1 ---Компонент5.2 -Компонент6 ... -Компонент20 и т.д. Хочу сделать так чтобы можно было добавлять/удалять компоненты без полного uninstall'a, добавить можно легко, AppModifyPath, но вот инсталлер в этот момент когда снимаешь галки говорит, что не удалит снятые с выделения компоненты. Подскажите как правильно сделать это? |
ilya_klimovich, размер пакета не может превышать 2 гигабайта. Разбивку на части используйте, в секции Setup
Код:
[Setup] |
Lex_from_Belarus, использовать флаг disablenouninstallwarning для компонентов, чтобы убрать предупреждение о том, что снятая галка не приведет к удалению компонента, а удаление нужно самому организовывать через секцию [InstallDelete]. Пример:
Код:
[Setup] |
сделал стандартный инсталлятор для игры dishonored, решил файлы ужать фриарком, но при сжатии файлы не ужались ни на чуть, подскажите как максимум ужать файлы и качествено, если можно поподробнее, может я что то не так делаю)
|
ilya_klimovich это конечно не в тему но, юзай precomp+srep сжатие
|
ну скачал я среп и прекомп, а как ими пользоваться я беспонятия, куда там что добавлять и куда там что вписывать, расскажите кто попадробнее если можно или мот есть какая то инструкция
|
ilya_klimovich, Держи http://rghost.ru/45486177 там три батника, как раз precomp+srep+lzma и еще три варианта, ну и все, файлы и папки для сжатия кладешь в папку "packeddata" = сжимаешь ложешь рядом с серапоп (ну и скачай последнюю версию ISDone0.6final = если внимательно прочитать справку которая прилагается к ISDone0.6final можно шаг за шагом понять самое основное) О да раскаментируй для начала - ;#define PrecompInside
;#define SrepInside. потом в папке ISDone0.6final есть папка "include" а в ней папка "exe_for_PrecomInside"- дак вот там лежит фаил "precomp040.exe" - переименовываешь его на "precomp.exe" и ложешь в папку "include" = ну должно получится |
isdone 0.4 подойдет? а то влом все сначла делать
|
Цитата:
А мы скажем, что нам в лом вам помогать. Сойдет? |
El Sanchez, вы хотите сказать что нужно в ручную каждый файл прописывать? Ё-моё...
|
Цитата:
Код:
[InstallDelete] |
saurn, фишка в том, что в одних и тех папках могут находится разные компоненты
а что значит "not component1"? |
Lex_from_Belarus, ну тогда вручную, или адаптировать способ, предложенный Johny777.
Цитата:
|
ilya_klimovich,
Цитата:
|
если батником izma сжимаю то все норм а если precomp+izma то вот такая обшибка
![]() |
ilya_klimovich не хватает оператвы
|
3 гига у меня
|
ilya_klimovich значит прекомп не нашел файл который он может расжать
|
да я уже любые файлы закидывал и каждый раз выбивается одна и та же ошибка
|
Цитата:
|
как сделать переход языка на ходу? я нашел один пример но там он не полный
http://rghost.ru/45310084 |
и ещё одно,нужно текстурировать кнопку обзор http://rghost.ru/45507461
|
Как добавить верний прогресс-бар (нижной - отображает общий прогресс, верхний - распаковку одного файла) с процентами рядом с каждым для обычных файлов, к єтому скрипту
|
Цитата:
|
neorom, вот, поправлял как-то существующий пример до удобоваримого. на 100% корректно сделать невозможно по множеству причин. главная из них - прегресс рассчитывается исходя из размера сжатого файла.
скачать |
Цитата:
Может кто подскажет, где эсть информация как роботать з inno setup китайськая версия в Редакторе форм. |
Доброе утро, Всем. в примере "GameuxInstallHelper.iss" реализованно все для одного ГДФБинари, "проблема" в том что их два, один для MP второй для SP - как быть, просто "повторить" - "if CurStep = ssPostInstall then begin"
и "if CurUninstallStep = usUninstall then begin" просто вписывая данные для каждого отдельно. как бы это сделать все правильно что ли , что бы при удалении не было эррор |
audiofeel, я ведь вам уже говорил, объявлять дважды один и тот же шаг установки или деинсталяции(CurStep, CurUninstallStep) не имеет смысла. Объявляйте все процедуры в порядке выполнения внутри шага. Покажите, что там за пример, а то я, что-то у себя не нахожу.
|
|
audiofeel, я использую другой способ. Пробуйте, работает - не работает, проверить сейчас не могу. Только имена бинарников в шапке скрипта свои укажите.
|
saurn, проверил - создается один ярлык в Game Explorer, причем пустой не кликабельный именно на второй GDFBinary2.DLL (для мульта), но зато для всех пользователей (ну это так к слову)
|
audiofeel, да нет, все добавляется корректно. есть косяки с удалением(остается мертвый ярлык) пока нет времени ковырять, может разберетесь раньше. Может кто более сведущий нам подскажет, я-то тоже не особо спец. На счет пустых ярлыков, смотрите в сторону бинарников.
|
кто-то может сделать так чтобы 1 кнопка переводила весь язык,а то у меня там 2 кнопки,думаю кто-то разберется
http://rghost.ru/45545533 |
Всем привет! Наставьте, пожалуйста на путь истинный. Как извлечь имя(тип) файловой системы выбранного раздела, при выборе папки установки и записать полученное значение в виде текста(лейбла) на странице мастера. Ну, тоесть, как извлечь понятно - GetVolumeInformation и т.д - , и тут возникает проблема: упорно не желает определять тип файловой системы раздела "C:\". Делал, фактически, по следующему принципу:
|
insombia,
Проверяй стоку кнопки например: заместо SetupMessage(msgButtonNext) и SetupMessage(msgButtonBack) 'твои 2 названия кнопки', а вместо месседжбоксов действия ============================================================================================= saurn, PS: в данном случае DelSP(...) не нужна, если нужно то Trim(...) http://www.delphisources.ru/pages/fa.../Trim.php.html |
странности с isexec,есть файл размером в 3 гб,установка прошла нормально,но папка с игрой пустая
|
такая проблемка, вот игровые некоторые файлы обрабатывал precomp+srep и поменялось разрешение файлов, когда я их закинул в папку с игрой в процессе игры у меня у меня не считывает эти файлы, как используя precomp+srep сделать после этого нужное разрешение?
|
ilya_klimovich их нужно юзать для распаковки в исдоне или isexec
|
Johny777, спасибо за направление по верному пути :) Всё же существующая проблема не исчезла, данные о файловой системе системного раздела(в моем случае "С") не выводятся, строка пустая. С другими разделами, а так же флешками и т.д. проблем нет. На текущий момент файловая система системного раздела определяется только, если указать неизменяемую литеру:
Код:
GetVolumeInformation('C:\', VolumeName, MAX_PATH, SerialNumber, ComponentLength, FileSystemFlags, FileSystemName, MAX_PATH) |
saurn, а не может быть такое - физический диск разбит на несколько логических, но скрипт показывает файловую систему только физического диска? У меня данный пример показывает файловую систему диска C:\, но не показывает диска D:\(логического). У меня физический диск разбит на 2 логических.
|
nik1967, диск разбит на три раздела - С, D, E, соответственно. Все разделы основные, логических нет. В том и дело, что скрипт показывает файловую систему D и E, но запинается на C.
|
saurn, nik1967,
спасибо, что нашли ошибки! Теперь вроде работает, замени в коде что я дал эти строки: DriveLetter := ExtractFileDrive(TEdit(Sender).Text); GetVolumeInformation(DriveLetter, VolumeName, MAX_PATH, SerialNumber, ComponentLength, FileSystemFlags, FileSystemName, MAX_PATH) WizardForm.Caption := FileSystemName; на: DriveLetter := AddBackslash(ExtractFileDrive(TEdit(Sender).Text)); if GetVolumeInformation(DriveLetter, VolumeName, MAX_PATH, SerialNumber, ComponentLength, FileSystemFlags, FileSystemName, MAX_PATH) then WizardForm.Caption := Trim(FileSystemName); PS: кажись функция не успевала отработать(маловероятно) и не хватало слэша(!), к тому же мы заполняем буфер 260-ю пробелами и поэтому в конечном итоге не помешает Trim() ========= предлагаю вот этот код, может он лучше подойдёт? если пригодился то поставьте El Sanchez-у спасибо http://forum.oszone.net/post-2030337-1311.html ======================== я горжусь своим 555-м сообщением! :) |
странности с инно происходят,когда через инно сделал сетап,то во время установки такие ошибки идут http://i47.fastpic.ru/big/2013/0429/...b7d871fcea.jpg
и иногда просто могут быть ошибки |
insombia, дословно, это означает "внешнее исключение". Иными словами смотрите в сторону процедур и функций вызываемых из внешних библиотек. Некоторые библиотеки( например IsUtils, get_hw_caps) используют WMI (Windows Management Instrumentation), которая есть в любой форточке, кроме 98. И соответственно, для их корректной работы необходимо, чтобы была включена сама WMI и ряд связанных с ней сервисов. Ну, а если используется какая-нибудь сборка системы ,где черезмерно умный сборщик отключил ненужные по его мнению службы, подобных ошибок не избежать. Inno тут ни причем. Так же, вполне вероятно, что просто ошибка в скрипте.
|
saurn могу дать скрипт,мож посмотреть http://rghost.ru/45646441
p.s. да,он с krinkels'а но я его переделаю под себя |
как прописать в isdone чтобы при установке игры из srep файла вылез pcf а потом prack? что здесь не так
Цитата:
|
Johny777, спасибо. Склеил простенький скрипт на проверку файловой системы с выводом имени оной в TNewStaticText на SelectDirPage :) Может, кому сгодится:
|
ilya_klimovich
if not ISSRepExtract ( 0, OveralPct, 0, ExpandConstant('{app}\1.srep'), ExpandConstant('{app}\1.pcf'), '', true, CallBack ) then break; if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\1.pcf'), ExpandConstant('{app}\1.prack'), true) then break; |
Прописываю вот так
Цитата:
|
ilya_klimovich, а у тебя какой на выходе файл после srep вот тот и надо писать ты же написал 1.pcf
|
vint56
я сначала хочу с прекомпом разобраться а потом и срэпом, строку там где срэп я пока закоментировал |
ilya_klimovich зачем этот гемор? тебе же давали вроде скрипт для консольного сжатия srep+precomp
|
все все я со всем разобрался)) а можно как нить в одной строке прописать общее для всех файлов чтобы они переходили в другое разрешение или надо для каждого прописывать?
|
ilya_klimovich cls фильтры и не каких временых файлов не надо что уменьшает время установки
Вот все для сжатия http://rghost.ru/45663041 только нужен isdone 6 |
расскажите кто как пользоваться define records, вплоть до мелочей)
|
ilya_klimovich, в справке к библиотеке до мелочей рассказано, как им пользоваться.
прямо из справки: Что именно тут может быть непонятно? |
просто хотел уточнить может я что то не так делаю, но после всего сделанного при установке распаковывается только часть файлов, но проценты отобр нормально, если отключаю define records то распаковываются все файлы и проценты отобр не нормально, как быть?
|
ilya_klimovich, покажи ту часть, где распаковка и я покажу, где у тебя косяк.
|
Доброе время суток. дайте мне пожалуйста полный скрипт на распаковку .arc архивов, учитывая выбранные компоненты.
|
saurn, Андрей (Shegorat) давно не обновлял модуль. если собираешься использовать этот модуль, есть смысл связаться с ним лично.
|
saurn, а какая версия HWREQ модуля?
у меня есть версия 1.11 |
нужно наложить транспорант(прозрачность) на текст,там на 2 странице все будет видно
http://rghost.ru/45685934 |
Цитата:
|
insombia, уж от тебя такого вопроса не ожидал.. честно... это-ж классика. два варианта - либо скрываем родные статик-тексты и вместо них создаем лейблы с transparent:=true;, либо компилим на юникоде, где у статиков есть свойство transparent.
Цитата:
OveralPct - эт че за? (простите мой французкий, но на самом деле - что это за ...) далее. да, это цитата, но я помню, в том сообщении пара функций была с первым параметром, отличным от нуля. беда, в общем-то была именно там. |
Gnom_aka_Lexander спс,у меня то анси стоит,теперь ясно почему такая беда случилась
ilya_klimovich ты что решил игру по файлам сжать?зачем этот гемор,ведь проще через инсайды сжать сразу все эти файлы в 1 архив |
insombia, советую все-же первый вариант. ибо свойство transparent у статиков в юникоде работает только если не менять свойства шрифта. либо если свойства шрифта не отличаются от свойств шрифта главной формы.
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
valyok666 конечно же нет :) ,у меня была версия инно которая его не принимала
|
|
за способ конечно спасибо, но все равно как мне решить мою проблему?
|
ilya_klimovich какую проблему?
|
insombia на прошлой страничке описывал
|
ilya_klimovich тебе же сказали юзай packers show
|
insombia не не это, просто я не могу понять почему при закоментировании define records распаковываются все файлы, а при раскоментировании только часть |
Ребят, а можно ли как- нибудь подключить звуковые эффекты для кнопок, типа Click.wav и WFEnter.wav, только без Ботвы. Через BASS.dll например, или как-то по-другому. Спасибо!
|
ilya_klimovich справку к исдону читай
|
insombia читал, все делаю в точности как там написано и вот такая трабла
|
|
Цитата:
|
Nightwishh, http://krinkels.org/showpost.php?p=12678&postcount=667
=========================================================================== saurn, Касательно определения звуковой карты через bass.dll попробуй, вот пример возвращает список аудиокарт: |
Всем привет ! Ребят подскажите пример скрипта для добавления файлов по пути C:\Users\Djinn\AppData\Roaming?
|
wertulll {userappdata}
|
vint56, спасибо за ответ (но я не совсем понял :) мне бы именно пример скрипта бы увидеть с этой константой (как что и куда прописывать (просто я в этом деле новичёк :) я хочю свою лицензию с Assassin's Creed Brotherhood пере паковать и вшить дополнения (а они находятся по этому пути C:\Users\Djinn\AppData\Roaming\Ubisoft\Assassin's Creed Brotherhood\Saves
файл "OPTIONS" |
wertulll
|
а можно иконку убить для setup? именно чтобы в инсталле она сбоку не висела
|
wertulll примерно так
Source: "Ubisoft\*"; DestDir: "{userappdata}"; Flags: ignoreversion |
insombia,
вышло только вот таким макаром Source: DLC\*; DestDir: "{userappdata}/Ubisoft/Assassin's Creed Brotherhood/Saves"; Flags: ignoreversion а есть константы для добавления файлов в папки( Сохраненные игры,Изображения,Мои видеозаписи и тд>>>>>>? |
wertulll, Константы из справки
|
insombia,
Код:
BorderStyle := bsDialog; //или |
Как мне изменить скрипт, чтоби чекбокс отображался на странице SelectComponentsPage а не SelectDirPage, все переделал, не помогло
|
|
saurn Извините, но чекбокс не отображался на странице SelectComponentsPage.
|
neorom, добавьте в скрипт хотя бы один компонент, в секции [Components], чтобы создалась страница компонентов, тогда чекбокс увидите.
|
Цитата:
|
neorom, если в скрипте не указан ни один компонент в секции [Components], страница компонентов создана не будет, так как надобность в ней отпадает, логично? Вы хотите разместить контрол на странице выбора компонентов, но при этом ваш установщик компонетов не содержит. Выход: размещайте контрол на другой странице.
|
Цитата:
|
neorom, на любой странице, которая есть в вашем установщике.
Код:
Parent := Страница мастера; |
Как создать пустую страницу, которая бы ишла после SelectDirPage, бо у меня ни как не получаэться.
|
neorom,
|
ребята,протестируйте инсталл,нету ли багов? http://rghost.ru/45801868
|
insombia
|
saurn нашел баг,это из-за скина,не хватало DeinitializeSetup в коде
|
|
Добрый день. Воспользовался скриптом, взятым с этого сайта на свой шрифт в инсталляторе. Код вставил себе в скрипт, ошибок при компиляции нет, но в инсталле шрифт не изменился.
Брал этот код. |
Цитата:
|
El Sanchez, http://rghost.ru/45831009 Без файлов. Просто скрипт. Напишите, если нужны будут файлы. Спасибо за помощь.
|
Цитата:
Примерно так чтоби било http://us.ua/1111239/ |
Цитата:
|
neorom
|
saurn спасибо.
P.S. Мне писали чтоби я сматрел у сборнике вопросов и ответов FAQ Ru-Board.chm, и я нашол много скриптов коториэ не роботают так как написано в описаниэ. (Я использую две версии розширениє версии компилятора остальной версии (ANSI i UNICODE ))И один скриптов. (Скрипт єтот не меняєт цвет и не єсть текст подчеркнутим при навидения мишки на него). Описаниэ - Как на BeveledLabel "повесить" ссылку, чтобы текст по умолчанию не был подчеркнут, а при наведении на текст, он подчеркивался и конечно, хотелось бы, менять цвет шрифта! |
neorom
|
Нет меня интересуєт именно тот скрипт из попереднього моєго сообшчения.
Сообшчения - P.S. Мне писали чтоби я сматрел у сборнике вопросов и ответов FAQ Ru-Board.chm, и я нашол много скриптов коториэ не роботают так как написано в описаниэ. (Я использую две версии розширениє версии компилятора остальной версии (ANSI i UNICODE ))И один скриптов. (Скрипт єтот не меняєт цвет и не єсть текст подчеркнутим при навидения мишки на него). Описаниэ - Как на BeveledLabel "повесить" ссылку, чтобы текст по умолчанию не был подчеркнут, а при наведении на текст, он подчеркивался и конечно, хотелось бы, менять цвет шрифта! |
neorom, в этом примере нет ни строчки про изменение цвета и подчеркивание при наведении, потому и не работает. Обновил пример в предыдущем посте.
|
Цитата:
|
neorom, подчеркивание будет выглядеть так:
Код:
BeveledLabel.Font.Style := [fsUnderline] Код:
procedure LabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); |
Извините меня за назойливасть , тот скрипр длинний мне не надо не чего менять, я лиш прашу довести до пуття тот кароткий.
|
neorom, тот скрипт - это ваш скрипт, который был в архиве, с уже доведенными до ума короткими и длинными. Я просто объединил основной скрипт. Он готовый, берите и компилируйте. Хотите отдельно только кликабельный лейбл, могу дать отдельно, но будете объединять сами тогда.
|
Цитата:
|
neorom
|
neorom, можете хоть правильно написать на русском языке?
|
El Sanchez, А в коде ошибок нету? Правильно я сделал? И то есть просто 2 убрать надо? Спасибо.
Меняю на другой, например на Comic Sans MS. Все равно не меняется. |
saurn, Отправил вам в РМ.
|
Цитата:
|
Вложений: 1
Всем доброго времени суток!
Помогите со скриптом к программе DVD Rebuilder PRO 1.28.2 Сайт программы http://www.jdobbs.com/ Я хочу переписать скрипт, а именно убрать несколько языков, запуск установки кодека и запуск программы после установки и больше ничего изменять не надо. Скрипт должен максимально соответствовать оригиналу. После распаковки инсталлятора попробовал собрать скр Файл 98608 В секции [INI] начались первые проблемы. При сборке появилась ошибка Убираю со скрипта запись Entry: QuEnc; - появляется вторая ошибка Подскажите что это за переменные Entry: и Value: и чем их можно заменить. Следующие ошибки в секции [Registry] Код:
Root: HKLM; Subkey: "Software\DVD Rebuilder"; ValueName: "Working_Path"; ValueType: String; ValueData: "{code:settingsdir|workdir}"; Flags: uninsdeletevalue uninsdeletekeyifempty {code:settingsdir|workdir} - что оно обозначает. В реестре оригинальный инсталлятор прописывает ключ Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\DVD Rebuilder] Код:
Source: "{code_settingsdir_workdir}\info.txt"; DestDir: "{code:settingsdir|workdir}"; Flags: uninsneveruninstall |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Спасибо за разъяснение и помощь
Цитата:
Инсталлятор упаковал, но окна такого нет. Подскажи пожалуйста где можно про это прочитать. И про второе окно Оригинал Мой |
El Sanchez, вертел я его скрипт по всякому, Font.Name:='{#FontName}', ничего не меняет, шрифт удалось изменить только на кнопках. Возможно, я что-то не понял.
--------------------------------- 41275jur, страничка с двумя эдитами - кастомная страница, создавать нужно в секции [code], в шапке есть пример по созданию кастомного диалогового окна. По странице с компонентами: чтобы отображался список компонентов, а не просто выбор типов установки, добавьте в [Types] флаг ; Flags: iscustom Например: Код:
[Types] |
GolD18 а так пойдет?
|
41275jur
|
люди помогите мне.я делаю русификатор.как сделать так,чтобы инсталятор сам определил где в какой папке находтся программа?
|
habib2302,
Указываете в качестве DefaultDirName ключ реестра, содержащий информацию о рабочей папки программы. Код:
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1,InstallLocation|{pf}\My Program} |
habib2302,
|
vint56, более корректно все-таки, это делать по AppID.да и гемора гораздо меньше. Меньше кода - меньше ошибок и глюков. Да и подавляющее большинство пачей, дополнений и тому подобной дряни - ищут программу именно по AppID в разделе Uninstall.
|
Спасибо всем за помощь.
Цитата:
Пока у меня получилось только это [code] Код:
var Подскажите еще где нужно исправить в скрипте, что бы программа перед установкой определяла установлена ли программа (AviSynth) или нет. Если не установлена, то запускала установку. |
Подскажите как сделать эти два файла скрытыми
Код:
[Files] |
41275jur, hidden добавить во флаги. в справке-же есть.
|
Цитата:
Цитата:
Код:
[Files] |
Цитата:
Цитата:
Цитата:
Цитата:
|
портировал с делфи интересную функцию ( GetEnvironmentVariable(...) ), кому надо забирайте:
|
Johny777, низкий поклон Вам за помощь с скриптами (удачи будте Счастливы
![]() ![]() |
помогите распотрошить и воссоздать полностью этот инсталлер как есть.
Код:
http://rghost.ru/45906542 |
evoll@vk, да вроде ни че там такого нет (нужно что то конкретное узнать, )
там прекомп 038, унарк 2010 года, да рт консоль. Вам что нужно внешнее сходство без исдон или с исдон |
Цитата:
|
evoll@vk примерно так как тебе нужно,http://rghost.ru/45911273
добавишь isdone,примеры для текстурирования папок есть в закосе под механиков |
Всем привет. С прошедшими праздниками! В шапке есть пример http://forum.oszone.net/post-1444931-2009.html по закреплению ярлыка в панели задач семерки. Вопрос, как сделать так, чтобы процедура выполнения *.vbs пропускалась, если такой ярлык уже есть. Пробовал так:
Не выходит. Выполняется в любом случае - есть ярлык или нет его. |
saurn,
мне автор давал доработанный скрипт.держи Код:
function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryExW@kernel32.dll stdcall'; при инсталле - PinToTaskbar(ExpandConstant('{app}\{#mpcbe_exe}'), True); при удалениее - PinToTaskbar(ExpandConstant('{app}\{#mpcbe_exe}'), False); и что нужно писать в секции icons если этот скрипт будет работать,то скинь мне его |
Цитата:
Код:
if IsTaskSelected('ляляля') then Цитата:
Код:
В CurStepChanged на шаге ssPostInstall - PinToTaskbar(ExpandConstant('{app}\{#mpcbe_exe}'), True); |
evoll@vk,
Цитата:
|
Здравствуйте, возник вопрос по скрипту который качает файлы из интернета... Проблема в том что он после скачивания из временной папки (temp) должен перенести файл в указанную папку при инсталляции, но он этого не делает... В строке itd_addfile('http://sayt.ru/1.rar',expandconstant('{tmp}\1.rar')); tmp менял на src (т.е что бы файл лежал рядом с инсталлом) тогда он ложит файл рядом с инсталломЮ но опятть же его он не переносит в указанную папку...
Код:
|
by_gangster, в скрипте не заметно строк связанных с переносом, только копирование.
|
by_gangster,
|
Mailchik, И что это ?
|
Цитата:
Код:
[Code] |
saurn, не работает... он просто скачивает и ложит рядом с инсталлом
|
by_gangster, скрипт можно полностью увидеть?
|
saurn, Конечно !
Код:
[Setup] |
saurn,
дай лучше полный скрипт по закреплению ярлыка в панели задач семерки.а то я немогу разобраться куда что |
by_gangster, вот самодостаточный пример скачивания файла с последующим перемещением в нужную директорию
я б на твоём месте сразу качал куда надо без перемещения судя по прототипу функции itd_addfile (у меня также, только ф-я по другому называется) это не проблема ======================================================== Цитата:
|
habib2302, я в своем скрипте сам разобратся не могу. Мой вопрос http://forum.oszone.net/post-2148420-416.html еще актуален))
Ну а по тому скрипту, вот: Хотя уважаемый Johny777 прав, в шапке есть. |
Johny777, Я так и пытался делать в строчке itd_addfile('http://sayt.ru/1.rar',expandconstant('{src}\1.rar')); src изменил на app, но выскакивает ошибка...
P.S есть ли скрипт который сразу в указанную папку скачает? |
saurn,
Цитата:
PS: у тебя тоже вроде правильный путь был, но ни FileExists(...) ни альтернативная ThereIsFile(...)так не считали (аномалия ! ), но сейчас вроде работает :) и это главное! ======================================================= by_gangster, Цитата:
function DownloadFile(const SourceFile, DestFile: String): Boolean; и в шапке ещё пример El Sanchez-а |
Johny777, дак по этому же принципу и проверял - ноль эмоций. Даже, если ярлык присутствует все равно вызов ShellExec проходит. В шапке еще есть второй пример закрепления ярлыка от El Sanchez, но у меня с ним траблы кое-какие(с скриптом не связаные) потому остановился на этом примере. Но, например, если запустить переустановку, то уже созданный ярлык удаляется.
|
saurn, насколько я помню код El Sanchez-а порт того самого VBS скрипта, какие траблы у тебя?
function PinToTaskbar(const szFilename: String; IsPin: Boolean): Boolean; первый входной параметр - путь к файлу, к которому нужно закрепить ярлык, второй - булев значение - закрепить/удалить ярлык |
короче по поводу закрепления ярлыка в панели задач семерки задавайте вопросы автору Aleksoid1978
кстати.в inno setup есть скрипт Код:
[Setup] |
Johny777, А в примере от El Sanchez, можно сделать что бы окно выбора не высвечивалось ?
|
люди.я незнаю как вам сказать.короче.как назначить иконку для ярлыка в этом скрипте Закрепить ярлык на панели задач в Windows 7 (вариант №1)
|
habib2302, Я не совсем понял, если иконка инсталла то
Код:
[_setup] |
Цитата:
|
by_gangster, для инсталла я знаю
обрати внимание на выделенный жирным текст "как назначить иконку для ярлыка в этом скрипте" например вот так Код:
IconFilename: {app}\ico.ico; |
habib2302,
Цитата:
|
Цитата:
Код:
if GetSaveFileName('Сохранить как...', fName, '', '*' + ExtractFileExt(fName), ExtractFileExt(fName)) then Код:
if DirExists(szDestDir) then Код:
procedure DownloadFile(urlFilename, szDestDir: String); |
by_gangster, El Sanchez,
позволил себе изменить немного процедуру скачивания: procedure DownloadFile(интернет_ссылка_на_файл, имя_файла_сохранения, указатель_на_каллбэк_процедуру); упростил немного код, благодаря каллбэку избавился от глобальных переменных и вынес конвертацию массива символов в строку в отдельную функцию и таким макаром избавился от некоторых действий процедуры скачивания и теперь в функцию передаются не переменные, а const ссылки (так лучше) пример скачивания и работы каллбэка ниже: надеюсь не накосячил и ещё есть поддержка юникодной инно и кнопка отмены |
Johny777, Ага только процедуру отмениь нельзя (кнопочкой) когда начинается скачивание...
Johny777, И ещё, почему нельзя так делать ? begin if CurStep = ssInstall then DownloadFile('http://sayt.ru/1.rar', '{app}\File.exe', @DownloadProgress); // ..., nil); - no Callback end; |
Цитата:
|
by_gangster,
Цитата:
Цитата:
так нельзя, тк {app} - константа. Такую строку нужно пропускать через функцию ExpandConstant(...), которая заменяет константы на пути короче нужно вот так DownloadFile('http://sayt.ru/1.rar', ExpandConstant('{app}\File.exe'), @DownloadProgress); |
Johny777, Выскакивает ошибка
Cannot create file D:\new\1.rar |
by_gangster, без понятия, у меня всё в порядке. Посмотри в дебаггере на какой строке вылетает. К тому же что касается непосредственно скачивания я ничего не менял, так что ошибок быть не должно
предположу что файлстрим не может создать файл, тк он существует и его держит какой-то процесс или папка "new" в пути "D:\new\1.rar" не существует (скорее всего именно из-за этого ошибка), исправил пост, пробуй |
Johny777, Сейчас всё нормально... но деинсталлятор не удаляет файл...
|
Цитата:
Код:
[UninstallDelete] Код:
[UninstallDelete] |
saurn, Ну я и нуб, как я сразу не понял... :sorry:
|
Может кому-нибудь пригодится полезный скрипт.
Перед запуском инсталлятор проверяет на наличие необходимой программы через реестр... В данном случае это игра S.T.A.L.K.E.R Зов Припяти Код:
function InitializeSetup(): Boolean; |
by_gangster, можно эффективней, проверить наличие ветки реестра и одновременно наличие некоего файла в папке с игрой(в данном случае ексишника деинсталятора), на случай, если папку с игрой снесли, а хвосты в реестре остались:
Код:
function InitializeSetup(): Boolean; |
Скажите пожалуйста как в этом примере можно изменить шрифт ?
|
by_gangster,
Код:
Font.Name := 'бла-бла-бла; --------------------------------------------------------------------------------------------------------------------------------------- Цитата:
|
Цитата:
|
Всем привет. Вопрос к знатокам: имеется куча чекбоксов и чтобы не плодить такую же прорву булевных функций думал, как объединить их все в одну, при этом не записывая значения с каждого в отдельную глобальную переменную. Короче, в итоге сваял:
Обработка проходит корректно, но это можно назвать правильным, или меня куда-то не туда понесло(знаю, что можно использовать чеклистбокс, но как-то удобней мне с простыми чекбоксами)? |
|
Ребят , а что делать если ошибку выдает :( - http://i47.fastpic.ru/big/2013/0515/...2bfcb45e7a.png
Хочу подкоректировать этот скрипт - http://rghost.ru/46018269 - need-for-speedtm-hot-pursuit-1.5 (самый простой, так сказать для начинающих) :) И да мне бы только код оформления выдернуть , а если нет подкорректировать - просто хочу инсталлы свои делать .Надеюсь на вашу помощь . |
Dinvin4ester, это ошибка ISDone. Означает, что не заданно ни одного архива *.arc для распаковки. Есть в скрипте секция, где задается, какой архив распаковывать, куда распаковывать, и местоположение архива соответственно.
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.bin'), ExpandConstant('{app}'), false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Да мне нужно само оформление (приветствие , проверка системных и т.д) . Если вас не затруднит , уберите пожалуйста . И еще хотел спросить - для лучшего ужатия -что использовать ?
|
Dinvin4ester, убрал ISDone. Точнее отключил через препроцессор. Если понадобятся функции ISDone их можно включить, раскомментировав вот эту строку ;#define ISDone в шапке скрипта(убрав точку с запятой перед строкой)
Архив со скриптом на RGhost - Need For Speed Hot Porsuit Что до лучшего сжатия: стороние архиваторы типа FreeArc, распаковка которых входит в число функций ISDone(кстати в этом скрипте полностью реализована распаковка архивов *.arc, нужно просто указать путь к своим архивам) вероятно дают лучшее сжатие при определенных условиях, но я использую только внутренние средства Inno, а потому ничего конкретного сказать не могу. |
Dinvin4ester, сделай ссылку на изображение вместо самого изображения, иначе форум растягивается
|
saurn,
Огромное спасибо и еще нельзя ли эти системные требования - цвет что-ли изменить ? |
Dinvin4ester, можно. В шапке скрипта есть
Именно они отвечают за изменение цвета панелей(левых\правых)системных параметров. Там подписано в комментариях, что к чему. Меняете на нужный вам цвет и все. Смотрите, пробуйте, подбирайте Таблица веб-цветов |
saurn,
Ошибку выдает , связанную с HWREQ_Module.iss . |
Dinvin4ester, имеете, например, такой цветовой код 60 179 113.
В строке с указанием цвета, он будет выглядеть так: Код:
#define Color1 "$60179113" |
saurn,
Ок.. Ну я и дуб .Сорри , все получилось . Благодарю вас . А с этим можно также - http://rghost.ru/46070070 ? Выбор таблетки и всякий хлам убрать если не сложно. |
У когось эсть пример как растятуть текст по вертикале и по горизонтале , и сжать текст по вертикале и по горизонтале. (Font.Size не придлагать.)
Фото |
neorom зачем этот гемор? такое подойдет?
http://i46.fastpic.ru/big/2013/0517/...705b6ecc3d.jpg |
Цитата:
|
neorom cкинь скрипт
|
Это только часть скрипта отвичаючий за текст
|
Цитата:
Узнаете другой способ изменения размера шрифта, меня тоже просветите) Хотя... можно штамповать кучу лейблов - отдельный под каждую букву, и делать с ними, что угодно, в том числе и увеличивать расстановку букв, но как сказал товарищ insombia, этот геморр не стоит свеч. Цитата:
Цитата:
|
saurn согласен
|
Цитата:
|
saurn,
Оформление оставить , также как вы делали и раньше .Остальное не нужно) Вот наподобии этой хочу сделать - http://s018.radikal.ru/i507/1211/4b/9c89be892801.jpg . Ранее то что вы мне сделали - Он кажется половину скрипта писал через IS GameScript Generator , а половину сторонее уже. Вот так как бы .Интересует то окно , маленькое . Это было написано с помошью генератора , пропустил инсталлятор специально . +2 скрипт- как соединить их ? |
Здравствуйте. Моя трабла такова, хочу сделать установочник в котором хотел бы использовать несколько ключей установки, в частности для добавления в различные директории ярлыки программы, подскажите пожалуйста кто чем может.
|
Всем привет,на странице с выбором установки ярлыков внизу есть чекбокс с текстом, но он почему-то не меняет цвет, как фона так и самого текста... Подскажите как поменять ?
|
by_gangster, стандартные чекбоксы инно не меняют цвет шрифта и фона, хоть такие свойства у них и есть.
|
Имеется ключ 1234-5678-ABCD-EFGH который просто записывается в файл keysgame.ini без каких либо секции и дополнительныч строк, просто ключ и всё. Сам keysgame.ini должен создаться при вставке ключа в папке Мои документы/GameEX.
Как это реализовать? Есть только набросок кода |
Всем привет! Уважаемые знатоки, помогите разобраться со следующей задачей:
Допустим имеется простенький инсталлятор, к которому я прикрутил библиотек isskin.dll способом описанном на том же сайте. Проблема в том, что если я устанавливаю следующие значения Код:
DiskSpanning=Yes |
Alloc, попробуйте скачать другую isskin.dll и сделать те же действия.
|
Alloc, просто isskin.dll у тебя внутри Setup-1.bin и при удалении оного, естественно он будет не найден.
вот так такое дело обрабатывается: |
Ребята всем привет, возник вопрос по сжатию, мне понравилось сжатие игры Call of Duty MW3... там просто офигенное сжатие, при вскрытии инсталера, я обнаружил файлы связаные с zip (procomp.exe) их там несколько и имели разрешение .exe. В интернете я узнал что самое лучшее сжатие это NanoZip но примеров я не нашёл, если у кого есть примерчик, то выложите пожалуйста...
|
by_gangster, темой ошибся. Но все-же, вот список параметров для нанозипа: Смотреть Воспользоваться функцией exec в инно я думаю сможешь самостоятельно.
и да, не перестарайся, как механики, у которых последнее время для установки игры комп нужен в разы мощнее, чем для самой игры. |
Gnom_aka_Lexander, а что ещё хорошо сжимает ?
А на сайте nanozip.net чем отличаются архивы для скачивания 32bit и 64bit ? |
by_gangster, по приведенной ссылке - различные параметры для различных типов файлов. логично, что если разложить все ресурсы по полочкам, то при терпеливом подборе параметров очень хорошо сжимает даже винрар. можешь воспользоваться paq, если тебе наплевать на пользователей - сжатие весьма великолепно, но вот распаковка без преувеличение может растянуться на несколько суток(вспомним "знаменитый" репак GTA4). КГБ - аналогично. Если нужно хорошо и быстро - то фриарк с вменяемыми словарями ( словарь - примерно равен свободной нефрагментированной оперативке, которая потребуется для распаковки) с тщательным подбором параметров и препроцессоров (каковых во фриарке - десятки) для каждого типа данных.
Цитата:
|
Цитата:
Проверять сейчас неначем, рабочий комп пока на реставрации. |
Gnom_aka_Lexander, спасибо за ответ, я попробовал как Вы сказали? но по прежнему ошибка имеет место быть.
Цитата:
|
Alloc, в декларации функций из isskin.dll добавь отложенный запуск (delayload). а вообще странное желание - заставить работать инсталлятор, отрезав от него большую его часть.. (примерно тоже самое, что пытаться заставить работать голову, отрезав ее от туловища)
|
Alloc,
Или запихните isskin.dll в ресурсы ексишника Цитата:
|
Gnom_aka_Lexander, "delayload" не помогает..
Gnom_aka_Lexander, saurn, нет, я просто хочу чтоб все было идеально) Может все таки можно как то заставить инсталлятор помещать файлы скинов в сам екзешник ну а остальное уже в "Setup-1.bin"?) |
Цитата:
|
Цитата:
Цитата:
|
Gnom_aka_Lexander, ясно, наверное действительно "никак".. единственный вариант который предложил saurn, запихнуть библиотеку в ресурсы екзешника.
Большое спасибо всем за помощь! |
Alloc, пихать в ресурсы придется не только библу, но и абсолютно все рабочие файлы. Есть вариант гораздо проще, на начальном этапе проверить наличие бинарников рядом с сетапом и, если хоть один из них не будет найден, выводить соответствующее уведомление, и только, если все части инстала на месте, тогда проводить инициализацию.
|
saurn, не мучайся. пока скрипта не увидишь - все равно ничем помочь не сможешь. я-то уже знаю решение, но нужно удостовериться, что я прав. а для этого нужно видеть скрипт.
|
Aquila, ну а трабла то в чем?
|
saurn, Трабла в том, что я не знаю как это сделать
|
Aquila, я просто не совсем понял, что подразумевается под использовать несколько ключей установки. Имеется ввиду установка через ком.строку с различными параметрами?
|
Цитата:
|
Aquila, всё, что могу подсказать по этому вопросу: использовать файл ответов - свой для каждой конфигурации.
Код:
/LOADINF="filename" |
saurn, Об этом я знаю :sorry: Придётся использовать NSIS (там есть то что я хочу).
|
Aquila, насчет добавления ярлыков в различные дериктории: в секции [Tasks] можно задать опционально для всех ярлыков, а потом через ком. строку выбирать необходимые ярлыки
Код:
/TASKS="desktopicon,groupicon" |
saurn, Благодарю!
Скрипт рабочий, если добавить в него [Dirs]. Но что делать если использовать второй вариант где создание папки GameEX через [Dirs] не прокатит? |
Crazy Noise, не подумал, что папки изначально не существует)
Код:
function NextButtonClick(CurPageID:integer): Boolean; |
Вложений: 1
saurn, Благодарю.
Цитата:
Aquila, Попробую привести пример на основе bat+ini, т.е bat-ник подхватывает настройки указанные в файле ini таким образом, можно ювелирно всё настроить. Так же можно подсмотреть в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Application_is1 Inno Setup: Selected Components Inno Setup: Selected Tasks и т.д. аналогично без использования ini, будет выглядеть примерно так Код:
setup.exe /Components="a,a\b,a\c" /Tasks="a,a\b,a\c" |
Crazy Noise, еще можно реализовать проверку на присутствие файла с серийником, и если он есть, не создавать или пропускать страницу ввода(например при переустановке поверх).
|
saurn, И об этом я не подумал. Угадываешь мысли?
Пример можно? Не силён в таких мелочах. |
Crazy Noise, вот самодостаточный пример. Единственный его минус, точнее два минуса: будет работать только, если всегда вводится один и тот же серийник, и второй минус - чувствительность к регистру букв в серийнике. Ну а принцип прост: если определенный серийный номер(серийник задается в константе) не найден, страница создается. В противном случае пропускается. Короче, если даже *.ini файл присутствует, но он пустой, или в нем указан другой серийник страница будет создана. Чтение строки из файла воспроизвел по мотивам примера от Johny777)
|
Цитата:
Тут может быть только одно, это проверка присутствия самого файла ini. |
Gnom_aka_Lexander, Пришёл домой и скачал с nanozip.net, но там нету скриптов... Где их взять ?
|
Crazy Noise, ну если так, то можно ограничится только поиском файла. Изменил условие, плюс немного переделал скрипт. Получился короче. Но, опять таки же, не проверял)
|
by_gangster, а кто сказал, что там обязаны быть скрипты под инно? я-ж писал - с функциями exec думаю, разберешься без посторонней помощи? в справке к нанозипу однозначно есть пример распаковки командами.
|
Gnom_aka_Lexander, Короче просто напросто подскажи как сжать игру размером 8.52 ГБ ? У меня сжимет только до 7.20 Гб
|
Цитата:
---------------------------------------------------------------------------------------------------- Цитата:
Если среди ключей запуска есть 'iGroup' - создаётся ярлык в меню пуск, 'iDesktop' - создаётся ярлык на рабочем столе, если оба ключа - создаются оба ярлыка.. Принцип думаю ясен. |
Mailchik, А можно по подробнее? Например в командной строке какой ключ надо ввести чтобы создался ярлык на рабочем столе? Или это опять же через /LOADINF?
|
|
Aquila, setup.exe iDesktop - создастся ярлык на рабочем столе..
изучите код, который я выше написал.. в секции Icons идёт проверка на каждый ярлык. Для рабочего стола идёт Check: DesktopIcon;, для меню "Пуск" - Check: GroupIcon; |
Mailchik, А этот чек ( Check: ) можно применить не только к [Icons]?
|
Aquila, аналогично к [Dirs], [Files], [Registry], [INI], [Run] и т.д.
|
|
Цитата:
|
Цитата:
Сейчас зациклился на MsgBox. Где-то что-то не правильно делаю, либо вообще не туда полез. Т.к ключ должен быть в любом случае, то значит должна быть проверка на то введён ключ в инсталляторе или нет т.е если в инсталляторе окошки пусты, либо не хватает буквы или цифры то при нажатии на далее выводил сообщение MsgBox('Вы должны ввести ключ.', mbError, MB_OK);, либо же кнопка далее была бы не активна до тех пор пока весь ключ не будет введён, вот что-то одно. |
Crazy Noise,
|
Mailchik, Благодарю!
А как сделать, чтоб когда набираешь код, то автоматически переходило в следующее окошко, а не так чтоб мышью выбирать? Возможно так сделать? |
Цитата:
Цитата:
------------------------------------------------------------------------------------- Цитата:
|
как добавить чекбокс на создание резервной копии файлов?
|
Цитата:
|
и как сделать,чтоьы инсталятор перед установкой закрыл процессы
|
Цитата:
|
Всем Привет! Подскажите пожалуйста как к этому скрипту прикрутить ISDone0.6final?
Скрипт |
wertulll
|
Как сделать обводку у текста, допустим текст белый а обводка чёрная, всё перерыл, не где не нашёл и зделать тень (без добавления нового TLabel)
Вот участок кода: |
neorom,
Цитата:
http://www.az-design.ru/index.shtml?...Delphi/D3/SB20 Пример: PS: это я портировал с делфи. |
А как на счота обводки букв(текста) ?
|
neorom,
Цитата:
теперь создание надписей через процедуры CreateTextWithBorder(...), CreateTextWithShadow(...), что намного практичнее и проще что отправлять им в качестве аргументов понятно по названиям ссылок в заголовках и переменных в структуре _LITTLE_FONT_INFO процедура CreateSquare(...) - бонус - создаёт прямоугольник. Кстати то что не умеет инно можно дополнить WinApi функциями из gdi32.dll. Пример такого подхода в шапке, в "создании кастомного чекбокса" скрин: |
Уважаэмий Johny777 прошу вас виложить отдельно скрипт для тени текста, и скрипт для обводки текста бо у меня их розєденить чтото не получаэться ( и чтоби текст VALVE отображался на странице вибора папкм установки). Спасибо.
|
neorom,
Цитата:
Цитата:
TBitmapImage->TBitmap->TCanvas. чтоб создать такой рисунок нужно много параметров и чтобы не получился километровый заголовок функции я написал свой тип = структура _BORDER_TEXT_STRUCT и _SHADOW_TEXT_STRUCT в соответствии для каждого примера. Всё работает предельно просто. 1. Мы объявляем ссылку на структуру 2. запоняем её (структуру) 3. отправляем в функцию и получаем на выходе старый добрый TBitmapImage, с которым умеет работать думаю каждый как ты просил - два отдельных примера с комментариями 1-пример создания текста с тенью: 2-пример создания текста с обводкой: Внимание всем! Данный пример нужно использовать только в том случае, если у класса на котором хотите рисовать нет подкласса TCanvas, в противном случае лучше использвать пред. пример, тк он быстрее(хотя на глаз не видно:)). Хотя и у этого примера есть свой плюс - картинка на выходе. ==================================== UPD разъединил предыдущий пример: с тенью: с обводкой: прямоугольник: |
Прошу помогите , хочу создать инсталл для игры, сделал разбивку на тома, а оно максимум может 2гига что ли, а бин должен весит как минимум 3-4гиг, помогите сделать что бы бин весит максимально возможное у игры и не было 2-3 бин файлов?
|
Tima182, это ограничение заложено в компилятор. его не обойти никак. тоесть вообще нмкак. вообще-вообще. и не нужно говорить, что, мол, видел у кого-то. то, что ты видел - это внешние архивы, не более.
|
Цитата:
Цитата:
Цитата:
|
Tima182 http://krinkels.org/forumdisplay.php?f=141 изучай
|
При запуске инсталлятора на Win XP RUS вылетает ошибка - 'Cannot Import dll:C:\DOCUME~\Owner\LOCALS~1\Temp\is-8DNAR.tmp\mylib.dll'
На англоязычных осях все в порядке. Inno Setup 5.5.2(a) не юникодовый. В чем может быть проблема? |
|
habib2302 с файлами кидай
|
Цитата:
Цитата:
|
habib2302 пробуй http://rghost.ru/46409287
|
insombia, AIDA64
Код:
[.....code] |
habib2302 это уже по примеру сделаешь,это не сложно
|
habib2302, а чего там было сложного?
P.S. Скрипт можно немножко причесать, в частности, извлечение ресурсов. Но это уже сами. Цитата:
|
habib2302 значит ты криво сводишь,или что-то в скрипте скрывает те каринки
|
habib2302, я скрипт, двумя постами выше, для кого выложил? Это полностью сведенный скрипт, из кусков, что вы сами и дали, и проверенный, соответственно.
|
блин,помогите прикрутить через ботву лого прозрачное (в ботве не шарю) http://rghost.ru/46424176
|
insombia,
Пример: описание входных аргументов читай в модуле (внешней библиотеке) botva2.iss чтобы из скрипта-примера перейти к прототипу импортируемой функции держи зажатым Ctrl и левой кнопкой мыши нажми на имя используемой функции |
Johny777 на юникоде когда добавляю в DeinitializeSetup часть кода,инсталл после закрытия вылетает
p.s. а можно сделать ссылку кликабельной на png? |
insombia, вот держи кликабельное лого без фона. лого работает и в инсталляторе и в деинсталляторе!
лого без фона только для работы в инсталляторе лого без фона для работы в инсталляторе и деинсталляторе если будут проблемы в работе ботвы, то держи другую ботву |
замечал что скиммер ( на англ не помню ник) в репаках делает фичу,которая увеличивает время установки,но это вроде не приоритет,что оно такое?
|
insombia, у Skymmer'а фича та зовётся сильным сжатием.
|
кто-то может наглядно показать как юзать в исдоне isexec через тим вивер?
|
можно ли на скин наложить кнопки закрыть и свернуть через ботву?
|
insombia, через ботву я не знаю,но в шапке есть пример Наложение изображений на стандартные кнопки
можно сделать в is тип установки:установка и распаковка? |
Цитата:
если ты хочешь через ботву то только так |
|
habib2302 не совсем понял вопрос
|
|
habib2302 ну такое я не знаю как сделать,так как в первые вижу
p.s. мне кажется или оно одно и тоже что установка что распаковка? |
|
Цитата:
|
мне кто нибудь ответит на мое сообщение????
|
|
Цитата:
Код:
const |
Подскажите функцию поиска папки по маске или по имени.
|
Robby, по имени, с рекурсией:
по завершении входной массив содержит пути к папкам с искомым именем |
прошу протестировать простой установщик (отправил знакомому через файлообменник, не запускается пишет ошибка
"Divizion by zero 09:49:50 Runtime error at 153:614 Invalid Opcode" тут = http://file.sampo.ru/w287gd/ |
audiofeel
|
Здравствуйте, господа. Подскажите, пожалуйста, как через секцию код проверить, какой язык был выбран перед началом установки?
|
|
saurn,
Цитата:
Цитата:
|
audiofeel я бы убрал меню о программе и сделал бы линию снизу там где черный фон ,а так все гуд
|
audiofeel а как ты в DirBrowseButton поменял обзор на изменить?
|
insombia
|
можно как-то сделать чтобы инсталл нельзя было передвинуть?у меня он в углу и я не хочу чтобы его двигали
|
Цитата:
|
saurn не много не то,но ладно,просто на сколько я знаю то нужно юзать isexec чтобы инсталл был типа не подвижный,но архивы распаковывались,но я в isexec не понимаю
как сделать двойной прогресс бар, чтобы второй был маленький(у каталистов сейчас так) |
insombia, saurn, думаю лучше всего через таймер с задержкой в 1 секунду, чтоб не было мигания. Да и классно - перетаскиваешь, а форма назад хочет! :)
|
Кто-нибудь совладал с этим:
http://www.han-soft.com/uninshs.php |
какая вообще последняя версия isexec?
|
insombia, гугл еле-еле нашел, вот это последняя версия
|
alert30 это не последняя,эта версия не распаковывает архивы упакованные srep+precomp,а только созданные фриарком и т д
|
insombia, перепроверил, только это, выше единичной версии нету.
|
|
APTEM2, Ваш архив со скриптом выкладывайте.
|
APTEM2 те файлы от срепа и прекомпа,которые были для сжатия,скопируй к файлам исдона с заменой,и если есть сними ; с
#define precomp "0.42" #define PrecompInside #define SrepInside |
alert30, insombia,
Ребят вот скрипт поглядите http://rghost.ru/private/46620721/1d...5d3014d4ce6f10 Помогите чётам надо |
APTEM2, так ничего не надо, это видно из описания ошибки. Unarcl.dll не может распаковать архив, который вы к нему подцепили в виду неизвестного ему метода сжатия. Подцепите архив, упакованный в FreeArc с опциями сжатия по дефолту и проверяйте: если распаковка проходит без ошибок то, как я сказал выше, смотрите в сторону опций сжатия.
|
А кто заведует справкой? Там есть ошибка.
В описании секции [Run], есть описание флага unchecked Код:
Действует только в секции [Run]. Указывает инсталлятору не ставить флажок в строке с параметром. Пользователь может его выбрать, если захочет его запустить. Этот флаг игнорируется, если также установлен флаг postinstall. |
saurn,
Можно поподробнее |
APTEM2
#define NeedMem 512 #define records #define facompress #define PrecompInside #define SrepInside #define precomp "0.42" ;#define unrar ;#define XDelta ;#define PackZIP ;#define Components перед setup поставь |
Подскажите пожалуйста. Как добавить дополнительные шаги в установщике ?
|
insombia, Всё спс ребят
И ещё что нужно прописать чтобы сделать слайд-картинок во время установки работаю над другим скриптом |
Inno Setup > по пунктам
Доброго времени суток. Поставил себе задачу написать инсталятор в программе Inno Setup. Наслышан об этой программе и её возможностям. Сидел сутки листал мануалы, перечитывал некоторые темы но всё же не нашел много ответов на свою задумку.
Я тут составил небольшой план по инсталятора (немного глупо но я теперь буду точно знать чего я хочу). Код:
1. Приветствие с картинкой и 2 кликобательнымы кнопками |
APTEM2 http://narod.ru/disk/22510124000/isS...v1.02.rar.html
3 пример это картинки в самом окне инстала byUnit что именно нужно? |
Я описывал выше!
|
byUnit то что ты описал,это тоже самое что я бы тебе задал вопрос на китайском!сформулируй правильно вопрос,шаги какие-софт или что?
|
|
insombia спасибо буду ковырять данные пункты
А вообще мне нужен инсталятор с моими вложенными файлами |
как добавить чекбокс для удаления сохранений/настроек игры?
|
habib2302, msgBox после деинсталяции:
Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
|
habib2302 переводить пробавал?
APPID_BAD_PIGGIES = '{9524C306-CC16-44A0-82AA-996409D1A059}'; здесь что-то не так |
в смысле и что переводить пробавал?
я тоже думал,что проблемы в этом коде если я не ошибаюсь что-то еще здесь не так Код:
///////////////////////////////////Удаление других приложений при старте |
Всем доброго вечера , хочу задать вопрос ! Возможно ли сделать так чтобы во время установки была кнопка "Детали" где после нажатия отображались детали установил как в nsis .
|
habib2302 что-то вроде не совпадает,та и зачем оно?
|
insombia, для того,чтобы перед установкой удалялась официальная игра,а вот ее appid {9524C306-CC16-44A0-82AA-996409D1A059}
|
Цитата:
Если подойдет Johny777 "Полезное сообщение" нажмете |
saurn спасибо
|
Цитата:
Код:
Buff := RemoveQuotes(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + AppIds[i] + '_is1,UninstallString|}')); Код:
RegQueryStringValue(HKLM, Format('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%s_is1', [AppIds[i]]), 'UninstallString', Buff); |
El Sanchez, в справке я нашел Если требуется ввести "{", наберите ее два раза. (You do not need to double "}" characters.)
я так и делал и все равно |
есть ли вообще констант к папке LocalLow
|
Цитата:
Цитата:
|
кому нужно забирайте http://rghost.ru/46708307 ,logo вставляйте(рисуйте свое)
|
Цитата:
Код:
APPID_BAD_PIGGIES = '%7B{9524C306-CC16-44A0-82AA-996409D1A059}'; |
El Sanchez,
спасибо за код.он работает Код:
RegQueryStringValue(HKLM, Format('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%s_is1', [AppIds[i]]), 'UninstallString', Buff); после удаления моего репака выдает ошибку ![]() и не удаляет оф игру,но понял почему не удаляет.инсталлятор пытается счита id у которого на конце написано _is1 {9524C306-CC16-44A0-82AA-996409D1A059}_is1,а id оф игры {9524C306-CC16-44A0-82AA-996409D1A059} я взял в редакторе реестра в конце id дописал _is1 и оф игра стала удалятся |
habib2302 секция UninstallDelete выглядит так?
Type: filesandordirs; Name: {app}; |
insombia, у меня нету этой секции UninstallDelete
|
habib2302 ну так добавь!как ты собрался удалять файлы без этой секции?
|
habib2302, старый пример нормально работает
Код:
Buff := RemoveQuotes(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + AppIds[i] + '_is1,UninstallString|}')); Цитата:
|
Здравствуйте!
Есть игра, репак. Состав простой setup.exe и setup-1.bin. Если оба файла лежат рядом - всё устанавливается как надо. Теперь убираем setup.exe в другую папку,и... в процессе установки просит вставить диск. ----------------------------------------------------------------------------------------------------------------------- - Как передать параметр месторасположения setup-1.bin в инсталятор setup.exe через батник или vbs? - Что написать в [code] чтобы инсталятор параметр принял и правильно обработал? |
|
semen77, никак, насколько мне известно. setup-1.bin неотъемлимая часть инсталятора и должна находится рядом с загрузчиком *.exe
|
insombia, saurn, я почему спросил, есть же параметры
Цитата:
или с этим Цитата:
Цитата:
|
Цитата:
Цитата:
--------------------------------------------------------- По поводу указания ексишнику местоположения псевдо бинарников, знатоки скажут вам более точно. Я с таким никогда не сталкивался, и не думаю, что это возможно. Инсталлятор - *.exe, *.bin - по сути архив, разбитый на части. Все части архива должны располагатся в одной директории. |
у кого-то есть батники для запаковки srep+precomp? а то свои потерял
|
Здравствуйте, друзья!
Собственно, вот что я хотел у Вас спросить. Мне необходимо, чтобы во время установки загрузился файл из Интернета. Организовал я всё это дело через Inno Tools Downloader. Мне необходимо, чтобы этот загружаемый файлик сохранялся не в корневую папку установки, а в подпапку. Попытался написать вот так: Код:
itd_addfile('http://u.to/8Su7Aw',expandconstant('{tmp}\subdir\file')); // Пишем ссылки на файлы тут Как же можно это организовать? Спасибо. |
volga163@vk попробуй так
CreateDir(ExpandConstant('{tmp}\subdir')); itd_addfile('http://u.to/8Su7Aw',expandconstant('{tmp}\subdir\file')); // Пишем ссылки на файлы тут |
Цитата vint56:
volga163@vk попробуй так » Спасибо огромное, помогло. Ещё один вопрос. Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию. А как можно сделать, чтобы файлы загружались в папку, которую выбирает пользователь при установке? Код: Код:
procedure InitializeWizard(); |
Цитата:
|
Всем привет, когда то давно делал скрипт, работал на ура, сейчас пробую его и результат плачевный пишет про
Warning: Line 34, Column 1: [Hint] Variable 'WELCOMELABEL1' never used Warning: Line 34, Column 1: [Hint] Variable 'FINISHEDHEADINGLABEL' never used Посмотрите в чем может быть проблема? Заранее большое спасибо. Вот скрипт |
CkauNui, скрипт и сейчас работает, а то что вы принимаете за ошибку, на самом деле предупреждение компилятора что вариации для указанных стандартных контролов не используются. У вас в скрипте указанно лишь, что эти контролы скрываются, а так как существуют стандартные контролы с такими же именами, то переменные TLabel для них ведут в никуда. На работе инстала это никак не скажется, но, если это предупреждение нервирует, уберите контролы из переменных.
Есть так: Код:
WelcomeLabel1, WelcomeLabel2, FinishedLabel, FinishedHeadingLabel: TLabel; Код:
WelcomeLabel2, FinishedLabel: TLabel; |
Цитата:
|
Цитата:
Скрины: |
CkauNui, лейблы к скину отношения не имеют, а так скинами не пользуюсь, подсказать по ним ничего не могу.
volga163@vk, на скрипт ваш можно глянуть? |
|
volga163@vk,
|
saurn, Если сделать, как у Вас, InnoTools Downloader не может скачать файлы:
Sorry, the files could not be downloaded. Click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup. Какие ещё могут быть идеи? :sorry: |
Цитата:
|
volga163@vk, обновил свой предыдущий пример http://forum.oszone.net/post-2168645-646.html
|
saurn, Спасибо ОГРОМНОЕ, теперь всё работает. Разобрался.
|
люди помогите мне.я делаю репак chemax & chemax rus.скрипт я брал за основу скрипта aida64.ситуация такая при выборе двух компонентов все файлы дву chemax'ов копируются в одну общую папку и получается вот так
![]() помогите мне сделать так,чтобы при выборе двух компонентов создавались подпапки для компанентов |
habib2302, угадай, мы попросим показать скрипт или нет?
|
R.i.m.s.k.y., sorry!!!
RGhost |
habib2302, в том скрипте аиды это реализовано, причем первый раз мной же. Ну вот что тут сложного, вроде не новичек. Да и в справке описано.
Код:
[Files] |
Друзья, а ни у кого не получилось русифицировать Inno Tools Downloader? Кракозяблики в любой кодировке выходят (пробовал ANSI, UTF-8, Win-1251, Win-1252).
|
я дописал то,что выделено жирным в коде и все равно
Код:
Source: Компонент 1\*; DestDir: {app}\Компонент 1; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: programms1; |
habib2302, ну вот я дописал имена подпапок и все устанавливается
Код:
Source: {app}\{#CheMax}\*; DestDir: {app}\Original; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: CheatsMaximal\CheMax; |
saurn,
RGhost |
Со скином разобрался (была проблема в isskin.dll)
Теперь нужна помощь. Хочу сделать выбор компонентов: ----- Обычный шрифт Красивый шрифт ----- Обычный хит-бар Хит-бар версия 1 Хит-бар версия 2 ---- и все в таком духе, вопрос как сделать чтобы при выборе "обычный шрифт" галка с "красивый шрифт" снималась автоматически, тоесть или то или то. И во 2 выборе хитбаров тоже самое. Желательно чтоб к каждому пункту можно было прикрутить картинку (например при наведении мыши или при выборе картинка показыывается в отдельно окне) Благодарю заранее. Немного разобрался: Остался вопрос с возможностью добавления картинок к пунктам, и возможно ли поменять цвет у fixed элементов ? Также можно ли настроить порядок установки (или они устанавливаются так, как я прописал в [Files] ?) и как сделать чтобы не выскакивало окошко о уже установленных компонентах ? ![]() |
volga163@vk, а 866 кодировку не пробовал? дос он такой, вечтозеленовый
|
Цитата CkauNui:
они устанавливаются так, как я прописал в [Files] » да, сверху вниз Цитата CkauNui: как сделать чтобы не выскакивало окошко о уже установленных компонентах ? » Flags: disablenouninstallwarning Цитата:
|
CkauNui,
Цитата:
скрин: наглядный пример: http://sendfile.su/905839 Цитата:
Цитата:
Цитата:
UPD: Немного улучшил код "картинки-подсказки". Демо перезалито! |
люди.как сделать,чтобы этот текст Перед установкой необходимо удалить все старые версии приложения, вызвать программы удаления сейчас переводился в зависимости от выбраного языка
|
habib2302 не давно сам хотел сделать себе выбор языка,но потом подумал - а зачем? каталисты его сделали по тому что на их сайт и англичаны заходят и качают репаки,а переход сделан спецом для них,так что не вижу смысла этой фичи
|
Цитата:
Код:
[Languages] |
R.i.m.s.k.y., Johny777, Большущее вам спасибо)
Johny777, в том скрипте выдает ошибку TItemArea, в чем может быть трабла ? |
CkauNui,
Цитата:
Установи расширенную версию инно из шапки UPD: Моя версия: http://sendfile.su/827598 |
Цитата:
можете скинуть свою версию inno? Все работает отлично, спасибо ещё раз. |
можно сделать список компонентов который можно скрыть и раскрыть?
|
Цитата:
Код:
[Setup] |
habib2302 когда-то мне гном давал пример,что компоненты типа выежают из инстала,если найду кину
нашел |
habib2302, Есть ещё такой вариант
|
insombia, получается пустая страница компонентов
|
habib2302 а у тебя компоненты вообще в скрипте прописаны?
|
insombia, да
|
habib2302 кинь скрипт с файлами(можешь в лс если хочешь)
|
Цитата:
|
habib2302 кароче там нужно будет просто скрыть страницу компонентов и все
|
Добрый день. Может кто подсказать? Как прервать установку после ошибки одного из файлов, запускаемого через секцию Run? У меня в этой секции с ошибкой вылетает программа unzip.exe и, соответственно, мне нужно остановить дальнейшие действия, выполняемые с распакованными файлами.
|
mifkys Check: CheckError пробовал такое добавлять?
|
Цитата:
|
Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
del
|
еще такой вопрос. Можно ли во время установки после каждой записи в блоке [Run] выводить окно о запросе на продолжение установки, чтобы пользователь сам нажимал "Далее"
Цитата:
|
Цитата:
|
Цитата:
|
mifkys,
Цитата:
если я правильно понимаю поставленную тобой задачу Пример: В функции с выводом булев значения зарезервированная переменная Result инициализируется со значением False по дефолту. Поэтому в данном случае True будет только если функция вывода диалогового окна винды вернёт число под константой IDYES, то бишь пользователь нажмёт "Да" если Check получит True, то будет "выполнена строка", в данном случае запуск, если False то ничего не произойдёт, те проверка производится перед действием описанным в строке до которой дошла очередь |
а как сдлеать так чтобы, если Win 32bit, то в секции [Run] выполнится одни, а если Win 64 bit, то другой?
|
Lex_from_Belarus, Таким же макаром:
Код:
[Run] |
Johny777, да я так пробовал, у меня был вариант:
я сделал: full, medium, lite - это я так реализовал условия для установки и этот файл во все три варианта входит но к сожалению и 32 и 64 на 64-ке установились |
Lex_from_Belarus, попробуйте так:
Цитата:
Цитата:
|
Вот спасибо, а я даже и не подумал об этом :)
|
http://i47.fastpic.ru/big/2013/0627/...406fa3598c.png
И снова я . Помогите решить эту проблему - http://sendfile.su/831604 |
Dinvin4ester та задолбали вы уже,читайте справку к исдону,или листайте страницы!!!
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\ВАШ АРХИВ'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break; |
insombia,
Вы хоть скрипт смотрели , просто я не могу найти . |
Dinvin4ester, ПАПКА Modules\ISDone В САМОМ НИЗУ
|
Да хз , а можно вообще убрать , архивы ведь не использую , а пользуюсь средствами инно .
|
Dinvin4ester, сделай так
//f not ISArcExtract ( 0, 0, ExpandConstant('{src}\ВАШ АРХИВ'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break; |
vint56,
Теперь ошибку выдает при компиляции - http://i48.fastpic.ru/big/2013/0627/...215f61adaf.png . Ребята извините если что не так . Это последняя просьба ) |
Dinvin4ester, что ты закаментировал или правил
|
Как вы и сказали в исдон - // добавил и все .
|
Dinvin4ester, все работает
http://rghost.ru/47060078 |
vint56,
И еще задам нубский вопрос - куда прописать саму папку и файлы ехе ? А то компилирую и ставится сам скрипт . |
Dinvin4ester, отвечаю на твой последний вопрос а дальше читай справку
[Files] Source: "C:\Games\Ubisoft\Tom Clancy's Splinter Cell Chaos Theory\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
vint56,
Все , все благодарю и удаляюсь с темы . Спасибо что возились со мной . |
Ребя и опять я . Хочу узнать как прописать в скрипте установку русификатора на выбор и таблеток тоже . Куда и что прописать ? Спасибо .
|
Dinvin4ester
|
подскажите, так инсталятор созданный версией 5.5.1 не распаковывается?
|
Lex_from_Belarus,
Если версия Inno расширенная, то и не распакуется. |
доброе время суток.Помогите мне решить одну проблему.Короче.я использую код для удаления других приложений.
Код:
[ code] ![]() но программа ранее не была установлена вот мой скрипт |
habib2302, если мне не изменяет память, в оригинале у Johny777 это код выглядит несколько иначе:
А вот это вот что: Код:
if MsgBox('Перед установкой необходимо удалить предыдущую версию приложения. Продолжить?', mbError, MB_YESNO) = IDNO then Exit; P.S. Я понимаю, что вы не ищите легких путей, однако зачем использовать такую махину для банального удаления программы, когда можно обойтись всего несколькими строчками? |
Всем доброго времени суток. Объясните пожалуйста неучу, как реализовать следующее: нужно, чтобы в процессе работы инсталл периодически проверял наличие некоего файла на диске, если файл, вдруг, будет удален в процессе работы, то станет неактивной некая кнопка, если же файл появится кнопка вновь будет задействована. Самодостаточный пример не обязателен, хочу узнать сам принцип.
|
saurn, создавай таймер на этапе ssInstall , а на ssPostInstall освобождай. В процедуре которую он будет выполнять опиши нужное тебе действие типа MyButton.Enabled := FileExists('...');
============================================= Цитата:
|
Johny777, в том случае понятно для чего, там могло выполнятся удаление сразу нескольких приложений, но в последнем случае только одно, так что наверное будет достаточно и Exec с ewWaitUntilTerminated))
Цитата:
|
Цитата:
habib2302, вот пример: UPD: Улучшил пример! |
всем доброе время суток.как сделать,чтобы файл информации о том же самом репаке переводился в зависимости от выбранного языка?
|
habib2302, при помощи CustomMessages ,было уже: http://forum.oszone.net/post-2169481-665.html
|
saurn, т.е ты имеешь виду перевести info.rtf
|
habib2302, saurn,
Цитата:
Name: Russian; MessagesFile: compiler:Languages\Russian.isl; InfoBeforeFile: Russian.rtf Name: English; MessagesFile: compiler:Languages\English.isl; InfoBeforeFile: English.rtf с InfoAfter, лицензионным соглашением нужно также, чтоб они отображались в зависимости от активного языка PS habib2302, Цитата:
К тому же этот вопрос уже задавался, юзай пожалуйста поиск перед тем как спрашивать! Я б сейчас не наезжал, но такие вопросы с твоей стороны задаются слишком часто |
Вот еще один пример только теперь для Лицензии
[Languages] Name: Russian; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: "InfoRu.rtf"; Name: English; MessagesFile: "compiler:Languages\English.isl"; LicenseFile: "InfoEn.rtf"; |
Цитата:
|
Цитата:
![]() так и осталось!!! |
Цитата:
|
Johny777, вариант с таймером оказался не жизнеспособен: память утекает, как в трубу.
|
Ребята сильно не пинайте, но у меня опять возник вопрос - имею вот такое
Код:
[Files] |
Dinvin4ester
Код:
Source: InstallFiles\*; DestDir: {tmp}; Flags: deleteafterinstall; |
Dinvin4ester
Source: InstallFiles\*; Flags: dontcopy это временные файлы установщика они не как не могут устанавливаться в app каталог |
saurn,
Цитата:
Под себя при создании он берёт 1 раз 14 кб И я не знаю какой таймер ты используешь. Я стандартным TTimer-м не пользуюсь :) Кстати есть ещё высокоскоростной таймер MMTimer (мультимедийный), который работает в отдельном потоке без задержки, но он в твоём случае думаю неуместен |
Johny777, спасибо. Дело было именно в таймере, просто я реализовал его не верно.Точнее не так.
Вот, как раз стандартный TTimer я и пользовал)) UPD: А виноват действительно был не таймер. Нашел причину утечки памяти. |
Теперь такая ошибка - http://i46.fastpic.ru/big/2013/0701/...6ebac13f77.png
сам архив - http://sendfile.su/833359 . В том то и дело что вместе с игрой устанавливаются папки , но в них ничего нет . |
Dinvin4ester, смотрим на вашу секцию файлов и что мы там видим:
Код:
[Files] |
saurn,
Получается не убрать это ? |
Цитата:
Код:
[Dirs] |
saurn,
Благодарю , все получилось . |
Ребята, помогите убрать эффекты в слайдшоу и если не сложно сказать, что за чёрная полоса торчит в последнем окне инсталлятора - http://i46.fastpic.ru/big/2013/0702/...a65deeb16b.png
Сам скрипт= http://sendfile.su/833659 . Заранее спасибо . |
Цитата:
Код:
InitializeSlideShow(BackgroundForm.Handle, 0, 0, GetSystemMetrics(0), GetSystemMetrics(1), False, 1); |
Dinvin4ester я и могу ошибаться
мне кажется LabelTime3 не скрыт он скрыт при ошибке а не скрыт при нормальной установки wpFinished:эти там есть begin LabelTime3.Hide; добавь это |
saurn,
Вот скрипт с установочным файлом - http://sendfile.su/834007 Эффект "растворения" в слайдшоу еще можно как-то прописать ? И если не сложно вы ранее мне давали как прописать на рус и т.д , так вот посмотрите правильно прописал , а то у меня не русифицирует,но переписывает файлы куда надо,да и просто, видать, версии не совпадают.Мне именно важно знать, в таблетках, русике, озвучках флаги какие должны быть. |
Имеется скрипт
Вопрос первый: Как прописать команду выполнения ? Второй вопрос: Можно ли как-то эту секцию кода запускать по кнопке через [Run]? |
|
подскажите мне как сделать чтобы инсталлятор создавал ветку реестра с ковычками.т.е
было так C:\Program Files (x86)\Universal Share Downloader\USDownloader.exe а стало так "C:\Program Files (x86)\Universal Share Downloader\USDownloader.exe" |
Цитата:
Код:
Root: HKLM; Subkey: SOFTWARE\My Program; ValueName: Path; ValueType: String; ValueData: """{app}"""; Flags: uninsdeletekey; |
|
А мне не поможете ?
|
помогите решить одну проблему.короче. есть прога Universal Share Downloader 1.3.5.9 и как сделать чтобы программа запускалась вместе с windows свернуто
|
habib2302,
Цитата:
Цитата:
Цитата:
|
Crazy Noise, saurn,
Цитата:
Кстати вот имплементация из делфи функции RandG() на основе нормального распределения по Гауссу ![]() Работает она медленнее (особенно в инно), но разброс в диапазоне намного "случайнее". Кому надо забирайте! :) |
|
Цитата:
|
http://rghost.ru/47250682 при наведении на таксбар видно черную полосу,как её убрать?
http://i48.fastpic.ru/big/2013/0706/...a6c6d72872.jpg |
insombia, это типичная проблема.для примера возьми установи тему на инсталлятор и там будет другия кривизна
|
insombia, это у самого Windows 7 не так.
|
Цитата:
|
Цитата:
доброе время суток.Я решил вернутся к моему сообщению по поводу appid с фигурными скобками {} Цитата:
![]() |
прошу мой скрипт
|
не нашел тему для пережатия файлов и т д по этому пишу здесь,кому нужно вышла новая версия SrepInside v0.3.1
поддержка распаковки архивов последней версии srep v3.91; убрал проверку контрольной суммы, т.к. фриарк при распаковке сам ее проверяет. habib2302 может там 2 файла для удаления? потому что если твоим скриптом все удаляет |
insombia, сама официальная прога удаляется без проблем,а во время деинсталляции моего репака выдает ошибку
|
если удалить репак через программы и компоненты или тот же самый ccleaner удаляется без всяких проблем,а если удалить при повторном запуске инсталлятора то появляется ошибка.значит что то нетак в инсталляторе
|
habib2302, держите
|
saurn,
Спасибо еще раз . Все получилось . |
Приветствую!
1. Как в инсталлятор встроить рекламу от Google Adsense? И разрешено ли это гуглом? Если нет, так как встроить свои баннеры? 2. Как можно подсчитать количество установок? Например, можно было бы отправлять по окончании успешной установки get/post запрос на свой сайт. И желательно с ip-адресом, чтобы можно было считать уникальное число. Как можно это реализовать? Интересует отправка, так как на php я уже сам приму. И что скажут по этому поводу антивирусы? |
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Всем привет :hi:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
del
|
Цитата:
|
http://i47.fastpic.ru/big/2013/0712/...c10fa57e8c.jpg как убрать белую обводку вокруг кнопок?
|
Цитата:
|
Цитата:
если еще точнее - главным окном приложения. А вообще просто переход на юникодную версию инно легко решает этот вопрос без дополнительных усилий. правда тогда наверняка часть скрипта придется переписывать. если не весь. Ах, да. Еще один гемор в этом направлении. WM_CTLCOLOR довольно криво работает с XP манифестом. |
Цитата:
Цитата:
Цитата:
|
|
Gnom_aka_Lexander, ясно, в юникодной версии фон дочернего окна закрашивается кистью родительского, для анси реализовывать самому.
|
El Sanchez, на правах частичного оффтопа - лучше ведь, использовать возможности инно, в плане оптимальности готового приложения, чем описывать в инно эту реализацию? тем более не нужно предпринимать вообще никаких действий, для обеспечения нужного эффекта.
|
все было из-за темы
p.s. спасибо Gnom_aka_Lexander и El Sanchez за помощь,буду знать |
Немного переделал свой старый код авторана. По хорошему его бы надо целиком переделать, но, в принципе, заложенные функции выполняет правильно. Может кому сгодится.
Скачать архив P.S. |
delete/
|
Всем, доброго!
Подскажите как бы в сетапе проверить, установлено в системе ms officсe нужной версии. И если нет то скачать с сайта и установить runtime версию access. з.ы. прошу отнестись с пониманием. Поиск не рулит, курить сначала тему не реально. |
Цитата:
Цитата:
Цитата:
|
Доброго времени суток. Помогите реализовать:
необходимо, чтобы в процессе установки копировалось содержимое компонента 1, затем запускался exe-файл, (если выбраны оба компонента) компируется содержимое компонента 2 и снова запускается тот же exe-файл. Но по умолчанию в инно, в начале скопируются файлы (содержимое) и только потом запустится секция run. файл 1 - запуск exe - файл 2 - запуск exe Возможно я не вижу элементарного, подскажите, как это реализовать. |
|
Всем привет :hi: Есть ли возможность вывести в кастомный лейбл имена копируемых файлов(не полный путь, а имя конечной папки и текущего копируемого файла), когда для них установлен флаг external? CurrentFileName, ExtractFileDir, ExtractRelativePath в данном случае не работают.
|
saurn, Так можно:
Только вот инно по дефолту укорачивает длинный путь многоточием, чтоб уместить в длину статик текста. Решение - удлинить статик текст. Для примера отображаю всё в заголовке формы PS: как вариант копировать через код. Если решение выше не устраивает - говори. Будем делать через код Максимальный путь в винде равен 260 (+1) символов |
Доброе время суток, подскажите пожалуйста, сделал рекомпрессию прекомпом, в батнике написал Precomp041.exe - slow -c- "название файла", но распаковка потом не идёт, выдаёт ошибку запуска концольного приложения Precomp041, в чём проблема?
|
Johny777, благодарю. Да я обратился к этой теме скорее для повышения кругозора, чем из необходимости. Inno своими средствами выводит имена файлов, просто я обрезал строку FileNameLabel, чтобы отображалась только последняя папка и имя копируемого файла, и когда начинается копирование внешних файлов строка получается пустой.
----------------------------------------------------------------- UPD Твой способ, как раз то, что нужно. Лишь исправил немножко на: Код:
BuffPath := WizardForm.FilenameLabel.Caption; ----------------------------------------------------------------- Fakt_37, оффтоп Цитата:
|
saurn,
Цитата:
или так MsgBox(ExtractFileName(ExtractFileName(WizardForm.DirEdit.Text)), mbInformation, MB_OK); PS: функция GetLastPathFolderName написана на низком уровне, работает бетонно. В Си была бы длиннее, тк нужно было бы писать вручную RemoveBackslash() и Length() Скорость работы GetLastPathFolderName на максимальном уровне. Всё остальное зависит от компилятора и я фиг знает как написана ExtractFileName. Поэтому к ExtractFileName нет доверия |
Цитата:
|
Необходимо простому пользователю поставить программу, требующую админские права.
Если запустить от админа - то все переменные пользователя инно определит админские, а не оригинального пользователя Конкретно нужна папка appdata оригинального пользователя и его же HKCU RunAsOriginalUser не решает Как обойти грабли? |
R.i.m.s.k.y., поднятие привилегий собственному процессу не поможет? пример понятия привилегий в шапке, в "закрытии процесса".
возможные привилегии: описание каждой привилегии: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx ай-ди своего процесса получаешь WinApi-функцией GetCurrentProcessId() Получить иня пользователя запустившего экзешник можно http://www.delphimaster.net/view/4-1107175032 в 5-м сообщении например рабочий пример (протестировал на делфи) |
|
Цитата:
поднимай например перед тем как тебе нужно выполнить действия админа. Опускай после завершения действий Цитата:
PS: Если честно я хз получится ли ================================================================================================= Fakt_37, Так сойдёт? |
Цитата Johny777:
PS: Если честно я хз получится ли » не, не получается Установщик запрашивает логин/пасс админа и все делает для него Зачем тогда в Инно флаг runAsoriginaluser? и как этот параметр работает? Даже если запустить свой установщик из другого с runAsoriginaluser - борода, все вносится в админский акк |
Приветствую еще раз! Можно ли в Inno Setup поменять порядок выполнения секций? Нужно сначала [Run] прогнать, а потом уже [Dirs] и [Files].
|
Цитата:
|
mifkys, нет
используй CurStepChanged/CurPageChanged |
Всем доброго времени суток! Возникла необходимость средствами Inno узнать название видеоадаптера. Кто подскажет, как с помощью API в Inno это провернуть?
|
Fakt_37, читайте в справке про секцию [Components]
Код:
[Components] Цитата:
|
nik1967, в шапке скрипт Ultimate Test Black Skin, в нем выдергивается не только имя адаптера, но и память, разрешение экрана...
Fakt_37 saurn, флаг exclusive Код:
[Components] |
nik1967, список имён видеокарт через winapi-функцию EnumDisplayDevices() :
PS: с флагами запутался. http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx Почему то имя одной и той же видеокарты возвращает 2 раза. Решаю этот вопрос проверкой на отсутствие имени в выходном массиве строк |
Johny777 Это копипаста из шапочного ултимейт тест
Цитата:
но я делаю так Код:
function GetAllVideoCard():String; // HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318} И главное - в системах с оптимусом покажет не только intelHD, но и гефорц вот тут можно узнать div видюшек http://cateee.net/lkddb/web-lkddb/DRM_I915.html |
R.i.m.s.k.y., По секрету :) Я шапочный ултимейт тест в глаза не видел. Открыл гугл и нашёл функцию
читал, что можно и из реестра дёрнуть. Только функция как-то милее :) это сообщение пустое, и будет удалено ... потом ... мной |
Johny777, а твоя/шапочная функция дернет только текущий активный адаптер, я это проходил когда в SVP делал определялку видюшки для подбора профилей
Дык и у меня функция, возвращает построчно список видюшек Кстати вот тут можно узнать div видюшек http://cateee.net/lkddb/web-lkddb/DRM_I915.html да ладно, не удаляй сообщение че-то у меня подписка на тему не работает до кучи в шапку GUID'ы дивайсов http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx |
R.i.m.s.k.y., никак нет, я на ноуте сейчас. Возвращает 2 видюхи, интел и нвидию. Активный - интел
|
Цитата:
|
Друзья, выручайте. Совсем у меня то ли с памятью, то ли с головой в целом случилось. Как можно в Inno Setup сделать текстовый логотип в верхнем левом углу установщика? Ну как здесь: (взял первое, что под руку попалось :) )
|
volga163@vk
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program WindowVisible=true |
vint56, Спасибо!
А ещё вот такой вопрос. Можно ли этот логотип сделать поверх фоновой картинки? Картинка вызывается так (нашёл скрипт на просторах интернета): |
а можно ли из одного скрипта установить сразу несколько игр? причём скрипт с автораном, знает кто как это сделать?
|
Цитата:
Цитата:
|
volga163@vk
|
vint56, Спасибо большое, работает. Последний вопрос, можно ли сделать фон прозрачным? А то получается светлая рамка на картинке.
|
|
а как сделать чтоб вот эта строчка "if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;" запускалась только после выбора того или иного компонента?
|
Fakt_37 это пример из справки
|
Цитата:
не выскакивает окно уака/пасса покромсал пример "закрытие процесса" Ну и по факту видно что права как были простые так и остались Код:
[Code] |
нашел вот что http://support.microsoft.com/kb/981778
поможет ли это под простым пользователем поставить программу, требующую админа, для записи переменных в окружение простого пользователя |
R.i.m.s.k.y., если честно я нифига не понимаю Зачем тебе весь этот изврат? Программно сделать из простого пользователя админа очень сложно - точно, я почти уверен невозможно. В первую очередь на инно.Но вопрос зачем? Если что-то должно быть сделано админом, то инсталл запрашивает права (по дефолту так). Пусть пользователь введёт пароль админа, или войдет в систему под админом и тд. Не вижу в этом ничего плохого. Я б на твоём месте забил бы. Даже если есть решение, там может быть столько подводных камней, что офигеть можно.
|
Цитата:
Цитата:
Цитата:
|
Ребят, может кто помочь? У меня тут такая проблемка нарисовалась.... надо добавить в установщик еще 1 окно с выбором компонентов для установки.... точно такое же как и для выбора директории установки, только вместо директории (поля)... поле с выбором компонентов.
Вот тут есть готовый установщик: http://dfiles.ru/files/0v855lkzw Может кто помочь? Вот тут привожу код для окна с выбором директории... что там надо поменять, чтобы переделать его на окно с компонентами? Я просто еще только начинаю свой путь, еще мало знаний... буду благодарен за любую помощь: Код:
var |
R.i.m.s.k.y.,
Цитата:
Какая из них тебе нужна не заню Предполагаю - для каждого действия с твоей стороны нужна своя привилегия, а не одна на все! Если используешь несколько подряд. Не забывай удалять старую (при помощи булев аргумента Enable) перед настройкой новой UPD: Кажись это всё-таки то, что тебе нужно. Вот статья http://www.rsdn.ru/article/baseserv/privileges.xml там написано: " Учетные записи пользователей и групп являются доверенными объектами системы. Доверенные объекты – это сущности, которым может быть предоставлен или отклонен доступ к защищаемым объектам или ресурсам системы. Привилегии – это права доверенного объекта на совершение каких-либо действий по отношению ко всей системе." |
Johny777, крокодил не растет, регистрация валится с ошибкой 0х05
Код:
if AdjustSelfProcessPrivileges(SE_BACKUP_NAME, True) then //SE_TCB_NAME |
Цитата:
// MsgBox( SysErrorMessage(DLLGetLastError), mbError, MB_OK ); можно вызывать после каждой функции если она не отработала ""Отказано в доступе"". Значит у тебя нет привилегии/права делать это. Пробуй другие привилегии, пока не получится. Метод проб и ошибок - тоже метод :) И какое отношени имеет "Резервное копирование" к регистрации? |
Johny777, я знаю что 0х05 "ты не лев, недостаточно прав"
SE_TCB_NAME - тоже самое такой еще вопрос знатокам - RunAsOriginalUser должен чье имя возвращать? originalUser или админа введшего пароль? Код:
[Setup] |
Ребят, какой код надо написать, чтобы Inno понял, что на этой форме должен быть выбор компонентов?
|
Mat_y, а стандартый [Components] чем не устраивает?
|
Цитата:
Цитата:
Цитата:
Код:
[Components] |
Цитата:
Вот окно приветствия: ![]() Вот выбор директории: ![]() И установка: ![]() Я продублировал окно с выбором директории... изменил все переменные, убрал лишнее... а вот как туда вставить поле с выбором компонентов... сижу, второй день туплю. ВОТ пример создания старницы выбора директории: 1) Создаются кнопки, выбор директории, назад, далее: Код:
procedure DirBrowseBtnClick(h:HWND); Код:
procedure CreateSelectDirPage; Код:
BkgImg2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\pbbkg.png'),28,347,0,0,False,True); А вот как сделать подобное для окна выбора компонентов? |
Цитата:
Цитата:
|
Mat_y, В данном скрипте окна "создаются" процедурами. Дело в том, что стандартный TNoteBook - древний предок TPageControl здесь скрыт, и есть только сама форма TWizardForm и в педелах клиентской области в зависимости от индекса текущей страницы становятся видимыми/невидимыми соответствующие элементы интефейса. Всё это наглядно видно в procedure CurPageChanged(CurPageID: Integer);
основного скрипта. Для того чтобы добавить ещё одну страницу между стр. выбора директории и стр. установки необходимо удалить директиву DisableReadyPage=yes из раздела [Setup]. Список страниц такой: Те страница номер 10 то что нужну Далее в procedure CurPageChanged(CurPageID: Integer); добавим следующее (красным выделил имплиментацию новой страницы) Надеюсь ты понимаешь весь принцип. Те для каждой страницы Действуют 3 процедуры: CreateИмяСтраницы (где-то во внешних библиотеках при инициализации) ShowИмяСтраницы HideИмяСтраницы Остаётся только описание тела процедур для твоей новой страницы, и оно такое же как и у других страниц, только с твоим содержимым на ней (видео, чекбоксы и пр.) |
Всем привет. Хочу добавить ярлык в обозреватель игр в Windows 7. Это уже, конечно, обсуждалось, однако, как бы я ни старался, не могу создать ярлык.
Делал по инструкции Код:
#define GDFBinary "{app}\GDF.dll" Порывшись, узнал, что это из-за версии компиллятора. Чтобы не менять версию, закомменторовал строчку type TGUID = record D1: Cardinal; D2: Word; D3: Word; D4: Array [0..8] of Byte; end; Может ли это являться причиной моих неудач? Конечно, есть также вероятность, что я неправильно сконструировал GDF.dll Инструкции нормальной таки не нашел. Если такая имеется, то подскажите, где ее брать... |
saurn, да, юникодавая. Но она поддерживает некоторые функции, т.ч. я не хотел бы отказываться от нее...
P.S. последняя поправка проблему не решает. Ошибка на строке TGUID = record - Duplicate identifier 'TGUID' |
saurn, ох, ковыряю уже давно...Явно что-то там не так)
|
saurn, спасибо, проверю!
saurn, не создается, зараза... |
adelina.dragonborn@vk, а так:
|
Цитата:
Код:
procedure OKBtnClick(h:HWND); Цитата:
Объясните пожалуйста. Это все (вышеописанное) я уже сделал... а как добавить то само поле с выбором компонентов... ему же надо задать координаты на форме и его размер... как его описать в скрипте? |
mat_y@vk,
А, не. Ты же делаешь на ботве. Советую скачать Need for Speed™ Undercover.iss v 2.4c [Final] от YURSHAT модернизированный мной, и посмотреть, как там реализованы компоненты. |
saurn, гениально! It Works! Сам бы никогда не додумался)
Теперь другая проблема...Resource Hacker не слушается. Может есть другой аналог-заменитель? Restorator боюсь ставить - один раз он уже сыграл со мной злую шутку. |
adelina.dragonborn@vk, оффтоп, ну да ладно...
|
saurn, проблемы:
1) отсутствует оценка игры (хотя в xml-е присутствуют оценки - <Rating ratingSystemID="{768BD93D-63BE-46A9-8994-0B53C4B5248F}" ratingID="{78D8CC82-372F-44e4-B70C-8944DB7BCC24}"> 2) Издатель и разработчик присутствуют, однако должна быть ссылка на них - ее нету (хотя ссылка прописана в xml-е - <Publisher URI="http://www.activision.com">Activision, Inc.</Publisher> 4) Задана папка сейвов (Saved Game Folder), где она должна отображаться в проводнике игр? P.S. Если есть xml - был бы благодарен, если поделитесь :) |
adelina.dragonborn@vk, все описаное выше, это вина GDF-Maker'а. Он кривой, или не полный, не знаю, корректно работают только dll'ки идущие вместе с игрой. XML можете выдрать из той библы, что я давал для проверки.
|
saurn, спасибо за информацию.
А из той библы вырываются только Data_2.bin и Data_1.bin Нет XML... |
уже не знаю, что делать...пол дня убил, ниче не выходит, все также не показывается оценка, все также не работает ссылка, ерунда какая-то. Вырвал из той библы Data_2.bin и Data_1.bin (которые и являются xml-файлами), отредактировал, запихал в ту же библу, и один фиг ниче не изменилось, все тоже самое...
|
Цитата:
|
mat_y@vk вот
http://rghost.ru/47620796 |
Цитата:
|
mat_y@vk
http://rghost.ru/47633999 |
vint56, а с чем Вы работаете? У меня Inno ругается на ComponentsListTVStyle=yes и так далее по тексту?
|
Mat_y InnoUltra там есть вот здесь можеш скачать http://innoultra.ru/
Inno Setup restool 5.5.1 ee2 unicode |
vint56, а Вы знаете, можно ли для ярлыка прописать "/"... мне надо к имени добавить " /launcher"... а Инно переворачивает"\" и превращает в путь.
|
Хочу сделать кнопку на странице установки - "пауза" (остановить стандартную распаковку)
Есть похожий скрипт где-нибудь? Mat_y, Parameters: "/launcher" |
Mat_y
[Icons] Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon; Parameters: /launcher; |
vint56, и опят примного благодарен.
А есть ли способ заставить установщик найти папку на компьютере и скопировать ее в другое место? |
mat_y@vk
|
vint56, mat_y@vk, Копирование папки методом "CopyFolder" FileSystemObject-а:
(http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx) блок: нужен чтоб не было исключений при копировании. Возможные причины появления исключений по ссылке выше, внизу PS: Рекомендую копировать с перезаписью, чтоб не было исключения в случае если копируемая папка существует |
vint56, Johny777, а если мне надо, чтобы папка копировалась, когда я выбрал соответствующий элемент при выборе компонентов?
Мне надо, чтобы файлы полностью скопировались из одной папки в другую, а потом часть из них заменилась на файлы из инсталлятора (записалась поверх). |
Mat_y, используй IsComponentSelected
|
vint56, А ваш код будет работать без
function MoveFile(const srcFile, destFile: PChar): Integer; external 'MoveFileA@kernel32.dll stdcall'; И еще... вроде я код вставил... фаил собрался... новая папка не появилась, зато папка по указанному адресу исчезла :( Цитата:
Johny777, а как в Ваш код добавить IsComponentSelected? CopyFolder('C:\test\VALVE\half-life 2\bin', 'C:\Copy', True); можно заменить на CopyFolder('{app}\1\', '{app}\2\, True); ??? |
Цитата:
|
Ребят может вы поможете, возникла такая проблема через SrepInside жму файлы, в батнике пишу arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -msrep:l256+lzma:a1:mfbt4:d200m:fb128:mc1000:lc8 data.arc packeddata\* (как обычно я делал) но теперь выдаёт ошибку ISDone.dll
![]() |
saurn, а если у меня разных компонента требуют копирования одной и той же папки, то мне надо будет сделать так:?
begin case CurStep of ssPostInstall: if IsComponentSelected('copyfolder1','copyfolder2') then CopyFolder(ExpandConstant('{app}\1'), ExpandConstant('{app}\2'), True); end; А Если у меня 2 разных компонента требуют копирования 2-х разных папок независимо? То так: begin case CurStep of ssPostInstall: if IsComponentSelected('copyfolder1') then CopyFolder(ExpandConstant('{app}\1'), ExpandConstant('{app}\2'), True); if IsComponentSelected('copyfolder2') then CopyFolder(ExpandConstant('{app}\2'), ExpandConstant('{app}\3'), True); end; |
Цитата:
Код:
if IsComponentSelected('copyfolder') or IsComponentSelected('copyfolder2') then CopyFolder(ExpandConstant('{app}\1'), ExpandConstant('{app}\2'), True); Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
saurn, если у меня уже есть
Код:
procedure CurStepChanged(CurStep: TSetupStep); Код:
procedure CurStepChanged(CurStep: TSetupStep); Код:
try |
а кто что пишет в батнике для SrepInside&
|
Ребята, выходные?
|
Привет всем, прогресс бар идет поверх "процентов" (Pct). как его сделать поверх прогресс бара
скрипт |
Fakt_37
Цитата:
и плюс Dll ки от этой версии ISDone 0.6final - for FreeArc Alpha 2012 = http://krinkels.org//downloads.php?do=file&id=110 |
Цитата:
|
audiofeel, смотри в function ImgPBCreate
if Length(pb)>0 then Result.img1:=ImgLoad(hParent,pb,Result.Left,Result.Top,Result.Width,Result.Height,True,True) else Result.img1:=0; if Length(bk)>0 then Result.img2:=ImgLoad(hParent,bk,Left,Top,Width,Height,True,False) else Result.img2:=0; Последнее значение в ImgLoad //IsBkg - если IsBkg=True, изображение будет выведено на фоне формы, // поверх него будут отрисованы графические объекты (TLabel, TBitmapImage и т.д.), // затем поверх всего будут выведены изображения с флагом IsBkg=False |
sergey3695,Или я не понял или надо в другом месте искать, меняю значения с true на false, прогресс бара не видно или вобще не пикчер лейбл не видно и прогресс бара
type TImgPB = record h: HWND; Left, Top, Width, Height, MaxWidth: Integer; img1, img2: Longint; end; function ImgPBCreate(hParent: HWND; bk, pb: AnsiString; Left, Top, Width, Height: Integer): TImgPB; begin Result.Left:=Left; Result.Top:=Top; Result.Width:=0; Result.Height:=Height; Result.MaxWidth:=Width; Result.h:= hParent; if Length(pb)>0 then Result.img1:=ImgLoad(hParent, pb, Result.Left, Result.Top, 0, Result.Height, True, false) else Result.img1:= 0; if Length(bk)>0 then Result.img2:=ImgLoad(hParent, bk, Left, Top, Width, Height, True, true) else Result.img2:=0; ImgApplyChanges(Result.h); end; |
audiofeel, можешь просто скопировать эти две строки
Код:
if Length(pb)>0 then Result.img1:=ImgLoad(hParent,pb,Result.Left,Result.Top,Result.Width,Result.Height,True,True) else Result.img1:=0; |
Вложений: 1
Помогите так же создать как на скрине?
Мой скрипт: |
Все привет!
Проблема такая: распаковал инновский установщик. Так вот: в нём имеется некая dll-ка, однако в скрипте .iss ничего по этой dll-ке. Даже нет секции [code]. Быть может, кто-нибудь знает, что может быть, каким образом эта длл работает и вызывается. Спасибо за внимание! |
Tima182, это наверное ISFreeArcExtract или IsDone / Ссылка на IsDone (про первое можешь не спрашивать,ты все равно неразберешься,да и IsDone удобней,понятнее и проект развивается)
jiumx60rus, какая .dll (скажите мне про то,незнаю что :lol:) p.s. скрин свойств библиотеки в студию. (правой кнопкой по файлу -> свойства), тогда возможно кто-то что-то да скажет. а чуть не забыл. че ты распаковал? можешь сам setup.exe выложить. jiumx60rus, <Сообщения: 1> !?? тебе готовый скрипт нужен? (Готовые скрипты) |
sergey3695, спасибо за ответ. Вот http://rghost.ru/47727595 все распакованные файлы, там и сама длл-ка :)
|
jiumx60rus, у тебя распаковалось все что возможно. значит секции [code] небыло.
acknex.dll - нужна скорее всего для корректной работы игры. (настольного пейнбола). в гугл вбей и почитай. короче к inno она не относится. |
sergey3695, Не не, про acknex.dll я знаю, я сам делал эту игру, меня интересует папочка tmp и её itdownload.dll :) Вобщем, при установке игры докачивается и устанавливается один модуль (за который мне платят деньги), вот только интересно, где его поведение прописано :)
На всякий случай, сама установка, где можно посмотреть на это: http://rghost.ru/47728113 Спасибо! PS: Еще я так понял, файл CompiledCode.bin тоже причастен к этому. |
Цитата:
|
Цитата:
|
jiumx60rus, itdownload.dll - для скачивания с определенного сайта файлы на комп. примера использования у меня нет,это надо на рубоарде смотреть. да и по правде говоря я никогда ей не пользовался.
CompiledCode.bin - ты извини,но я уже не помню что там находится. Может гуру форума подскажут. Цитата:
----- Noname22, посмеялись и хватит флудить. |
Цитата:
|
Noname22, sergey3695, спасибо за помощь, кстати InnoTools Downloader у меня есть. Только вот странно, почему в самом вкрипте инстальника нигде нету никаких обращений к этой дллке!
|
Цитата:
|
Да ладно :lol:
|
jiumx60rus, Noname22, очень содержательные комментарии
jiumx60rus, в {tmp} только одна библиотека - itdownload.dll. Библиотека относится к InnoTools Downloader |
Цитата:
|
saurn, Gnom_aka_Lexander, т.е. всё в моей ситуации разрешимо? Вообще, главное для меня - это сделать так, чтобы эта плюшка, которая докачивается, устанавливалась тихо, без спроса ( :) ), хотя желательно было бы получить её в отделённом виде.
Спасибо всем за ответы, ребятки :) Кстати, еще прикол такой: распаковываю я значит установщик, захожу в скрипт, ничего не меняя, компилирую его опять и бац! исходный и вновь откомпиленый инстальники не совпадают, во вновь созданном пропадает этот установщик! |
Цитата:
Не всегда пример бывает под рукой :( |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
sergey3695,
Цитата:
|
Ребят!
Как можно зашифровать сборку в Инно? Пробовал стандартным способом (через Setup), но и сама сборка не запускается теперь... какие будут советы? |
Цитата:
Цитата:
Encryption Module |
audiofeel, кидай сам скрипт (желательно с файлами. можешь зашифровать архив или в лс). мне трудно так ответить. ну, можешь для лейбла с процентами поставить .BringToFront (не факт что поможет).
Или именнно в этих строках поиграйся с последним параметром в ImgLoad / В каком-то случае,да получится. По идеи поставь флаги False,но могу ошибится. |
|
|
какая разница между
Compression=lzma и Compression=lzma2 Цитата:
|
mat_y@vk используй компилятор от китайцев и все на них унпакера давно нету
|
|
Цитата:
UPD. Поставил версию ANSI... собрал. |
Добрый день господа знатоки!
Подскажите как заставить загружать текст с файла в Memo во время инсталяции через промежуток времени в замкнутом цикле. Ниже моя реализация скрипта. Логически все правильно а текст не грузит! (приклеплен downloader - выводит размер файла и состояние в лог, написан на Delphi через Indy, в Dll не силен!) ссылка на архив |
Да, кстати, проблема копирования внешней папки на компе решалась простым Flags: external. Вот я ламер.
Ребят... еще такой вопрос... у меня у друга в Европе мой инсталл отображает все симоволы русские крякозябрами... в чем может быть проблема? Языковой пакет у него стоит русский. |
Цитата:
|
Noname22, сейчас попробую Unicode собрать.
Ругается на PChar... говорит тип не знает такой.... что делать? |
mat_y@vk, Может стоит попробовать скрипт открыть в Akelpad с подбором кодировки для прочтения [CustomMessages] если в нём дело!? Если в нём то открыть скрипт, подобрать кодировку, просто скопировать секцию из Akelpad, закрыть скрипт, открыть скрипт в inno а потом вставить скопированное!
|
mat_y@vk
type Pchar =PansiChar; |
Цитата:
type Pchar =PansiChar; Noname22, Цитата:
Цитата:
|
пересохранил скрипт в Unicode... стало лучше, но не до конца.
Крякозябры идут в том, что описано в секции CODE. Идеи? Цитата:
|
|
Цитата:
Проблема решилась кодировкой ANCI и выбором в винде языка системы "русский" |
|
Думаю, что проблема простая, но туплю жестко.
Простая установка программы с выбором компонентов. Компоненты работают, но проблема вот в чем: После установки в папке с прогой оказываются файлы компонентов. Т.е. если я выбираю компонент, то он ставится (myapp.exe), но в папку копируются все компоненты (myapp, 1.exe, myapp, 2.exe). Понял, что строка, которая рекурсивно описывает все папки и файлы является виновником моей проблемы. Т.е. если я удалю строку: Код:
[Files] Похоже надо, чтобы в скрипте был прописан КАЖДЫЙ файл, но их там больше тысячи - руками я замучаюсь. Как автоматически сделать список ВСЕГО, что есть в сходной папке ? |
Цитата:
|
saurn, хоть успокоил на счет списка :)
Обычных файлов дофига, компонентов немного. Вот как выглядит Код:
[Files] |
alex barmalei
|
alex barmalei, с флагами все нормально, кроме флага external, если планируете его использовать, то путь к устанвливаемым файлам нужно указывать не абсолютный, а через константу, например Source: {src}\tmp\app\readme, rus.txt;, где {src} корневая папка инстала. Что касается установки других фалов вместе с выбранными компонентами, то, могу лишь предположить, что ниже в секции файлов имеется строка, которая берет файлы из тойже папки по маске, если да, то она и переписывает условия описаные выше. В данном случае, как я и говорил, нужно раскидывать файлы по каталогам, или использовать параметр Excludes, например Source: app\*; Exludes: rus.txt, eng.txt; DestDir: {app}; Flags: ignoreversion;, но этот параметр не комбинируется с флагом external.
|
Цитата:
Цитата:
В общем я уже понял, что то, что я задумал, неосуществимо, тогда еще есть такой вопросик: ключи /silent не работают при подключенном интернете (установка заканчивается не начавшись), а при выключенном работают. Это связано с тем, что в процессе установки докачивается файлик. Так вот, можно ли это исправить? Спасибо за внимаение! |
saurn, ок, будут проверять.
А Excludes с абсолютными путями работает? |
jiumx60rus, Если я правильно понимаю тебе нужно скачать инсталл из интернета и тихо установить.
Вопросъ: Нафига тебе далась эта библиотека itdownload.dll ? Ведь фиг знает что там внутри _ В шапке функция скачивания El Sanchez-а, ""Загрузка файла из Интернет"" http://forum.oszone.net/post-1930003-232.html _ Вот её обновлённая/доработанная версия http://forum.oszone.net/post-2149513-443.html _ До кучи ещё простая функция скачивания файла без каллбэка function DownloadFile(const URL, FileName: String): Boolean; http://forum.oszone.net/post-2099033-1730.html ================= касательно тихой установки вот тебе код. Сделал так чтоб можно было тихо и обычно установить. Чтоб была тихая установка запускаешь инсталл с параметром ком строки из под константы VERY_SILIENT_PARAM. Можешь свой параметр придумать, если хочешь :) |
|
Господа!
А есть ли возможность проверять перед установкой правильность выбора папки установки (когда файлы накатываются на установленную программу)? Например, проверять в папке установки наличие какого либо файла? |
saurn, Excludes помог, благодарствую.
|
Цитата:
|
Noname22, вставил вот так:
Код:
var Flag: boolean; пробовал разные имена файлов и разные папки... что ему не нравится в app??? |
mat_y@vk, константа {app} действительна после страницы SelectDir. На этапе инициализации она не известна, вот и ошибка.
|
Подскажите, как называются эти линии, чтобы можно было к ним обратится через WizardForm?
Хочу у них цвет поменять. |
mat_y@vk, пишет, что пытаетесь применить константу "app" прежде, чем она была инициализирована. По русски - пытаешься применить константу "app" до того, как инсталлятор её получит. Это делается на SelectDirPage в function NextButtonClick(CurPageID: Integer): Boolean;
|
Цитата:
В секции [Run] у меня по очереди запускаются приложения, но на 4 файле мне нужно вывести окно, которое остановит продолжение установки до тех пор, пока пользователь не нажмет "ОК". Если же он нажмет "Отмена", то установка должна быть отменена. Сам инсталлятор работает с флагом Uninstallable=no, т.е. в portable режиме, поэтому прерывание установки мне не страшно. Окно я вывел через процедуру BeforeInstall на нужном файле, но Код:
CancelWithoutPrompt := true; |
alex barmalei, они называются Bevel и Bevel1, и у них есть только свойства Shape: и Style:. Свойства Color у них нет.
|
nik1967, ну хоть что-то, спасибо.
|
nik1967, а м
Цитата:
Я вот что-то не пойму... в какое место в таком виде это надо вставить |
mat_y@vk
Код:
function NextButtonClick(CurPageID: Integer): Boolean; |
Классный форум :)
Как форсировать создание иконки на рабочем столе и пропустить страницу дополнительных задач? [Tasks] У меня пустой. Код:
[Icons] |
Цитата:
Код:
Name: {userdesktop}\Имя иконки; IconFilename: {app}\ProgName.exe; Filename: {app}\ProgName.exe; Flags: createonlyiffileexists; Check: CheckError |
mat_y@vk, я наврал, Tasks не был пустой и в нем было прописано создание иконки. :)
Все работает. |
----------------------------
Одной проблемой меньше, но появился новый вопрос: Я нашел ключ на Unninstal к установленной игре в реестре, вот он: AppId={{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU} На всех моих компах (везде Вин 7 х32 и х64) по этому AppId установщик находит верный путь... но некоторые люди жалуются, что он сам не находит путь... есть ли способ еще как-то искать путь к программе установленной уже? Может по имени exe'шника или еще чего в реестре поискать? Или скрипт какой... |
Цитата:
Через информацию деинсталляции Только учтите, Inno создаёт AppId такого рода {AppId}_is1, так же может быть название приложения вместо AppId, другие программы могут создавать так {AppId}, а могут без AppId, вместо него название приложения. И одного AppId мало, в информации деинсталляции например может быть прописан и путь к приложению, например InstallLocation. Если же имеется вообще, поскольку может быть и не прописан. Через информацию установленного приложения, например по \SOFTWARE\Ваша_программа это общая Код:
HKLM\SOFTWARE\Ваша_программа Код:
HKCU\SOFTWARE\Ваша_программа |
mat_y@vk, Немного теории. Установка как таковая состоит из 2 действий:
1. Копирование чего надо куда надо 2. Создание ключа в реестре и внос туда стандартных подключей. Нпример раздел HKEY_CURRENT_USER, ключ 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Твой_апп_айди'; Имена подключей неизменяемы и заложены майкрософтом. Вот тут стандартные имена, но не все http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx Нет например DisplayIcon По этим значениям этих подключей заполняется инфа в списке "программы и компонеты". Как минимум нужны UninstallString и DisplayName чтоб твоя программа появилась в списке. Для удаления программы достаточно удалить ключ 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Твой_апп_айди'; Ты наверное уже понял что единственный путь к экзешнику, который всегда лежит в реестре = путь к программе удаления. Да ты можешь внести другие ключи со своими значениями, но это зависит от автора инсталла и полагаться на это нельзя. Искать по DisplayName тоже не получится. Кто-то может назвать игру "Super World of Tanks". Да здесь мы видим ещё и "World of Tanks" в названии. А что если она будет называться так "WoTv1.1.0"? Короче тоже не вариант Искать экзешник на компе не проблема - так ты найдёшь путь. Только вот искать придётся по всему компу а это может быть очень долго, ведь нельзя полагаться что игра стоит в Program Files Вывод если у пользователя стоит не твоя версия игры или не официальная, короче не апп ай-ди из твоего поста то пусть он сам укажет путь, а если твой апп ай-ди, то никаких проблем |
Johny777, Noname22, ясно.
А этот AppId не зависит от установленной винды? Ну типа на ХР он отличается от AppId на Вин7 или 8. У меня еще вопрос... как можно добавить свои кнопки на 1 страницу со ссылкой в сеть... обязательно botva.dll? Или есть более простой способ? У меня просто тут засада какая-то... ни один фаил справки не открывается... точнее открывается, а текста нет... уже все решения сайта MS попробовал... ничего (Win 7 x86 ultra) |
Цитата:
Вот бывает говорят, программа полностью portable, не оставляет ничего после себя в реестре. Не верно, всё равно оставляет запись о том что эта программа запускалась. |
mat_y@vk, добавлю к выше сказанному: можно написать функцию, которая будет искать каталог с игрой по заданому заранее ID с результатом на выходе. Если все условия описаные в функции будут соблюдены, выдирать из реестра путь к целевой папке и использовать его в качестве пути установки, соответственно. А результат возвращаемый функцией использовать для пропуска страницы выбора папки установки. Для большей информативности можно добавить MsgBox с сообщением типа " программа успешно обнаружена, ля-ля, тополя...". Если же функция вернет отрицательный результат, то тогда уже предоставлять пользователю возможность самому указать путь к папке.
|
|
|
Noname22, saurn, а если 2 кнопки, то просто 2 раза это описывать с разными координатами?
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
а как сделать чтоб внизу самого обычного инсталятора была ссылка на сайт? чтоб на неё нажать можно было
|
Цитата:
|
Всем лапа. Почитал. Зделал через визуальный редактор вот это [ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030102A03000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C69636974576964746803F9010E4578706C69636974486569676874038A010 D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724 E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D6550616765084E65787450616765070D4 953437573746F6D50616765310D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000F 110544E65774E6F7465626F6F6B5061676509496E6E6572506167650D4578706C69636974576964746803F1010E4578706C6 963697448656967687403390100F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6 F7465626F6F6B506167650B4C6963656E7365506167650C50726576696F757350616765070D4953437573746F6D506167653 10D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED00000010544E65774E6F7465626F6F6 B506167650D4953437573746F6D50616765310743617074696F6E06154953437573746F6D50616765315F43617074696F6E0 B4465736372697074696F6E06194953437573746F6D50616765315F4465736372697074696F6E0C50726576696F757350616 765070B57656C636F6D6550616765084E65787450616765070B4C6963656E736550616765000E544E6577537461746963546 578740E4E65775374617469635465787431044C656674021003546F700210055769647468024D06486569676874020E07436 17074696F6E060E4E65775374617469635465787431085461624F72646572020000000E544E6577537461746963546578740 E4E65775374617469635465787432044C656674021003546F700210055769647468024D06486569676874020E07436170746 96F6E060E4E65775374617469635465787432085461624F72646572020100000000000000 [code] { RedesignWizardFormBegin } // Не удаляйте эту строку! // Не изменяйте эту секцию. Она создана автоматически. var ISCustomPage1: TWizardPage; NewStaticText1: TNewStaticText; NewStaticText2: TNewStaticText; procedure RedesignWizardForm; begin { Creates custom wizard page } ISCustomPage1 := CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description'); { NewStaticText1 } NewStaticText1 := TNewStaticText.Create(WizardForm); with NewStaticText1 do begin Parent := ISCustomPage1.Surface; Caption := 'NewStaticText1'; Left := ScaleX(16); Top := ScaleY(16); Width := ScaleX(77); Height := ScaleY(14); end; { NewStaticText2 } NewStaticText2 := TNewStaticText.Create(WizardForm); with NewStaticText2 do begin Parent := ISCustomPage1.Surface; Caption := 'NewStaticText2'; Left := ScaleX(16); Top := ScaleY(16); Width := ScaleX(77); Height := ScaleY(14); end; NewStaticText1.TabOrder := 0; NewStaticText2.TabOrder := 1; { ReservationBegin } // В этом месте вы можете добавить свой код. { ReservationEnd } end; // Не изменяйте эту секцию. Она создана автоматически. { RedesignWizardFormEnd } // Не удаляйте эту строку! procedure InitializeWizard(); begin RedesignWizardForm; end; незнаю что делать дальше мне нужно чтоб при нахождении [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-Zip] "DisplayName"="7-Zip 22" высвечивалась Caption := 'NewStaticText1' а 'NewStaticText2' скрылся если "DisplayName"="7-Zip 22" нету высвечивалась Caption := 'NewStaticText2' и скрывался 'NewStaticText1' как зделать помогите |
El Dog, ваш код спрячьте под спойлер.
|
|
Всем привет.
Подскажите как суда написать просто свой текст: Код:
DefaultDirName=Бла-бла-бла |
saurn спасиба. можно зделать штоб имя 7-Zip 22 найдено было синим имя 7-Zip 22 не найдено было красным?
>>Длинные тексты помещайте под спойлер: >> в скрипте помещать? |
Dark_Delphin, эээ в 'апострофы' не получается?
El Dog, Код:
function CompareRegValue(const Value: String): Boolean; |
R.i.m.s.k.y., нет. Я пробовал уже.
Тогда в ТЕдите пишет это: C:\Users\Dark_Delphin\Desktop\Out\'Текст который я напсиал' |
Dark_Delphin,
Код:
procedure InitializeWizard(); |
Johny777, ага так тоже пробовал, но я упустил один нюанс... Не внимательный я.
Спасибо. |
:yahoo: А можно ли вызвать страницу WizardForm.SelectTasksPage, когда в секции [Tasks] пусто?
|
Nightwishh,
var CompPage: TWizardPage; procedure InitializeWizard; -> CompPage := CreateCustomPage(wpSelectDir,'',''); procedure CurPageChanged(CurPageID: Integer); -> if CurPageID = CompPage.Id then Если страниц нехватает. Или оставить какую-то фигню в [Tasks] и скрыть TasksList. (то что выше правильнее и лучше) |
Здравствуйте!
Возникла необходимость перепаковать один Inno Setup инсталлятор под себя, вроде всё получилось кроме не знаю как организовать(прописать в скрипте) подхват своих настроек из settings.reg, если таковой имеется в папке с инсталлятором. Если такое где-то было, просьба не ругать а ткнуть носом :cool: Заранее спасибо!!! делаю так не подхватывается :( [Run] Filename: "{win}\regedit.exe"; Parameters: "-s {src}\Settings.reg"; WorkingDir: "{src}"; StatusMsg: "Внесение настроек в реестр..."; |
AlexM22204, Да было уже. Давно. Тут пример через код а не как у тебя через секцию [Run], но разберёшься! :)
http://forum.oszone.net/post-2010676-1173.html |
AlexM22204, WorkingDir: "{win}"
|
Подскажите как сделать страницу параметры, при нажатии на кнопку, что-бы она открывалась?
|
Dark_Delphin, вот так:
|
Gnom_aka_Lexander, использую вот скрипт из паблика, сделал вроде всё правильно, но кнопки не вижу.
http://rghost.ru/47933115 |
Dark_Delphin, дык. во первых смотрим:
Код:
BtnSet := TNewButton.Create(WizardForm); поскольку делаем Parent := WizardForm;, то кнопка нужна нам на определенной странице. это значит, в CurPageChanged в самом начале добавляем BtnSet.Hide; SetFlag := True; // ParametresPage всегда скрыта - тоже лучше в начало вынести. на нужной странице скорей всего wpWelcome, добавляем BtnSet.Show; ??????? PROFIT!!! |
Цитата:
Код:
[Run] Цитата:
Код:
[Run] |
как текстурировать кнопку обзор через ботву? я пробовал но она пропадает
http://rghost.ru/47933940 |
insombia, через ботву кнопки не текстурируются. Совсем. обрати внимание на примеры. там везде при создании замены для кнопки, той кнопке, которую нужно "сделать красиво" просто задаются нулевые ширина и высота. А спомощью функции btmSetEven задается действие, которое выполняла та кнопка, которая была заменена на "обрюшеную"
Цитата:
в твоем случае изучать нужно функцию BtnCreate, самый первый ее параметр. |
insombia твой пример был сделан когда все было скрыто а сейчас надо указать где кнопка будет
with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.SelectDirPage.Handle,340,72,80,40,ExpandConstant('{tmp}\button.png'),18,False); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetText(hDirBrowseBtn,'>'); BtnSetFont(hDirBrowseBtn,Font.Handle); BtnSetFontColor(hDirBrowseBtn,$DAE369,$DAE369,$DAE369,$B6B6B6); Width:=0; Height:=0; end; |
Gnom_aka_Lexander, к сожелению всеравно не появилась кнопка.
|
Dark_Delphin, обрати внимание на строчку SetBounds - первые 2 параметра - расположение - первая координата - расстояние от края слева, вторая - от верха. если сделал все, как я описал, то просто выставив там по 0, должен увидеть кнопку в левом верхнем углу инсталла.
|
Gnom_aka_Lexander, я не правильно написал, кнопка сама есть, но на странице нету - выбора компонентов...
Вот http://rghost.ru/47935040 |
Цитата:
|
Gnom_aka_Lexander, а есть пример кода как это сделать?
И еще, только что заметил, что при нажатии также на кнопку Установка - происходит переход на следующую страницу, хотя должна сразу происходить установка... |
Цитата:
CrackedLabel:=TLabel.Create(WizardForm); // создается лейбел в InitializeWizard CrackedLabel.Hide; // в CurPageChanged он скрывается CrackedLabel.Show; // на wpWelcome он показывается там все элементы созданные, ничего сверхъестественного абсолютно нету. |
Dark_Delphin вот пример
http://rghost.ru/47935847 |
Спасибо. Вот еще это, подскажите как исправить?
Цитата:
|
подскажите пожалуйста, как сделать проверку установленных языков (не язык интерфейса виндовс, а конкретно язык ввода), например, если русский язык то устанавливается один компонента, если дургой язык какой-нибудь, то другой компонент?
|
Lex_from_Belarus,
[Languages] Name: "en"; MessagesFile: "compiler:Languages\English.isl" Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" [Components] Name: "A"; Description: "A Files"; Languages: en; Name: "B"; Description: "B Files"; Languages: not en; //Languages: ru; Об этом написано в справке, в "Общие параметры" |
Подскажите, пожалуйста, как убрать кнопки свернуть, развернуть, закрыть. (Саму шапку или бордюр убирать не нужно, только кнопки)
|
Dark_Delphin, в процедуре InitializeWizard, или любой другой, работающей с формой мастера:
Код:
BorderIcons := []; |
Dark_Delphin как писали выше BorderIcons := []; но если не будет пахать то допиши wizardform.
|
Спасибо.
Подскажите, пожалуйста, как добавить DirEdit на стекло (ну чтоб без дыр.)? Я пробовал так: Код:
iswin7_add_button(WizardForm.DirEdit.Handle); |
|
Gnom_aka_Lexander, аа... Там только для кнопок написано.
А как то можно обойти ситуацию? Я вот думаю под эдит картинку положить. |
Цитата:
Цитата:
Цитата:
Цитата:
|
Как поле сделать пустым?
DefaultDirName={pf} |
Цитата:
Код:
procedure InitializeWizard(); |
есть ещё какие-то примеры для закрепления ярлыка в панели задач Windows 7? а то с PinToTasckbar.vbs не понятно как-то
|
Когдато давно видел пример, как убрать кнопку "Развернуть" именно в скине, выкладывал его Johny777 в архиве (если я не ошибаюсь), но теперь не могу найти. Может кто помнит хотябы в какой части этого форума находиться этот пример.
|
Q: Можно ли сделать две кнопки свернуть и закрыть у окна?
http://krinkels.org/attachment.php?a...0&d=1360410162 |
здравствуйте, подскажите пожалуйста какой ключ нужен чтобы файлы распоковались в папку windows?
|
|
:yahoo: Как можно сделать список выбора компонентов без WizardFormComponentsList, т.е. создать новые чекбоксы и к ним прикрутить тот или иной компонент? Где можно найти такой пример. И будет ли это работать в ISDone? Спасибо!
|
Nightwishh, в расширенной версии Inno, в папке коробочных примеров(Examples) есть скрипт Example_NewCheckListBox - это, как раз то, что вас интересует.
--------------------------------------------------------------------------------------------------------------- Цитата:
Код:
Source: my_files\*; DestDir: {win}; Flags: uninsneveruninstall |
Nightwishh, посмотри.
|
можно ли чтобы при запуске созданного установщика с ключом выполнялся определённый файл?
а при обычном запуске никаких окон не отображалось, все распаковывалось в временную папку и запускался определенный файл2 (все файлы внутри установщика) |
icq99999999,
пример запуска: "setup.exe -run" ------------------------------------------------------ при запуске с этим параметром: 1. извлекаем file1.exe в папку в темпе 2. запускаем его оттуда без ожидания завершения его процесса 3. возвращаем из InitializeSetup() True следствием чего будет инициализация приложения установки при запуске без параметра: 1. извлекаем file2.exe в папку в темпе 2. запускаем его оттуда без ожидания завершения его процесса 3. возвращаем из InitializeSetup() False |
Цитата Johny777:
Код: » а если нужно сделать следующее: c запуска ключом: распаковать всё в %temp%\spacep скопировать из папки где находится программа файл comp.ini в папку %temp%\spacep\ запустить файл с параметром %temp%\spacep\1\hidcon.exe -setup.cmd запустить файл с параметром %temp%\spacep\1\hidcon.exe -1бат.bat после завершения hidcon.exe удалить все извлечённые файлы при обычном запуске: распаковать всё в %temp%\spacep скопировать из папки где находится программа файл comp.ini в папку %temp%\spacep\ запустить файл с параметром %temp%\spacep\1\hidcon.exe -1бат.bat после завершения hidcon.exe удалить папку %temp%\spacep\1 запустить %temp%\spacep\set.exe после завершения процесса set.exe скопировать %temp%\spacep\comp.ini и положить рядом с программой удалить все извлечённые файлы. весь процесс должен быть полностью скрыт от глаз пользователя |
saurn, И это снова я. В срипте Example_NewCheckListBox радиобуттоны и чекбоксы находятся на компонентслисте, а мне хотелось бы чтобы они были свободными, как в скрипте Прототип (только там задачи), т.к. я на них хочу повесить OneClick (звук wav).
|
Nightwishh,
Цитата:
================================================================================= icq99999999, Цитата:
нет такой возможности извлечь папку из инсталла не во время установки. Только если извлекать по одному файлу, как в последнем примере. Не знаю сколько файлов лежит в папке spacep, поэтому сделал так: пакуешь папку в 7z архив и кладёшь рядом с экзешником инсталла Исходник с файлами: |
Цитата Johny777:
а всё это сколько? » под всё я имел ввиду содержимое инстала, а поэтому использовать стороннюю утилиту 7z не нужно, вот только как 7z отключить? след вопрос: а можно ли после копирования проверить есть ли файл comp.ini рядом с прогой, если файла нет то копировать его из %temp%\spacep\ в C:\AppData\ а потом скопировать файл "comp.ini" из директории с прогой в %temp%\spacep\ если файла нет то копировать его из C:\AppData\ в %temp%\spacep\ можно ли убрать появляющейся(при запуске) на понели задач окошко в котором написано установка можно ли отключить при компиляции изображение WizModernImage.bmp можно ли чтобы при запуске с ключом файл находящейся внутри инстала распаковывался в %windir%\temp\ а при обычном запуске не распаковывался |
Блин, я сам всех и себя запутал. Вообщем есть скрипт Button Sound
Код:
[Setup] |
Nightwishh через bass вроде можно,но не знаб работает ли без ботвы,так как там есть пример тот что тебе нужен
|
Вложений: 1
icq99999999,
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Можно спрятать: впиши в InitializeWizard это WizardForm.WizardBitmapImage.Hide; Можно пропустить страницу приветствия: [Setup] DisableWelcomePage=yes Цитата:
1. если файл должен попасть в темп во время установки то так: [Files] Source: имя_файла; DestDir:{tmp}\; Check: RunWithParam(); 2. если где-то ещё то как в примере отсюда http://forum.oszone.net/post-2200430-1002.html с соответствующей проверкой if RunWithParam() then ExtractTemporaryFile('имя_файла') ================================================================================= Всем Вот пример воспроизведения Wav файлов из памяти - быстрый доступ, быстрее чем с жёсткого диска. Это отдельный пример из кода ниже. Может кому пригодится: =================================================================================================== Nightwishh Цитата:
исходники простого воспроизведения и звука на компонентах: |
приветствую коллеги.
Хочу обратится за помощью. Можно ли реализовать удаление содержимого каталога, в каталоге {app} без бантика? Например в каталоге {app}\Redist удалить все что находится в каталоге Redist не трогая содержимое {App}? В идеале хотелось бы реализовать через Checkbox, типа "хотите ли вы очистить содержимое каталога Redist" и при отмеченном checkbox что бы происходила очистка. |
|
Johny777 у тебя случаем нет примера Переименование файлов не по маске а по определенному названию vo_ russian.spk на vo_english.spk в зависимости от выбранного компонента
|
Цитата:
|
vint56,
Цитата:
прототип: procedure RenameFileChunks(const RootFolder, SourceFileChunk, DestFileChunk: String; const Recurse: Boolean); где: RootFolder - исходная папка с файлами и папками, где нужно переименовывать SourceFileChunk - часть в имени файла которую нужно переименовать, в данном случае 'russian' в vo_ russian.spk DestFileChunk - часть в имени файла в которую нужно переименовать - 'english' Recurse - булев значение. Если True то будет искать в подкаталогах RootFolder-а, в противном случае только в RootFolder вызываешь процедуру например на этапе ssPostInstall для соответсвующих компонентов, если они выбраны ( IsComponentSelected(...) ... ) ============================================================== tr011_tmn, Цитата:
|
Johny777 а что {app} константа не работает
procedure InitializeWizard; begin RenameFileChunks('C:\Program Files (x86)\ISDone', 'english', 'russian', True); только если так end; |
Здравствуйте. Возможно ли сделать такую фишку:
Если существует файл config.ini в папке, куда ставится программа, но нет определённой ветки в реестре, установщик заменяет файл config.ini и создаёт ветку с определённым значением и наоборот. Если существует и то, и то, то установка ничего из них не трогает. Если нет ни того, ни того, то установка создаёт и ветку, и файл. Голову сломал, ничего на ум не приходит. |
vint56,
Цитата:
![]() заместо её используй WinApi функцию MoveFile, которой можно переименовывать файлы обновил предыдущий код всё понятное дело перед этим проверил у себя на безошибочную работу volga163@vk, создать ветку в реестре? что-то я не пойму. Может ключ. И где? в каком разделе? Какие значения туда внести? Как ключ называется? Подробнее насчёт реестра скажи а лучше всего выложи содержание .reg файла |
Johny777 Большое спасибо
|
Здравствуйте!
В моем скрипте создаются и используются кастомные формочки. Сам инсталляор должен быть двуязычным (рус + англ). Текст на стандартных формах при выборе определенного языка на этот язык переводится, а текст на кастомных формах - очевидно, нет. Может, кто подскажет, как корректно реализовать двуязычность для кастомных форм? Это в скрипте создания форм надо мониторить язык как-то и в зависимости от языка выводить разные сообщения? Или это нужно как-то править языковые (.isl) файлы? В работе с inno новичок, буду благодарна за помощь:) |
Цитата:
|
Shkutu, для этого в Inno есть секция [CustomMessages].
Наткнулся на скрипт, который писал неизвестно когда и неизвестно кому :). Может пригодится кому.Единственное "но" - при стандартной распаковке при нажатии на "Отмена" не останавливается распаковка. |
volga163@vk, сделал
работа с реестром здесь на чистом WinApi (!) Тестируй! :) ================================================================= nik1967, файл иконки необязательно таскать с собой. Её можно брать у винды. Посмотри в примере "Создание кастомного диалогового окна", в шапке. |
Цитата:
Задачка на логику по работе с SelectComponent. Помогите решить, а то сам даже не знаю как подступиться. Инсталлятор у меня включает 12 компонентов видимых пользователю, на его выбор, 2 из них под флагом Fixed, остальные по желанию пользователя. Но есть важный нюанс. При выборе более трех компонентов по выбору требуется что бы независимо от желания пользователя в папку {app} копировался специальный набор файлов. оптимизирующий работу этих выбранных компонентов. Если на пальцах то: при установке только компонентов с флагом Fixed: не копируем при установке компонентов с флагом Fixed + 1-2 компонента по выбору: не копируем при установке компонентов с флагом Fixed + 3 и более компонентов: копируем Заранее благодарен за помощь |
Есть проблема: установка с параметрами silent и verysilent не работает (видимо из-за прочих плюшек во время установки). Можно ли как-то решить эту проблему (установить в тихом режиме)? Спасибо.
|
Johny777, благодарю! От иконки избавился, скрипт переписал. Оказалось ещё, что на ANSI не отображается бевел на панели выхода - исправил. Хотя сам пользуюсь UNICODE версией Inno.
|
Цитата:
|
icq99999999,
function ShouldSkipPage(PageID: Integer): Boolean; begin if (PageID =wpSelectComponents) or (PageID =wpSelectProgramGroup) or (PageID =wpready) or (PageID =wpfinished) then Result:= True; end; или [setup] DisableDirPage = yes и т д |
icq99999999
procedure InitializeWizard(); begin wizardform.WelcomeLabel1.hide; и т д, можно ещё вообще все скрыть со страницы,если хочешь создать свою страницу procedure InitializeWizard(); begin with WizardForm do begin InnerNotebook.Hide; OuterNotebook.Hide; Bevel.Hide; end; |
Цитата:
|
icq99999999 гугл помогает на ура,вот например,если что ищи ещё там
http://forum.ru-board.com/topic.cgi?...767&start=1520 |
Цитата:
"весь процесс должен быть полностью скрыт от глаз пользователя" |
nik1967, спасибо!:) Да, думаю это то, что надо)
|
Цитата:
теперь присутствует обновил код http://forum.oszone.net/post-2200990-1009.html |
Цитата:
|
вопрос
можно ли отключить создание деинсталлятора ? |
icq99999999,
Код:
[Setup] |
icq99999999,
|
Цитата nik1967:
Как бы справку нужно хоть иногда смотреть! » я смотрел, но там указано только как отключить для компонента, а мне нужно было полностью убрать при компиляции |
Johny777, Спасибо большое!
|
Всем доброго дня.
подскажите можно ли добавить скролл с стандартному WizardForm.ComponentsList? нигде не могу найти информацию как вернуть его обратно после изменения стандартного размера. |
Здравствуйте!
Подскажите плиз, как можно реализовать вывод кастомной формочки в зависимости от выбранного типа установки. Пробовала функцию WizardSelectedComponents, но она как-то странно работает - выдает или все компоненты или вообще пустой список вне зависимости от того, установка каких компонентов выбрана. |
Shkutu, чем стандартные Types и Components не устраивают:
Код:
[Types] |
Цитата:
|
saurn, смысл в том, что в зависимости от выбранного типа установки/набора компонентов нужно или выводить дополнительную страницу или не выводить. Я не совсем поняла, как это можно сделать с помощью стандартных Types и Components.
|
Цитата:
Код:
[Tasks] |
Цитата:
Код:
[Components] |
Цитата:
На всякий случай обрисую ситуацию более детально. В моем скрипте в зависимости от типа установки может запускаться установка дополнительного стороннего ПО. Выбор типа установки и, соответственно, компонентов, реализован с помощью Types и Components. Так вот в случае, если выбран тип с установкой дополнительного ПО, то нужно показать от этого ПО информацию о лицензии. И не показывать, если это ПО не устанавливается. Пыталась использовать WizardSelectedComponents, чтобы отследить выбранные компоненты, но она как-то странно работает - вне зависимости от выбранного типа установки выдает или полный набор компонентов или вообще пустой список. Ну вот как-то так:) |
Здравствуйте!
Не получается обработать параметр командной строки ни через ParamStr ни через GetCmdTail... В чем ошибка?! |
rezvorck,
Код:
function ParamCmd(): Boolean; |
:yahoo: А можно как- нибудь защитить графику в папке темп, без Ботвы?
|
saurn, огромное спасибо, помогло! :)
|
Приветствую!
Еще вопрос образовался. А можно ли как-то у стандартной формы "Ready to Install" как-то изменить значение выводимой папки установки? Или для этого придется переопределить форму целиком, ну т е заменить стандартную на свою? |
Цитата:
P.S. Немножко для справки: Ready to Install в данном случае не форма, а страница. Инсталятор в Inno строится таким образом, что имеет всего одну форму, на котрой в зависимости от ID страниц показываются или скрываются те или иные элементы. Управлять этими элементами можно в секции Code, через встроенные или самописные процедуры и функции. Но форма у мастера установки, как таковая, одна. |
saurn, спасиб за справку.
Цитата:
Надеюсь, объяснила понятно:) |
Shkutu, как-то так:
Код:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; |
saurn, благодарю. UpdateReadyMemo - то, что нужно :)
|
Всем доброго времени суток!
Возник вопрос, может кто в сталкивался или просто знает, как. Когда при установке программа помещается в "Программы и компоненты" панели управления, то обычно (как я понимаю) отображаемое там имя берется из AppName. Можно ли поменять это отображаемое там имя на какое-то, заранее неизвестное? Ну т е формировать это имя в зависимости от каких-то введенных пользователем данных. Использование Scripted Constants не помогло - судя по всему AppName инициализируется до того, как пользователь что-либо ввел. |
Shkutu,
|
Shkutu, так пойдет?
Код:
[Setup] Цитата:
|
saurn, nik1967, спасибо!
А нету (вдруг) ссылки на русскоязычную справку? А то продираюсь через англоязычную, видимо не слишком эффективно. А на кучу моих вопросов ответы можно найти, судя по всему, просто внимательнее читая документацию) |
|
Видимо все вопросы исчерпали себя к 6-й части :)
________ Если мне не изменяет склероз был способ в TNewMemo помещать не просто текст, а файл rtf господа состоятельные кроты, поделитесь примером, пожалуйста. В Lines.Text - содержимое rtf файла Код:
BestSettings := TNewMemo.Create(WizardForm); |
R.i.m.s.k.y., мемо вроде как не поддерживает РТФ-форматирования напрямую. а вот в ричэдит загрузить рич-текст удается, насколько я помню, только таким способом:
Код:
LoadStringFromFile(ExpandConstant('{tmp}\{#SetupSetting("LicenseFile")}'),S1); Хотя, вспомнил, таким способом я как раз таки грузил рич-текст туда, где не поддерживается рич-форматирование. |
такой вопрос,как соорудить показ превью компонентов в инсталлере,компонентов порядка 40 штук,к каждому нужно наглядное пояснение картинкой.Нашел пример для кастомной страницы,но там и картинка малая и потом всеравно вылазит страница компонентов
есть ли возможность сделать всплывающую превьюшку размером примерно 150х150,необязательно входящую в рамки окна инсталятора? |
elmariacci, http://forum.oszone.net/post-2169372-662.html
|
и еще такой вопрос,попробовал использовать скрипт сделанный в game script generator,выдернуть оттуда только фоновое изображение и проигрыватель.После компиляции выдает ошибку:
внутренняя ошибка extracttemporaryfile isgsg.dll not found в секции Files присутствует...Сама програмка создает еще дополнительно файл bin ,где соответственно лежит длл я так понял,мне bin не нужен -тк делаю патчер и вес порядка 100мб сам скрипт ,если нужно |
Gnom_aka_Lexander, не, в окне выходит такая бяка
Код:
{\rtf1\ansi\ansicpg1251\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1049\deflangfe1049{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} |
elmariacci, Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy
|
R.i.m.s.k.y., Встречный вопрос - чем не устраивает ричэдит?
Код:
var |
Цитата:
|
Цитата:
б) при декомпиляции секция кода не вытаскивается, придется ванговать руками все чего не хватает Цитата:
|
Цитата:
|
elmariacci, посмотри в секции Setup значения DiskSpanning и ReserveBytes, при наличии - удали. Только учитывай, что если ехе будет получаться больше 2-х гиг, то компилятор откажется компилировать твой инсталлятор.
|
Цитата:
|
elmariacci, флаг nocompression поставь
Код:
Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy nocompression |
та же ошибка....внутренняя ошибка extracttemporaryfile isgsg.dll not found
|
elmariacci, Password=111111 - попробуй эту строчку убрать. еще, когда запустишь инсталл, проверь в папке %TEMP% наличие этих файлов:
Цитата:
|
isgsg.dll
isskin.dll другие не добавляются,теперь ошибка на стадии компиляции и они по адрессу Created temporary directory: C:\Users\chip\AppData\Local\Temp\is-70JG8.tmp |
Цитата:
|
я сам тут уже накрутил....удалил при этом строки ExtractTemporaryFile('isgsg.dll'); и заработало
|
Приветствую!
Подскажите, можно ли создать страницу в инсталляторе, чтобы она отображалась после распаковки приложения? Я сделал как в help, но не знаю как ее отобразить после распаковки DBPage := CreateInputQueryPage(wpReady, 'Информация для соединения с базой данных MySQL', '', 'Введите данные для соединения с сервером и нажмите далее.'); Конечная цель - это распаковать программу, на странице DBPage попросить пользователя ввести данные для подключения к MySQL, далее занести эти данные в ini файл и проверить соединение с базой MySQL по введенным данным. И второй вопрос, как можно осуществить проверку успешного соединения с базой? |
laboart, кастомная страницы после страницы прогресса установки:
Код:
DBPage := CreateInputQueryPage(wpInstalling, 'Информация для соединения с базой данных MySQL', '', 'Введите данные для соединения с сервером и нажмите далее.'); |
R.i.m.s.k.y., спасибо, экая я невнимательная:)
Вопрос появился. На этапе инсталляции пользователь вводит какие-то значения, которые дальше используются (с помощью Scripted Constants). Можно ли до этих значений (конкретно тех, что ввел пользователь) доступиться при деинсталляции? |
Shkutu,
данные лучше хранить в реестре, понятное дело к ним есть доступ пока есть ключ. как "На этапе инсталляции пользователь вводит какие-то значения"? можешь показать код? тогда может смогу написать соответствующий пример Данные должны сохраняться сразу после ввода? вот небольшой пример работы с реестром на чистом WinApi http://forum.oszone.net/post-2201802.html#post2201802 если тебе его не хватит, то скажи. Попробую сделать |
Johny777, ввод значений так:
[code] Код:
procedure AskInstanceName(); С реестром не получится, т к значения в него пишутся тоже с учетом того, что ввел пользователь, т е Код:
[Registry] UPD. И еще нет ли какого-нибудь примера про то, как можно добавить форму к деинсталлятору (в InitializeUninstallProgressForm наверное)? А то у меня что-то толком не получается это сделать, а примеров на эту тему вообще не нашла ( |
Цитата:
|
Цитата:
Цитата:
|
Shkutu,
Цитата:
вот накатал функции сохранения текста в файле и чтения оттуда. Они на чистом WinApi у меня нет доверия к встроенным SaveString(s)ToFile LoadString(s)FromFile но если хочешь воспользуйся ими или пиши своё собственное значение в реестр с именем инстансы только для самой себя, и читай её в деинсталяторе Цитата:
А то я честно говоря не знаю что мне писать :) El Sanchez, раз уж ты здесь можешь пожалуйста проверить правильность моих функций SaveTextToFile и GetTextFromFile. Как бы я с флагами не напутал, хотя всё работает, но фиг знает |
Цитата:
Цитата:
|
El Sanchez, да, полный список инстансов вытащить из реестра можно при желании, но вот выбрать конкретный действительно не могу.
Цитата:
Цитата:
Цитата:
|
Ребята помогите пожалуйста . Вот скрипт - http://multi-up.com/900429 , но не видно прогресс бара (как устанавливается,строки) и еще бы хотелось музыку прописать . Буду рад помощи ..
|
Цитата:
Цитата:
Цитата:
|
Dinvin4ester ты используеш внутреное сжатие inno setup а скрипт от isdone потому и не работает
пример http://rghost.ru/48577915 |
vint56,
Огромное спасибо за помощь . |
El Sanchez, спасибо, буду пробовать
|
Привет. И снова вопрос. Можно ли закрыть окно инсталляции из кода, но без вывода стандартного диалога "хотите ли вы прервать процесс установки.. да/нет" (как это происходит при использовании wizardform.close())? Или у wizardform.close() отключить вывод этого самого диалога?
|
Shkutu, можно
в процедуре CancelButtonClick() в булев переменную Confirm пишешь False, чтоб не было диалога подтверждения, а в Cancel - True, чтоб прервать работу инсталла если тебе это нужно только во время установки то нужна проверка |
Johny777, то, что нужно, спасибо за помощь!:)
|
Ребят извеняюсь конечно за вопрос но может ктонибудь поможет ?собрал себе скрипт из разных примеров на основе ISDone всё вроди работает нормально вот только кажется мне что он какойта запутаный получился(можете глянуть пожалуйста может его можно както попроше можно реализовать ? http://rghost.ru/48601229
|
wertulll нормальный там код,ты мой в некоторых скриптах не видел :happy:
|
Помогите с удалением драйвера из директории system32\drivers.Система W64.Драйвер прописывается в обе директории SysWOW64 и System32.
Пробовал через секцию [UninstallDelete] удаляется только из SysWOW64, а директорию System32 в упор не видит, хотя прописывал {sys}\driver\drv.sys и {win}\system32\drivers\drv.sys, реакции ноль.Как победить эту напасть. |
TryRooM, читать в справке про режим x64
|
Про это Flags: 64bit я в курсе, но как прикрутить этот флаг к удалению не пойму.
|
Здравствуйте, подскажите как сделать чтоб при нажатии на картинку открывался сайт в браузере?
|
|
Цитата:
|
Привет! Вопрос, можно ли поменять заглавие у стандартной формочки, выдаваемой MsgBox? Или свою надо рисовать для этого случая?
|
Shkutu, воспользоваться
PHP код:
|
Цитата:
И еще. Может кто-нибудь знает, есть ли где-нибудь список кодов ошибок? А то приходится поневоле ковырять чужой скрипт, при попытке компиляции выдает "Internal error (20)". Не пойму, что за ошибка |
|
Цитата:
Код:
[code] |
nik1967, попробовала поставить инно от Restools, вроде все по инструкции, но скрипт даже не компилится, внезапно ругается на неизвестные данной версии inno сообщения в default.isl.
saurn, спасибо, то, что надо!:) |
saurn, Shkutu, до кучи имплементация WinApi функции MessageBoxIndirect
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx входные аргументы по большей части вынес в перечисляемые типы. Так будет проще, чем с флагами У этого диалогового окна есть возможности настройки, которых нет у встроенных диалоговых окон китайской версии: |
Цитата:
Код:
[Languages] |
Цитата:
|
Shkutu, тю, до меня только сейчас дошло, что вам нужно :). Тогда используйте то, что ребята выше насоветовали.
|
El Sanchez, да, уже:))
|
У меня вопрос
как например та же WinApi функция MessageBox(Ex) обрабатывает входные флаги? вот например мы отправляем туда флаги := MB_ICONINFORMATION or MB_TASKMODAL or MB_CANCELTRYCONTINUE or складывает эти значения, если не ошибаюсь. Получается новое. А каким макаром теперь из этого числа выдрать те 3 флага назад? спрашиваю, потому что не понимаю, но хочу понять, тк поняв смогу использовать ( плагиатъ ) тот же подход для своих процедур/функций значительно укоротив при этом их прототипы и просьба: у кого есть мануал, хорошая книга (посоветуйте пожалуйста), где для самых тупых описана побитавая работа с числами (shr shl xor) или момет мне кто тут всё объяснить? для меня это темнейший лес и гугл не помогает, я до сих пор эту тему не жую :( PS: Подозреваю эта тема имеет прямое отношение к моему пред. вопросу UPD по первому вопросу понял, но к полному пониманию побитовых операций это не привело http://teran.karelia.pro/articles/item_4464.html |
Приветствую всех.
А где можно подробненько почитать, как создать инсталлятор, который сам обновляется с сети и подгружает свежие файлы? |
Цитата:
|
Мне тут раньше вроде подсказывали, что делать если фаил справки пустой открывается.... перечитал сообщения за 2 месяца... не нашел... напомните, пожалуйста.
|
Mat_y, если справку качнул, то правой кнопкой мыши>общие>разблокировать
|
Цитата:
Код:
if (Flags and FM_MY_FLAG1) <> 0 then ... Цитата:
Логическое ИЛИ (or) - для каждого бита операндов результат равен 1, если в одном из битов есть 1, иначе 0 Логическое отрицание (not) - каждый бит операнда инвертируется, если был 1 станет 0 и наоборот. Логическое исключающее ИЛИ (xor) - для каждого бита операндов результат равен 1, если биты неравны между собой (наборы 0 1, 1 0). Если 2 единицы, то результат 0, также как и при двух нулях. Логический сдвиг влево (shl) - сдвигает все биты операнда на n разрядов влево, в освободившееся место забиваются нули. Логический сдвиг вправо (shr) - сдвигает все биты операнда на n разрядов вправо, в освободившееся место забиваются нули. P.S. Подразумевается работа с двумя операндами. |
скажите пожалуйста, почему может во время установки не работать кнопка отмена?
|
Цитата:
|
Вложений: 1
saurn, Файл 104303
|
Всем привет , у меня имеется 3 7zsfx архива , при установке я хочу сделать пошаговую распаковку архивов а не всех сразу через секция run , пож-та помогите , заранее спасибо !
|
Всем привет! Столкнулся с такой проблемой. У меня в установщике есть скрипт в разделе [code] который проигрывает музыку. Но я еще хочу перекрасить свою инсталку в черный цвет. Что и куда надо вставить чтобы скрипты не мешали друг другу и у меня был черный инстал) Заранее спасибо!
|
Mafia_forever, справка --> Setup Script Sections --> [Run] Section --> флаг waituntilterminated
Farser21, чтоб ответить на твой вопрос нужно видеть код |
Кто-нибудь имел дело с импортом функции из dll/stdcall по индексу, а не имени (по типу паскалевского function Bla-bla-bla(name: type): type; stdcall; external 'dll.dll'; index 10;)?
|
Всем привет! Столкнулся с такой проблемой. У меня в установщике есть скрипт в разделе [code] который проигрывает музыку. Но я еще хочу перекрасить свою инсталку в черный цвет. Что и куда надо вставить чтобы скрипты не мешали друг другу и у меня был черный инстал) Заранее спасибо!
Вот код: |
Доброе время суток! Подскажите как сделать чтобы после установки программы, игры и т.п появлялись два разных ярлыка с разными названиями. Какой код и в какую секцию прописать
Заранее благодарю! |
Антон_Мураткин@vk,
Код:
[Icons] Код:
[Tasks] |
Nordek, Благодарю!
А как сделать так чтобы эти два ярлыка запускали разные проги например: MyProg_86.exe и MyProg_64.exe чтобы было для каждой версии винды. Как это организовать? |
Антон_Мураткин@vk
[Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [Tasks] Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked [Icons] Name: {commondesktop}\My Program 1; Filename: {app}\MyProg32.exe; Tasks: desktopicon; Check: Not IsWin64 Name: {commondesktop}\My Program 2; Filename: {app}\MyProg64.exe; Tasks: desktopicon; Check: IsWin64 Farser21 http://rghost.ru/48897864 |
vint56, Благодарю! Но в этой строчки наверное должно быть 32? Name: {commondesktop}\My Program 1; Filename: {app}\MyProg32.exe; Tasks: desktopicon; Check: Not IsWin64 здесь наверное должно быть 32?
Name: {commondesktop}\My Program 2; Filename: {app}\MyProg64.exe; Tasks: desktopicon; Check: IsWin64 И ещё вопросик. Как сделать удаление проги,игры и т.п? А то у меня какие то ошибки вылазиют при запуске удаления |
Цитата:
Код:
; Check: Not IsWin64 То есть при проверке будет установлено то что поддерживается системой в зависимости от разрядности. Цитата:
Код:
[Icons] |
Nordek, Всё понял просто не догнал чуть-чуть.
Цитата:
Главное чтобы были два ярлыка на раб.столе и выбрать ярлык что бы запускать на своей разрядности системы. Вот мне как надо. Создались два ярлыка на раб.столе Пример: Program_32 Program_64 У меня система _32 У тебя например _64 Тогда с раб.стола я запускаю Program_32 А ты запускаешь Program_64 И опять же на пример: Есть папка Win32 и Win64 в них соответственно свой ехе файл как мне сделать как я писал выше про ярлыки? Что то совсем запутался |
Антон_Мураткин@vk тот пример который я привёл там будет создаваться один ярлык от разрядности системы если система 32 то ярлык будет MyProg32.exe если 64 MyProg64.exe просто зачем в 32 двух битной системе ярлык от 64
[Icons] Name: {commondesktop}\My Program 1; Filename: {app}\Win32\MyProg32.exe; Workingdir: {app}\Win32; Tasks: desktopicon; Check: Not IsWin64 Name: {commondesktop}\My Program 2; Filename: {app}\Win64\MyProg64.exe; Workingdir: {app}\Win64; Tasks: desktopicon; Check: IsWin64 |
vint56, Ок с этим ясно.А какой же например брать ехе файл? что бы было как ты написал про ярлыки
|
Антон_Мураткин@vk
|
vint56,
Цитата:
Цитата:
|
Антон_Мураткин@vk,
Код:
Name: "{group}\{cm:UninstallProgram,{#AppName}}"; Filename: "{uninstallexe}" |
Nordek, Да вы не поняли, эта строчка у меня есть. Но только когда уже установишь програму и хочешь её удалить она выдаёт всякие ошибки
|
vint56, Спасибо добрый человек)
|
Приветствую!
Есть вопрос: можно ли в инно на момент установки приложения узнать, в какой из папок ({userprograms} или {commonprograms} ) будет создаваться папка с ярлыком? Ну т е, я так понимаю, что выбор инсталлятором папки зависит от прав пользователя. Можно этот момент (права пользователя на определенную папку) как-то отследить? |
Цитата:
{userprograms} - текущий пользователь. {commonprograms} - все пользователи. |
saurn, а если имя папки не указано, то что будет использоваться по умолчанию? И это "по умолчанию" всегда одинаковое или зависит от каких-то настроек?
|
Цитата:
|
Извините, я немного не догоняю, видимо (
Цитата:
Код:
[Icons] И вопрос, собственно, в том, можно ли программно определить эту самую папку, ну или есть ли у пользователя права администратора. Цитата:
|
Люди добрые, подскажите скрипта для распаковки FreeArc'ом? Самый простой без наворотов, чтобы просто распаковал во время установки. Заранее благодарю
|
Цитата:
В Inno это есть так называемая переменная как в Windows. Например в Windows переменная %TEMP% в Inno это будет {tmp}. Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
P.S. Все константы подробно описаны в справке. |
Nordek, saurn, спасибо
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
El Sanchez,
Цитата:
мне пришлось вплотную с этим столкнуться, те мне нужны пути для инсталла и темп в первую очередь пути к папкам я получаю таким макаром (код Delphi): http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx из констант http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx мне нужны только CSIDL_DESKTOP CSIDL_COMMON_DESKTOPDIRECTORY CSIDL_COMMON_DOCUMENTS CSIDL_PROGRAM_FILES CSIDL_PROGRAMS CSIDL_DESKTOPDIRECTORY CSIDL_MYDOCUMENTS CSIDL_PROGRAM_FILESX86 =================== а путь к папке Temp только одним способом. Другого не знаю (код Delphi): http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx и этот путь тот же самый, в котором инно создаёт временную папку и именно этот темп откроется если вбить %TEMP% в "Выполнить" исходники инно по этому поводу я не смотрел, но уверен что пути которыми она заменят константы в строке она берёт именно при помощи вышеупомянутых функций В общем хотелось бы понять, чтоб потом у меня весь инсалл не рухнул при запуске не из под Админа, |
Цитата:
P.S. даже не тот-же, а несколько отличающийся. объектная структура классов построена чуток по другому, чем в дельфи. |
Цитата:
Код:
GetTempDir |
El Sanchez, Еще можно добавить
ExpandConstant('{%TEMP}') Вроде так. |
Цитата:
Цитата:
|
XXXler,
Цитата:
и там нет ничего готового в плане путей (по крайней мере я пока не видел) и как-то пофиг, тк мне интереснее самому написать реализацию получения нужных мне путей а не пользоваться встроенными, если б они были коды в моём предыдущем посте - часть исходников проекта на Delphi а здесь на форуме стараюсь отвечать на вопросы связанные с кодом, тк кому-то помощь, а мне знания а иногда и сам спрашиваю, ведь тут хватает людей у которых я хотел бы многому научиться Gnom_aka_Lexander, Цитата:
El Sanchez, Цитата:
а какую функцию лучше использовать? Мне кажется GetTemPath возвращает то же, что и GetEnvironmentVariable тк цитирую отсюда http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx те путь к временной папке мне в какой-то мере гарантирован и ничего что я использую именно этот путь для хранения временных файлов, там, в папке с уникальным рандомным именем? к слову рандрмное имя получаю таким макаром: |
Цитата:
Появится смысл тогда когда будет понятно то что описал ниже в примере. Тем более какие бы ты привилегии не применил, сам установщик всё равно запускается только из под админа. И то что в конце установке из инсталлятора выполняешь, соответственно и программа запускается из под админа и можно любые настройки менять как хочешь. Но потом, обычным запуском попробуй-ка настройки изменить (опять же пример привёл ниже). Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Ну, думайте думайте. Это как раз будет задача для всех: Как после установки запустить программу простым запуском, менять настройки не прибегая к запуску админа. А я пока поищу реализации в Inno, может найду. |
Цитата:
|
Ребята всем привет . Что делаю не так - http://sendfile.su/873653.
Удалил: Выбор компонентов Язык интерфейса: Русский Английский Язык озвучки: Обновить DirectX Установить Nvidia PhysX Установить Microsoft Visual C++ Redist Установить Games for Windows LIVE Но они все-равно остались , точнее в само инсталле такое и так далее Помогите пожалуйста .Как их удалить ? |
Цитата:
А не в хитрых махинациях с перемещением конфига. |
Цитата:
|
audiofeel,
Огромное спасибо . |
Цитата:
Цитата:
|
audiofeel,
Только теперь прогрес бар не отображается . |
Цитата:
Цитата:
архиватор 'FreeArc", сжато без инсайдов, прекомп и среп и тд, если у вас с ними то необходимо раскоментировать в начале скрипта ;#define PrecompInside ;#define SrepInside ;#define precomp "0.42" ;#define unrar ;#define XDelta ;#define PackZIP |
audiofeel,
Что я делаю не так ? Пользуюсь только средствами инно . |
Цитата:
то есть без внешних архиваторов. я думаю что скрипт писался именно под исдон, открутить от исдон "полностью" с рабочим прогресс баром я не в силах. а что мешает сжать необходимые файлы сторонним архиватором , фри арк, 7 зип или вин рар. если это прога то архив фри арк можно и запоролить а хотя попробовать можно, но тогда прогресс бар будет стандартный, ну там зеленный и тп |
audiofeel,
Тогда может стандартный сделать ? Просто нравится их инсталл , хотел использовать его . |
Цитата:
http://rghost.ru/49046726 |
audiofeel,
Уважаю знающих людей в этом деле (ремесле) . И еще раз спасибо . |
Вложений: 1
Всем привет. У меня вопрос по поводу объекта TPanel. В инсталеке есть слайд шоу на WizardForm-е и панель находиться на WizardForm-е и при смене картинок панель запоминает предыдущую картинку. Можно что-нибудь с ней сделать? Скрипт, думаю, ненадо выкладывать.
|
Цитата:
Начну с того что там двигается не TPanel,а прозрачная картинка. (этого элемента там нет(TPanel)) Картинки в оригинальном скрипте там просто меняются на заднем фоне,походу ты решил что-то переделать. В данном скрипте у тебя прикрутить IsSlideShow и т.д. для смены картинки не получится. Можно сделать затухание картинок используя Transparent,но это сильно грузит систему. (если учесть что должен будет распаковываться архив,да и ещё это,будет жесть). Что ты собрался сделать мне не понятно. И да, панель запоминает предыдущую картинку? это как? |
sergey3695, Поясняю ситуацию. Используется обычное слайдшоу с картинками в формате .bmp (не IsSlideShow) и лежат слайды на WizardForm. Есть музыкальная кнопка с текстурами в формате .bmp, где как раз используеться панель размером 38*35 пикс. (на неё уже ложиться текстура и т.д. (это уже не важно!)) тоже на WizardForm. Так вот, при смене слайда в слайд шоу, на панеле (подчёркиваю на панели)отпечатывается кусок предыдущего слайда и при наведении на панель мышкой, она снова становиться прозрачной (Panel).
|
Nightwishh, так ведь используется .bmp (не прозрачно). (зачем через .bmp? с ботвой была бы прозрачность и весило бы меньше)
Кинь тогда скрипт (в пм (лс)) посмотрю,мне уже прям интересно как ты с кнопкой изгалился. (если честно лучше через ботву сделай,работать лучше будет) |
:hi:
Если в скрипте написать так Код:
[Files] Код:
[Files] |
vahe-91, ну справка же...
Секция [Files] Flags recursesubdirs Указывает компилятору или инсталлятору также искать файлы с указанным именем/маской в подпапках папки. |
Цитата:
В созданном скрипте увидишь чем дополнился Flags Код:
Source: D:\12\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs Два раза кликаешь по элементу и выбираешь что тебе нужно а именно Обрабатывать подкаталоги - recursesubdirs Создавать все подкаталоги - createallsubdirs Либо в Inno Script Studio, переходишь в "Файлы" Два раза кликаешь по элементу переходишь в "Детали » (Де)Инсталл" и выбираешь что тебе нужно а именно recursesubdirs - Обрабатывать подкаталоги createallsubdirs - Создавать все подкаталоги. |
nik1967, Nordek, спасибо, в справке про секцию files все смотрел, кроме флагов :teeth:
|
Вопрос снят .Прочел в справке что это лимит. |
Приветствую, уважаемые форумчане!
Поделитесь пожалуйста опытом и знаниями касательно скрипта ISDone. Вообщем проблема в следующем: Пытаюсь сделать репак игры. Беру все файлы игры и запаковываю их в архив FreeArc'ом (без сжатия). Полученный файл обрабатываю "Precomp'ом". Далее созданный ".pcf" - файл обрабатываю "Srep'ом". И наконец Полученный ".srp" - файл упаковываю тем же FreeArc'ом, но уже на "Ультра". Как мне потом его распаковать используя скрипт ISDone более грамотно? Буду вам очень признателен за помощь. Заранее спасибо! |
Alloc, так-же, но в обратном порядке, в скрипте примере все есть. не забывать удалять промежуточные данные (в примере все это тоже есть)
|
Gnom_aka_Lexander, спасибо за ответ. А одной строкой невозможно это сделать? И подскажите еще пожалуйста, как использовать "arc.ini"? для чего он нужен?
|
|
Gnom_aka_Lexander, подскажите тогда, как в строке "Извлечение файлов:" сделать так, что бы показывались только извлекаемые файлы игры а не архивы .arc; .srep... как например у "R.G. Origami"? Может в самих функциях "ISArcExtract", "ISPrecompExtract" это можно настроить?
заранее спасибо! |
Alloc, никак. при распаковке последнего архива так и будет. Да и при распаковке каждого, собственно, так и происходит - отображается имя именно того файла, который в данный момент извлекается.
|
Gnom_aka_Lexander, спасибо за помощь)
|
Gnom_aka_Lexander, подскажите, я правильно делаю?
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.bin'), ExpandConstant('{app}\Data.srp'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Alloc, нет. Справка, описание функций. В первой все в порядке, вот в последующих -
function ISSrepExtract (CurComponent:Cardinal; PctOfTotal:double; InputFile, OutputFile:string; DeleteInFile:boolean):boolean; тут нужно true. в остальных последующих тоже. (Из справки - DeleteInFile - удаление исходного архива после распаковки.) |
Gnom_aka_Lexander, все, спасибо большое. я понял
|
Цитата:
Естественно, что и запаковывать нужно с помощью этих CLS. |
nik1967, Спасибо за ответ. Пожалуйста, можете немного по подробнее об этом... я пробовал еще так:
Код:
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\Data.bin" -dp"{app}"'), ExpandConstant('{tmp}'), '...',False) then break; Буду очень признателен за помощь. Спасибо заранее . |
Alloc, попробуй сделать "проще", просто выбери нужный батник в папке "New folder" (названия батников говорят сами за себя) а файлы которые надо зжать перемести в папку - "packeddata" , на выходе получишь архив, который распаковывается немного быстрее (что то там про паралельную распаковку), а в скрипт всего лишь нужно добавить (или не убирать)
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; и раскоментировать вот это = #define facompress #define PrecompInside #define SrepInside ============================== ну и соответственно все что в папке "include" перенеси у себе в инклуд ---------------------------------------- вроде все http://rghost.ru/49201767 |
audiofeel, большое спасибо, я попробую
Большое спасибо за помощь, все прекрасно работает. Этого я и добивался) Еще подскажите пожалуйста, какими командами можно установить пароль для архива? |
Alloc
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r "-hpvint56" -mprecomp+srep:l512+lzma:a1:mfbt4:d176m:fb128:mc1000:lc8 data.bin packeddata\* if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.bin'), ExpandConstant('{app}'), '', false, 'vint56', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
vint56, большое спасибо. А путь где располагается файл "arc.ini" обязательно указывать? Инсталлятор и без этого благополучно распаковывает архивы вроде.. объясните пожалуйста
еще хотел спросить, чем лучше упаковать - srep или srep64. У меня x64-х битная ОС.. Ни как потом не повлияет на пользователей с х32 ОС если я буду паковать с Srep64? И как указать в батнике, что бы архиватор использовал именно это версию srep'а? Да, и за что отвечает параметр "d176m"? Заранее спасибо! |
Alloc если не надо arc.ini
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.bin'), ExpandConstant('{app}'), '', false, 'vint56', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; Насчет arc.ini если ты будеш использовать внешние упаковшики где он находиться в папке include если у тебя Oc 64 тогда лутше использовать srep64.exe просто переменуй в srep.exe можно будет использовать больше 4 гигов памяти насчет распаковки CLS-srep.dll распакует за что отвечает параметр "d176m"? сколько памяти использовать при сжатий lzma но все ровно будет ограничения да если Oc 64 бита для этого нужна FreeArc-LZMA-x64.exe тогда можно будет использовать больше памяти d512 это 5 гигов для распаковки потребуется 512 мегов ну в расчет брать если использовал cls фильтры они тоже приболяют память для распаковки в isdone if not SrepInit(ExpandConstant('{app}'),256,0) then break; выделить 256 мегов для распаковки if not PrecompInit(ExpandConstant('{app}'),128,PCFVer) then break; 128 мегов для распаковки будет считаться если использовалься srep и lzma пример 256+512 = 768 потребуется памяти прочитай справку по freearc или 7zip |
vint56, огромное спасибо за помощь! Теперь все ясно
|
У меня еще вопросик созрел, надеюсь на вашу помощь)
Вообщем при упаковке файлов игры, место на жестком диске стремительно приближается к нулю по известной причине.. Скажите пожалуйста, как и что прописать в батнике, что бы временные файлы упаковщиков "precomp+srep+lzma" хранились в определенной папке? Заранее спасибо! |
Alloc
arc.exe a -w.\ пример -w.\ будет создавать файлы возле батника а не во временном каталоге |
vint56, еще раз спасибо)
|
Помогите кому не трудно разобраться с набором команд для сжатия.. Я исользую следующий набор команд для сжатия:
Код:
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r "-hpvint56" -mprecomp+srep:l512+lzma:a1:mfbt4:d176m:fb128:mc1000:lc8 data.bin packeddata\* |
Госопда!
А как можно сделать, чтобы установщик запоминал какие компоненты пользователь выбрал при прошлой установке? Т.е. если установщик запущен еще раз, то галочки на выбранных компонентах оставались.... только так, чтобы фаил uninstall не создавался... кто-то говорил, что это можно сделать в ini. Может кто подсказать? |
Подскажите пожалуйста. Создал новую кнопку [(Button) далее] но она не реагирует, что бы на следующию страницу переходило как прописать чтобы она работала? Заранее благодарю
|
Антон_Мураткин@vk
|
vint56, А можно вот в этом скрипте вставить чтобы кнопки работали
[code] Код:
{ RedesignWizardFormBegin } // Не удалять эту строку! |
Доброе время суток. Мне когда то давали скрипт на удаление настроек/сохранок программ/игр http://forum.oszone.net/post-2165899.html#post2165899 и никакого сообщения нету на удаление
|
Антон_Мураткин@vk
Все работает habib2302 а ты правильно указал путь сохранений |
vint56, Благодарю! Но почему то только всё это на первой страницы находится. А мне надо что бы кнопки были так же как на стандартном сетапе (инсталяторе) Есть кнопки стандартные а мне надо же такие только ещё и в другом месте
|
|
Цитата:
У тебя сейчас Код:
Parent := WizardForm.WelcomePage; Тогда так Код:
Parent := WizardForm; |
Антон_Мураткин@vk вот так
|
Доброе время суток. Я использую скрипт для закрепеня ярлыков на панель быстрого запуска win 7. И имя ярлыка получается корявое
![]() |
Ребят, покажите, пожалуйста, где почитать как сделать чтобы выбранные компоненты подгружались в установщик из сети?
|
У меня еще один вопрос, а как прописать правило, чтобы при удалении программы в реестре ничего не трогалось.
|
Цитата:
Цитата:
Цитата:
|
El Sanchez, извращение - не извращение, но если один из компонентов весит Гиг, нужен он 10% людей, а сам установщик вести 10 мегабайт, то это единственный разумный выход не раздувать размер файла.
|
А по поводу реестра есть варианты?
|
Цитата:
Цитата:
|
Цитата:
Цитата:
И вопрос прям совсем к знатокам... в окне компонентов можно выбрать (навести мышку) и появится описание этого компонента... это я знаю как сделать... а вот можно ли выводить картинку, при наведении на компонент или еще какое действие? |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Для инфо панели с текстом есть такой скрипт: Как его переделать под картинку? |
|
Цитата:
По поводу ключей реестра, и удалении программы попробую объяснить подробнее мою проблему. Существует программа (не моя) и установщик находит к ней путь по AppId . Далее, программа установки дополняет существующую программу файлами (при этом совершенно не трогая ни один фаил программы)... и создает файлы для удаления (Unninst). Если воспользоваться Unninst.exe, то все дополненные файлы удаляются как надо, но и по AppId установщик эту программу перестает находить... есть ли способ этого избежать? |
Цитата:
1) Строчка Код:
Parent := WizardForm.SelectComponentsPage; Пока я придумал только Код:
Parent := WizardForm.MainPanel; И еще небольшой вопросик... 2) Как сделать, чтобы поле с картинкой изначально не было пустым и имело фоновую картинку, которая бы заменялась при наведении на компонент... для текстового поля это делается вот так... Код:
Info.Caption := 'Наведите на компонент, чтобы получить дополнительную информацию'; Сразу спасибо. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Код:
if CurPageID=wpSelectComponents then Цитата:
Ну и остался вопрос, можно как-то сделать, чтобы изначально поле под картинку для компонента не было пустым? |
Цитата:
Цитата:
Код:
... |
|
Цитата:
Цитата:
У Inno может быть вида {XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}_is1 или MyProg_is1, а у других {XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, MyProg или вообще XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Не известно какой установщик используется у Mat_y, тем более как он указывает что не его: Цитата:
|
Цитата:
Цитата:
Цитата:
|
Всем приветы! Надеюсь на вашу помощь, а дело в следующем: инсталлятор не правильно показывает процентаж распаковки файлов, причем скрипт абсолютно чистый (не модифицированный). Архив всего один который был сжат Freearc'ом ([b]Наилучшее асимметричное (с быстрой распаковкой): -m9x -ld192m -s256m]/b])... Вообщем проценты доходят до 100% но распаковка все еще продолжается секунд 5-ть, в остальных же случаях, игры которые я так же паковал и использовал тот же скрипт распаковывались нормально... Пробовал как ручную расстановку процентных соотношений так и автоматическую с использованием records.inf, результат тот же.. в чем может быть причина?
|
Цитата:
Если удаление, то примерно в таком духе |
AppId программы выглядит так:
Код:
[Setup] Благодаря этому AppId мой установщик находит правильный путь к установленной программе. Но если я удаляю установленные сверху программы файлы (через Uninstall ), то удаляется и запись о программе в реестре (точнее она остается, но даже не открывается, выдавая ошибку). Nordek, что делает эта строчка? Код:
procedure CurPageChanged(CurPageID: Integer); Код:
DeleteB.Visible := false; |
[setup]
DefaultDirName="{code:MyConst}" [code] function MyConst(Default: String): String; var ResultStr: String; begin RegQueryStringValue(HKLM, 'Software\...', 'Install Dir', ResultStr); Result:=ResultStr end; Вопрос: Как сделать, чтобы в случае отсутствия ссылки реестра инсталлятор автоматический указывал стандартный путь установки {pf}? Если кто знает помогите пожалуйста. |
Цитата:
Цитата:
Могу предложить такой вариант Код:
[Setup] Код:
[Registry] Тебе нужно чтоб при удалении не стиралась основная информации о инсталляции. Значит используем во втором инсталляторе секцию [Registry] для того чтоб второй инсталлятор дописывал для кода информацию о удалении (о себе, что он там установлен). Секцию "CreateUninstallRegKey=false" используем для того чтоб второй инсталлятор не вписывал о себе информацию и не заменял основную установку собой, для этого у второго есть секция [Registry] от куда дополняется информацией для кода InstallLocation2 и UninstallString2-ом. "UninstallFilesDir={app}\Uninstall" служит для деинсталлятора, создаёт деинсталлятор в папке Uninstall Таким образом, второй инсталлятор не трогает реестр т.е только дополняет. А при деинсталляции созданные им секции удаляет не затрагивая основную информацию первого. А код, выполняет поиск. Существует ли второй компонент в системе или нет. (если что, в коде сам заменишь InstallLocation и UninstallString на InstallLocation 2 и UninstallString 2). Надеюсь понял мою идею. |
Raz3r,
|
|
nik1967, спасибо! Ты очень-очень помог!
|
Всем приветы! Надеюсь на вашу помощь, а дело в следующем: инсталлятор не правильно показывает процентаж распаковки файлов, причем скрипт абсолютно чистый (не модифицированный). Архив всего один который был сжат Freearc'ом ([b]Наилучшее асимметричное (с быстрой распаковкой): -m9x -ld192m -s256m]/b])... Вообщем проценты доходят до 100% но распаковка все еще продолжается секунд 5-ть, в остальных же случаях, игры которые я так же паковал и использовал тот же скрипт распаковывались нормально... Пробовал как ручную расстановку процентных соотношений так и автоматическую с использованием records.inf, результат тот же.. в чем может быть причина?
|
Nordek спасибо за пример 2, я пожалуй оставлю первый уже.
Не хочу показаться слишком наглым, но у меня возникло ещё несколько вопросов по инсталлеру. 1. Какой командой переименовать разбитые тома, чтобы они имели своё название, отличающиеся от установщика? 2. Как сделать чтобы инсталлер можно было запускать в режиме автоустановки, т.е когда прописываешь команду запуска в батнике setup.exe -silenced инсталлер сразу начинает установку с отображением процесса? Ещё раз извините что так много вопросов, просто я делаю качественный репак, а скриптованием занимаюсь только второй день. Заранее большое спасибо за ответы. |
Raz3r,
1. На сколько я знаю - никакой. То, что в репаках (к примеру) - это архивы (например .arc), переименованные, так, как нужно и распаковываемые с помощью спец софта - например ISDone. 2. Советую поискать информацию по "тихой" установке. Это уже неоднократно обсуждалось. |
Цитата:
|
Цитата:
|
Цитата:
Остался один вопрос... при таком вот исполнении, при повторном запуске инсталлятора он будет помнить список установленных компонентов? UPD. Поверил, все работает, дополняет реестр... только одна большая проблема... при Код:
CreateUninstallRegKey=no |
Цитата:
UPD. Ха, проблему решил старым добрым способом... но натолкнули на идею меня Вы. Спасибо. |
Цитата:
Для компонентов Inno Setup: Selected Components - Для отмеченных компонентов. Inno Setup: Deselected Components - Для не отмеченных компонентов Для задач Inno Setup: Selected Tasks - Для отмеченных задач Inno Setup: Deselected Tasks - Для не отмеченных задач И Тип установки как Inno Setup: Setup Type. Вторичный инсталлятор (Дополнительные компоненты например) имеет минус, он не будет помнить компоненты, задачи и тип установки т.к полностью не прописывает себя в реестр. При установке, прописывается только заданные значения InstallLocation2 и UninstallString2 для поиска на присутствие установленной вторичной программы через инсталлятор. Но будет помнить какие компоненты ему нужно удалить не захватывая лишние (папки например, ярлыки, файлы) т.к прописываются они в unins000.dat. |
Всем привет такой вопрос. У меня в установщике выбор компонентов (т.е. можно ставить галочки возле того что хочешь установить), но есть небольшая проблема. Все галочки сразу выставлены и немного не удобно постоянно убирать галочки и ставить что нужно. Как сделать чтобы изначально галочки не стояли.
|
Цитата:
Для компонентов смотри в сторону Types, там есть выбор custom, compact или full. Например может присутствовать Types: full, Types: compact или Types: custom. Удали строчку что касается Types. |
audiofeel, Зачем скрипт, если я его не модифицировал вообще, он такой какой есть, единственное что я изменил так это вот:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-2.bin'), ExpandConstant('{app}'), '', false, '321989', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Alloc если один архив сделай так
if not ISArcExtract ( 0, 100, ExpandConstant('{src}\Data-2.bin'), ExpandConstant('{app}'), '', false, '321989', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Nordek, Mat_y, месье знают толк в извращениях. Mat_y, вместо того, чтобы использовать для патча другой AppId дабы тот прописывался в своей ветке реестра и не трогал ветку основной программы, вы занимаетесь ерундой.
Цитата:
Код:
[Setup] Цитата:
Код:
[Setup] Цитата:
|
Всем здраствуйте. Объясните почему мирцают лейблы и др. объекты, которые находяться на картинке, при переходе с одной страницы на другую (причём видно задний фон этих объектов), продолжительностью доли секунды? Ботву неиспользую. И как с этим бороться? Надеюсь вопрос понятен :) Спасибо!!!
|
Цитата:
Можете объяснить вот это место Код:
%7d_is1 Код:
InstallLocation Цитата:
|
Приветствую!
Возник вопрос, а можно ли использовать компоненты, но при этом не использовать типы установки? Просто столкнулась с тем, что даже если вообще не вводить секцию types, при установке все равно получается выбор типа установки (из тех стандартных, что у него есть: полный, выборочный, компактный) |
Цитата:
Цитата:
Код:
[Types] |
Цитата:
Но у меня появился к Вам еще вопрос. Сейчас я проверяю правильность выбранной папки... Проверяемый фаил содержит в свойствах номер версии... можно ли как-то еще и версию фала проверять? |
|
El Sanchez, спасибо!
А вот еще вопрос. Если в инсталляторе на странице выбора доп. задач есть чекбоксы для создания нескольких ярлыков на рабочем столе, то можно кроме них сделать чекбокс "выставить все" и, если можно, то как? Т е можно ли как-то программно выставлять чекбокс таска на странице wpSelectTasks? |
Shkutu,
|
nik1967, это не совсем то, насколько я поняла. GroupDescription просто позволяет объединить несколько задач в группу. В прошлый раз я наверное не совсем корректно задала вопрос. Смысл в том, что если, допустим, у меня есть 10 чек боксов для создания 10 ярлыков, то хотелось бы иметь еще 1 чек бокс "выставить все", после выставления которого остальные 10 автоматически станут выставлены (ну просто чтобы можно было кликнуть 1 раз вместо 10 :))
И еще вопрос. Можно ли на странице выбора компонентов эти самые компоненты разделить на группы, ну или выводить какой-нибудь текст между перечислением этих самых компонентов на странице wpSelectComponents. Т е как раз что-то вроде GroupDescription, но для компонентов? |
Shkutu, а попробовать скомпилировать пример и посмотреть - не?
Цитата:
|
nik1967, пробовать-то пробовала, но изначально читала невнимательно, так что сразу не поняла, как оно работает, извините. Да, действительно, это как раз то, что нужно. :)
|
Цитата:
|
|
APTEM2, удалить повторный идентификатор 'CancelBtn'
Mat_y, если не забуду, завтра пример набросаю. |
nik1967,
Ещё вопрос как в свой инстолятор добавить слайд шоу ????????? |
APTEM2, кнопка Cancel у Вас 2 раза прописана в коде.
Цитата:
Полноэкранный рисунок на фоновом окне и полноэкранное слайд-шоу по процентам (из справки): Inno Setup Faq. Слайд-шоу в окне инсталляции nik1967, напоминаю о своей проблеме. |
|
APTEM2, Вам же сказали, уберите|переименуйте 2й CancelBtn. На вашем же скриншоте видно в var ... NoIconsCheck, CancelBtn, MinBtn, CancelBtn
А на счет аналога GroupDescription для секции Components никто не знает? |
|
APTEM2,
Допишите в type Код:
Pchar =PansiChar; |
Цитата:
|
доброе время суток.дайте мне пожалуйста скрипт на завершение работы процесса до установки и до удаления программы
|
habib2302,
Mat_y, В шапку темы заглянуть не судьба? "Определение информации о версии файла" , "Закрытие процесса" Mat_y, и чем тебя не устраивает метод GetFileVersion FileSystemObject-а, который предложил nik1967 ? http://msdn.microsoft.com/en-us/libr...=vs.84%29.aspx он как раз таки и возвращает версию файла в виде строки и нет никакой нужды лезть в дебри WinApi подправил функцию: Код:
function FileVersion(const FilePath: String): String; |
Цитата:
|
|
Mat_y,
|
nik1967,
Цитата:
Пардон я в прошлом говорил что нужно сравнивать стоки, но не знал что Цитата:
вот накатал функцию сравнения версий, по примеру станет ясно что она возвращает и как работает: PS: делал упор на быстродействие :) |
Всем привет! Кто-нибудь знает, можно ли из инно запускать параметризованный sql скрипт (transact-sql) и как?
|
Помогите кому не трудно разобраться с набором команд для сжатия.. Я использую следующий набор команд:
Код:
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r "-hppassword" -mprecomp+srep:l512+lzma:a1:mfbt4:d176m:fb128:mc1000:lc8 data.bin packeddata\* |
Цитата:
У тебя же function FileVersion возвращает строку - вот я и сравниваю строковый параметр - версию файла. |
nik1967,
if '3.0.0.0' < '3.0.0.1' then Beep; в натуре работает, буду знать, спасибо за знание! :) даже не знал, что так можно, по старинке алгорим пишу... жесть, не задумывался о очевидном решении те для меня сравнение строк раньше было =/<>, а можно оказывается и <, > ... ну все ж пусть будет и математическое сравнение до кучи, раз уж оно есть |
|
Ух... супер... все шикарно работает...
Немного адаптировал под себя... чтобы по 100 раз в код не лазить. И я опять возвращаюсь к наиболее запутанному для себя вопросу... реально ли подгружать особо крупные компоненты с ФТП, если их выберут для установки? |
|
Доброе время суток. Я делаю репак atomic alarm clock. Проблема в том, что не срабатывает скрипт на удаление др. версий приложения при старте. Оригинальная програ установлена. Кстати. Кто то мне давал скрип (архив под название 1) он не работает
|
Цитата:
Цитата:
Код:
Buff := RemoveQuotes(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + AppIds[i] + ' |
saurn, оригинальный установщик написан на inno setup на версии 5.5.3
помоги с ошибкой в этом скрипте Код:
[CustomMessages] ![]() |
Цитата:
Код:
[code] |
как сделать так, чтобы процесс был завершен до удаления приложения?скрипт из шапки он завершает процесс до установки
|
Цитата:
|
скрипт на завершение процесса не работает и как решить проблему со скриптом на удаление др. версий приложения при старте.
|
Цитата:
|
Nordek, тоже не работает
|
Цитата:
А в Код:
if RunTask('winamp.exe', False) then Код:
KillTask('winamp.exe'); Учти, срабатывает после того как кликнешь деинсталлировать. Потом соглашаешься нажатием кнопки "Да" и только тогда выскочит диалог о завершении процесса. |
Nordek, да вписывал
смотри |
habib2302 если ты компилируеш проэкт на unicode он работать не будет IsTask работает только в ansi версий
|
vint56, так у меня и стоит ansi
|
Здравствуйте. Прошу помощи. Есть функция "размер места на диске для выбранных компонентов"
Код:
function GetComponentSpace(): Currency; Код:
[Setup] |
Nightwishh, немного измененный пример от Johny777
Оригинальный пост ------------------------------------------------------------------------------------- Цитата:
|
saurn, Спасибо Вам за скрипт и за оригинал спасибо Johny777, но образовался вопрос. Можно ли сделать так чтобы числа не отражались вот так: 7876.5 Мб, а чтобы запись была в таком формате: 7 876.5 Мб, а то читать сложновато? :) Спасибо за внимание.
|
Ребята помогите!
Что надо прописать, чтобы по умолчанию напротив необходимого элемента стояла галочка (которую при необходимости можно было отключить). например, установка доп. ПО или русификатора? |
Цитата:
|
Господа! такой вопрос...
При повторном запуске программы установки и выборе другого компонента (допустим стоял 1 компонент, а хочу поставить 2-й компонент.... они помечены флагом: Flags: exclusive) появляется такое окошко... ... при этом в установщике настроено поле, которое полностью очищает папку, в которую ставятся компоненты перед установкой... Код:
[InstallDelete] 2) Как можно сделать, чтобы окошко (упомянутое вше) не выскакивало? |
Цитата:
|
|
Всем доброго времени суток. Возник такой вопрос. Насчет скрипта который отвечает за удаление. Что у меня не так?
Получается после установки содержимого через установщик в отдельную папку все норм удаляет только то что установилось. А вот когда устанавливаешь в папку с другими файлами то удаляет не только что установилось а все содержимое той папки. Скрипт |
saurn, Спасибо большое, вопросов больше нет :yahoo:
|
Farser21, уберите из скрипта эти строчки:
Код:
[UninstallDelete] Код:
[UninstallDelete] |
saurn, спасибо большое твой совет помог.
И есть еще 1 небольшой вопрос, когда выбираешь куда устанавливать файлы потом открывается сам список того что хочешь установить. Как сделать так чтобы когда наводишь на название какого-то файла выскакивала картинка? Заранее спасибо! |
Farser21, если я правильно вас понял, то тут то, что вам нужно: http://forum.oszone.net/post-2169372-662.html
Цитата:
|
|
|
Цитата:
|
saurn, ок спасибо разберусь. Только в разделе code у меня есть еще другие скрипты как их соединить с этим. Просто в моем code уже присутствует procedure InitializeWizard(). Как добавить еще и этот с картинками?
|
Farser21, Пробуй:
|
Nordek, выдает ошибку
P.S. с первой ошибкой разобрался, но появилась 2 она ниже под спойлером |
Farser21, Ну так название картинок в самом начале скрипта добавляй
Код:
#define Pic1 "Здесь" И картинки должны быть в bmp формате. |
Цитата:
Цитата:
|
|
Цитата:
|
saurn, Спасибо вроде норм, только вот я установил Inno Setup от Restools
И теперь выдает такую ошибку ![]() |
Маленький вопросик....
На странице выбора директории я добавил место для галки создания резервной копии... Как сделать так, чтобы при повторном запуске установщика, если уже была произведена установка ранее, эта секция не отображалась? ... |
Цитата:
А зачем ты установил Inno Setup версии 5.5.4? На неё ещё нет расширенной. Качай Inno Setup 5.5.1 isetup-5.5.1.exe или ispack-5.5.1-unicode.exe и только тогда на неё накатывай Расширенную Inno Setup Compiler build 121216 Inno ISCmplr Setup build 121002 по инструкции в первом посте соседней темы. |
Nordek , да от туда качал. Сейчас сделаю как ты написал. Спасибо)
Nordek и saurn Спасибо большое за ваши советы все работает) |
И еще возможно как-то указать регулировать прозрачность картинки которая появляется когда наводишь на файл?
|
Цитата:
Код:
const |
Nordek , спасибо огромное)
|
Цитата:
|
Цитата:
флаг disablenouninstallwarning Я апну мой следующий вопрос, а то он уполз без ответа. |
Цитата:
|
Цитата:
2/ Ребят... я перефразирую свой насущный вопрос... Есть ли правило, которое бы звучало так: Код:
если Код:
Runtime Error: |
Mat_y, Можешь посмотреть в эту сторону:
|
Цитата:
|
Цитата:
Код:
Visible := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram_is1'); Цитата:
Код:
regsvr32 /u scrrun.dll |
Цитата:
Если ставлю просто Visible:= true, то само собой все скрывается навсегда :) Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Ребята, помогите вставить музыку в инсталл - http://sendfile.su/886037.
А вот с этой - http://sendfile.su/886094 сделать музыку по умолчанию , а то при запуске и когда установка идет ее не выключить и разобраться - полная установка со всеми компонентами... , да и у меня не получается , выдает ошибку . А это , то что мне подсказали .. |
Цитата:
А вот галочка в моем скрипте не хочет прятаться... в чем может быть дело? |
|
Цитата:
так все исчезает! Но если добавляю это в свой код... не работает! Видимо что-то, где-то не дает спрятаться :( |
Цитата:
ну или покороче: |
saurn, позволю себе сделать несколько замечаний касательно кода
1. я привык после написания кода просматривать его на наличие возможностей его оптимизации с точки зрения времени выполнения и экономии памяти нет смысла гонять RegKeyExists 2 раза, в ней несколько WinApi функций - как мин имум 3 : отрыть, прочитать, закрыть, нет смысла создавать кнопку, немного теории например чекбокс это класс, те объявление var uCBox: TCheckBox; означает объявления указателя uCBox на экземпляр класса TCheckBox, те по адресу скрытому под uCBox лежит экземпляр класса TCheckBox, который включает в себя методы и свойства те например свойство Checked имеет за собой как минимум одну булев переменную, простейший пример реализации свойства http://www.delphibasics.ru/Property.php а есть и другие свойства и методы и локальные методы и свойства в private и всё это занимает память, те речь идёт о экономии памяти. При вызове метода Free; экземпляр класса по адресу uCBox разрушается и занимаемая им память освобождается 2. Если чекбокс не был создан, то при попытке прочитать значения свойства (отмечен (да/нет)) вылетит ошибка чтения адреса чтение идёт: указатель(uCBox)---->указатель(локальная переменная например fArea : LongInt; в примере по ссылке выше)---->значение размером SizeOf(Longint), тк fArea : LongInt; которое лежит или "начинает лежать" по адресу в последнем указателе fArea те LongInt = 32 битное число. 1 Byte = 8 Bit. ----> 4 * 8 = 32 => размер LongInt = 4 байта , НО мы то чекбокс не создали и по адресу uCBox лежит мусор, если не ошибаюсь из "Кучи" - остатки других программ, а адреса fArea тем более нет те след. вопросом Mat_y могло быть: "почему когда программа установлена вылетает ошибка при проверке отмечен он или нет" те при динамичном создании компонентов неплохо бы делать простую проверку, а именно при инициализации присваивать значение нулевого указателя nil http://www.delphibasics.ru/Nil.php uCBox := nil и потом проверять if uCBox <> nil (if Assigned(uCBox )) then if uCBox.Checked then ... короче так: |
Всем доброго времени суток. Подскажите пожалуйста как убрать это из моего установщика:
![]() Скрипт: |
Цитата:
Код:
[Code] |
Приветствую.
Вот так: Происходит действие (например картинка показывается, соответствующая компоненту) при наведении на компонент... ... есть ли способ, делать то же самое, но только при выборе компонента (его выделении, клику по нему)? 2/ Есть ли способ убить запущенный процесс (рабочую программу) при установке на нее? В справке нашел 2 варианта, но ни один не сработал... |
Цитата:
|
Nordek, спасибо.
И еще возник вопрос. Когда я использую Flags: exclusive, то почему-то сразу флажки выставлены. А когда я использую Flags: dontinheritcheck, то флажки не стоят. Как сделать так чтобы изначально флажки не где не стояли. А то немного не удобно каждый раз самому их убирать. Заранее спасибо. |
|
|
Farser21, тьфу, сразу не понял, что вам нужно :)
Насколько мне известно(могу и ошибатся), при использовании флага exclusive хотя бы один компонент, из имеющих этот флаг, будет отмечен по умолчанию. Но можно снять отметки со всех компонентов через код: |
saurn, Вставил код, о в итоге флажок пропал только с 1 раздела. Как сделать чтобы он пропал на остальных? Заранее спасибо.
|
Цитата:
Добавьте в секцию [Setup] строчку ComponentsListTVStyle=yes так как у вас в компонентах присутствует флаг collapsed |
saurn, Все разобрался, спасибо большое.
|
Цитата:
Цитата:
Если она у тебя уже установлена, то такое возможно т.к реестр помнит выбранный тип установки. Farser21, Кстати, удали в скрипте лишний [code], не к чему он там. Цитата:
P.S Farser21, |
Nordek, с флажками уже разобрался. Ок учту если еще что-то буду добавлять сюда.
|
Ещё, Farser21,
|
А мне не поможете ?
|
Цитата:
|
saurn,
Все получилось , а с этой не поможете ? Цитата:
|
Цитата:
http://rghost.ru/49756930 |
saurn,
Благодарю. А можно еще узнать - можно ли как-то чтоб музыка шла сразу при запуске инсталлятора ? |
Цитата:
|
saurn,
Спасибище вам от нуба. |
Ребят!
Как можно удалить файлы в папке в "AppData" перед установкой, если стоит галочка в секции [Tasks]... ...все дело в том, что секция [InstallDelete] совершенно не воспринимает... Код:
Type: filesandordirs; Name: {userappdata}\Имя папки в которой надо все удалить\ |
Еще вопрос... есть такой скрипт, который копирует файлы из одной папку в другую (создает бэкап)
У данного скрипта есть проблема... если в папке куда перемещаются файлы уже создана пусть даже пустая папка, имя которой совпадает с перемещаемой папкой, то файлы в эту папку просто не копируются... их просто пропускают... как это исправить? |
Привет!
Есть код Код:
[_Cоde] В выходе то что на странице CustomPage1 нужно чтоб все было тоже самое как на странице SelectDirPage, т.е через Button выбиралась папка, в TNewEdit выводился путь, только выбиралось это для записи в реестр, т.е при установке записывалось значение в реестр выбранной папки Код:
Root: HKCU; SubKey: Software\Mini-Game\Game\Share paths; ValueType: string; ValueName: ShareFolder; ValueData: """{app}\Mini-Game\Game\"","; Flags: uninsdeletevalue uninsdeletekeyifempty |
Всем доброе утро! Подскажите пожалуйста скрипт на установку dxwebsetup и vcredist_x86 Заранее благодарю.
З.Ы. Если можно то желательно можно было выбирать в меню и устанавливалось в конце установки перед нажатием кнопки завершить. Очень нужно, помогите пожалуйста!!! |
|
Всем Привет . Я хочу обратиться вам за маленькой помощью , у меня есть файл compiledcode.bin , мне сказали что я могу извлечь этот код с помощью BinDump или же ISOFORCE , я не смог найти данные файлы (утилиты) нигде , решил обратиться сюда , может кто нибудь знает как найти эти так сказать утилиты , если да то дать прямую ссылку на скачивание. Заранее спасибо за внимание :-)
|
Cipso, Так этот код мне не даёт что именно мне надо.
В независимости выберишь ты эти дополнение установки они всё равно устанавливаются автоматом. А мне надо как у репакеров это делается. Кто знает подскажите :( |
Цитата:
Так используй IStool, Inno Script Studio, InnoIDE, они умеют это делать. Вот через IStool накидал Код:
[Tasks] Цитата:
Заметь, там присутствует флаг skipifdoesntexist Код:
Flags: skipifdoesntexist; |
Цитата:
|
Цитата:
Код:
procedure BrowseButton(Sender: TObject); Цитата:
Код:
[Registry] |
Цитата:
Вопрос, получается полный код будет таким Код:
[Registry] Все верно я вставил? |
|
Есть вопрос:
В теме уже научился создавать описание и картинку при наведении мышки на компонент... а можно ли воспроизводить звуки при наведении на некоторые компоненты? |
Уважаемые форумчане! Очень нужна ваша помощь...
Я разработчик Mod Pack Alexxx-DAR для игры World Of Tanks! У меня есть несколько вопросов... Помогите кто знает! 01. Как сделать так, чтобы мой установщик автоматически находил местоположение игры, тоесть сам прописывал путь к папке World Of Tanks ??? 02. Как сделать так, чтобы установщик копировал папку audio из папки World Of Tanks/res в папку World Of Tanks/res_mods/0.8.9 ??? 03. Как сделать так, чтобы в окне выбора модов, при наведение на какой либо мод, высвечивалось описание мода и маленький скриншот ??? 04. Как сделать так чтобы установщик автоматически очищал папку res_mods ??? 05. Как сделать так, чтобы при запуске установщика открывалось окно с описанием мод-пака (По умолчанию у меня открывается "Вас приветствует мастер установки", Далее открывается "Выберите папку с игрой") Как между ними вставить окно с описанием модов ??? Подобные установщики есть у таких мододелов как Jove: http://www.youtube.com/watch?v=5RfUHG5Ptxc и ExPromt: http://www.youtube.com/watch?v=ikVnr8r6ELs#t=147 Мой же установщик, который мне нужно доработать можно скачать и посмотреть отсюда: http://yadi.sk/d/aJ4UyBdRBsauc |
Всем доброго времени суток!
Подскажите плиз, а можно на форме типа TInputQueryWizardPage добавленное текстовое поле сделать недоступным для редактирования? Или для этого свою форму рисовать придется? |
Shkutu, ну у TInputQueryWizardPage есть свойство Edits[Index: Integer]: TPasswordEdit, у которого, в свою очередь, есть свойство ReadOnly: Boolean - только чтение. Вроде так.
|
Доброго времени суток.
Взял код авторана на Inno Setup отсюда Добавил секцию [CustomMessages] на два языка - rus и eng. Секция [Languages] соответственно тоже имеется. В секции [code] подписи имен файлов (Caption) через cm:MyButtomName тоже сделал. Проблема в следующем: Хочу добавить две кнопки - rus и eng, чтобы по их нажатию интерфейс переключался на русский и английский соответственно. То есть реализация ShowLanguageDialog=yes, только через кнопки или хотя бы как изменить текст, который отображается при выборе языка установки: Выберите язык, который будет использован в процессе установки На просто - выберите язык, так как по крайней мере реализация через ShowLanguageDialog работает, но выглядит не совсем так, как хотелось. Кто что посоветует? |
alexxxdar@vk,
1) через реестр [Setup] DefaultDirName={reg:HKLM\SOFTWARE\Название_Игры,InstallPath} Только заранее свои ключи к игре проверить 2) Как-то так (если я правильно понял) [Files] Source: "Audio\Звуковой_файл_1.wav"; DestDir: "{app}\Папка_Куда_Копируем\"; DestName: "Новое_имя_1.wav"; Можно DestName (переименование) не использовать 3) не знаю 4) в секции [code] нужно как-то применить следующее, как именно не знаю, но копать отсюда: RemoveDir(ExpandConstant('{app}\Название_удаляемой_папки')); 5) Можно само описание добавить как-то так: [Setup] InfoBeforeFile=info.txt Рядом со скриптом создается info.txt и в нем пишется все, что душе угодно, в процессе установки высвечивается. Иных способов в голову не приходит. Надеюсь помог) |
Цитата:
Цитата:
|
Доброго времени. Подскажите, как можно реализовать отображение (не выбор) компонентов в зависимости от выбранного языка т.е. если выбираю английский то у меня три определённых компонента из которых могу выбрать, если другой язык, то отображаются другие компоненты.
|
Ребята есть скрипт - http://sendfile.su/886094 . Писал ранее , мне ответили , но у меня не получилось . В чем проблема- не получается прописать выборочную установку . Надо чтобы напротив установки ПО по умолчанию ставилась галка,т.е. была выборочная установка и полная.
|
Доброго времени суток.
Возникла весьма специфичная проблема. Часто для установки дополнительных фишек в папку с программой делал так. Код:
[Setup] И вроде бы все хорошо, и очень даже удобно, если бы не одно НО: Когда я стал использовать данный путь, но для установки дополнительного ПО, чтобы в случае чего доп. ПО было удалить, а основную программу оставить нетронутой, то есть: Код:
[Setup] {reg:HKLM\SOFTWARE\Название_приложения,InstallPath} меняется на {reg:HKLM\SOFTWARE\Название_приложения\папка_1\внутренняя папка,InstallPath} и это моем случае очень здорово напрягает. Не помогает и запись такого вида: Код:
[Setup] Код:
[Setup] Код:
Root: HKLM; Subkey: "Другое_название_приложения"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"; Flags: uninsdeletekey Как мне заблокировать изменение инсталлятором именно этой ветки: {reg:HKLM\SOFTWARE\Название_приложения,InstallPath} чтобы она для инсталлятора была как бы "только для чтения" |
Подскажите плиз, как сделать так, чтобы при выборе 2 компонентов (Flags: exlusive):
1) при выборе 1 компонента создавался деинсталлятор 2) при выборе 2 компонентов не создавался деинсталлятор. Если нельзя через компоненты сделать, то может быть через Tasks можно. Заранее Спасибо! |
ATTACUE
01. Но я не могу найти игру в реестре по пути reg:HKLM\SOFTWARE\ (Там нет папки World_Of_Tanks) 02. Ты меня не понял, у меня уже установленная игра World_Of_Tanks. В ней есть папка Audio, она лежит в папке res. Мне нужно чтоб установщик скопировал эту папку из папки res в папку res_mods, то есть как-то так: [Files] Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods"; Flags: recursesubdirs 03. Команда RemoveDir(ExpandConstant('{app}\res_mods')); мне нравится только куда её вставить хз |
alexxxdar@vk,
01. Если устанавливал, должна быть, только вот она может называться по-другому, (это нужно учитывать) если честно - даже и не знаю как называется она, так как не играю в танки. Как вариант - ветка HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Всякие_папки и просмотреть их, если конечно система 64-битная. Тем не менее все равно в скрипте указывается без Wow6432Node, так как если приложение 32-битное, оно (вроде бы как) скопируется, по крайней мере у меня значения проверяет корректно. Если игра представляет собой архив без установочника, то в этом случае в реестре ты не найдешь нужные тебе ключи. 02. и 03. Поискав по форуму, наткнулся на это, там есть пара примеров, которые ты можешь приспособить под себя |
ATTACUE,
Спасибо за помощь! Что-то я прочитал документ который ты мне скинул, нашел пару функций которые мне нужно, но нифига не получается... Копирую нужные коды в раздел [code] прописываю свои пути и ничего не работает, или вообще ошибки выбивает при компиляции, кароче я в этом ничего не понимаю... |
alexxxdar@vk,
Большинство ошибок при компиляции - очевидны, посмотри на них. Возможно просто отсутствует знак ";" или продублирован идентификатор или какая-то функция не прописана в начале секции [code]. Если используешь сторонние или ранее написанные скрипты как модули - ошибки могут быть и в них, и в этом случае в ошибке прописывается - какой модуль и путь до него. Попробуй немного разобраться с кодом в примерах. Знаю - это сложно, но возможно тогда ты увидишь и поймешь свои ошибки. В настройках Inno Setup включи отображение номеров строк - проще будет ориентироваться по коду. А еще лучше - используй Inno Setup отсюда. Я бы рад бы тебе помочь с твоим скриптом, посидеть на досуге и просмотреть, но у меня не так много времени на свой скрипт, который я допиливаю, и который занимает все мое свободное время. Посмотри этот документ или на этой странице тоже есть интересные примеры (например Бекап файлов). Уверен - они тебе не раз помогут. К сожалению больше ни чем конструктивным помочь я не смогу. |
ATTACUE,
Уже вроде как получилось! Посмотри, правильный код? Это код на то чтоб перед установкой чистилась папка, копировалось туда нужные мне файлы а после удаления удалялось всё... procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then DelTree(ExpandConstant('{app}\res_mods'), True, True, True); end; begin CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); end; begin CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin DelTree(ExpandConstant('{app}\res_mods\0.8.9\audio'), True, True, True); end; begin DelTree(ExpandConstant('{app}\res_mods\0.8.9\text'), True, True, True); end; end; И спасибо Большое! Реально помог)) |
alexxxdar@vk, слишком много бегинов и эндов. Куда столько?
|
nik1967,
Работает! Только возникает 2 вопроса: 01. Почему установщик копирует папку с файлами audio в {app}\res_mods\0.8.9 и также содержимое папки audio в {app}\res_mods\0.8.9 А без кода DelTree(ExpandConstant('{app}\res_mods'), True, True, True); всё нормально! В чём может быть проблема? begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; end; 02. Почему установщик копирует папку и перед установкой, и после, что мешает установить файлы из секции [Files] ? [Files] Source: "E:\Игры Install\WOT\Mod Pack\Install_mods\Mods\audio\6_chuvstv\sirena1\*"; DestDir: "{app}"; Components: A\audio\6_chuvstv\sirena1; Flags: recursesubdirs [code] procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; end; |
Здавствуйте! Хочу спросить, можно ли в ISDone заменить процедуру
Код:
procedure CreateControls(); Код:
procedure CurStepChanged(CurStep: TSetupStep); Код:
InitializeWizard(); |
|
Цитата:
Антон_Мураткин@vk, Смотри сюда или не катит!? От некоторых проблем избавит расширенная версия инно. |
Nordek, Это не то. Мне надо что бы просто удалялась папка с игрой прогой или файлы в папке
И у меня стоит раширенная версия уже. А читать тему много букв уж слишком да и подходящего видать и нет |
Цитата:
Самый простой способ и без заморочек, использовать секцию [UninstallDelete] - Удаление при деинсталляции: Код:
Код:
filesandordirs - Удаляет "Файлы и/или каталоги". |
Антон_Мураткин@vk, а ты случайно в инсталл не пакуешь unins000.dat и (или) unins000.exe? Что то похоже на то.
|
Подскажите пожалуйста, как изменить в инсталляторе порядок страниц мастера установки. Например: Выбор папки в меню пуск стоял перед перед выбором пути установки.
|
Цитата:
Код:
[Setup] За перемещение в InnerNotebook отвечает Parent := А для изменения описаний те что находятся в MainPanel, достаточно переставить их местами в секции [Messages]. |
Цитата:
Nordek, А куда лучше это вписывать? перед какой секцией |
Nordek, Благодарю за ответ!
Есть ещё вопрос, при наличии 5 exclusive компонентов каждый раз при запуске инсталлятора по умолчанию ставится рандомный компонент, можно как-нибудь это исправить? Чтобы по умолчанию всегда был 1 компонент из списка. |
alexxxdar@vk,
Не за что)) Пардон за поздний ответ. Если в секции [files] фигурируют папка audio, которая тебе нужна - // закомментируй эту строчку Оставь только то, что было у тебя в секции [code] Если оформлять копирование через секцию [files], то если я не ошибаюсь, то ее нужно связывать как-то с секцией [tasks] и в этом случае в секции [code] нужно закомментировать те задачи, которые выполняет [tasks]. Опять же - я могу и ошибаться, так как я далеко не профи. Если удаляешь файлы через секцию [unistalldelete] то файлы прописываются именно в этой секции, выглядит это как-то так Type: files; Name: "{app}\папка_0\папка_1\папка_2\file_1.mp3"; Type: files; Name: "{app}\папка_0\папка_1\file_1.mp3"; Type: files; Name: "{app}\папка_0\file_1.mp3"; проверка на наличие пустых папок осуществляется в [code] с помощью RemoveDir (то есть это даже не проверка, но удаляет папку, если она пустая и это иногда бывает необходимо) (DelTree более "беспощадная") procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin // RemoveDir удалит только, если папка пустая // Порядок удаление определен ниже: // Папка 2 RemoveDir(ExpandConstant('{app}\папка_0\папка_1\папка_2')); // папка 1 RemoveDir(ExpandConstant('{app}\папка_0\папка_1\')); // Главная папка (папка_0) RemoveDir(ExpandConstant('{app}\папка_0\')); end; end; |
Цитата:
|
Цитата:
|
Nordek, Спасибо за ответ, но можно как-нибудь в этом случае сделать так, чтобы секция Types в инсталляторе не была видна (т.е. без Полная, Выборочная, Компактная установка)?
|
Цитата:
|
Вложений: 4
Привет всем . Ребята есть скрипт механиков - http://rghost.ru/49046726 . Реально ли его переделать вот так , как на скринах ?
|
nik1967, спасибо!
|
Сам пробовал , но все равно остаются эти полосы черные , а как на скриншотах не получается .
|
|
Aquila, писали уже не раз. Правой кнопкой на файл справки=>Свойства=>Разблокировать
|
Ребят, чего ругается?
![]() Разобрался... лечится Код:
DiskSpanning=true |
Есть инсталлятор ПО, но без исходников. И его необходимо дополнить. После распаковки инсталлятора, получил исходники. Насколько разобрался, в нем происходит копирование файлов при определенных условиях (версия ОС). Проверка идет командой Check, но самой функции в коде нет
не подскажете как дописать, что бы все работало. Нашел что есть GetWindowsVersion, GetWindowsVersionEx. Но как прикрутить их в скрипт, не хватает навыков |
Подскажите пожалуйста. Везде обыскал, но так и не нашел. Как сделать, чтобы в меню выбора пути установки путь отображался, но его нельзя было бы изменить? Желательно, чтобы можно было только кнопкой обзор изменить.
|
Ребят, кто может помочь удалить из этого кода страницу с выбором компонентов. Сыпет ошибки и сыпет.
|
Цитата:
Код:
[Code] |
Цитата:
|
Здравствуйте знатоки форума,давно я у вас не просил помощи,El Sanchez помню и SEREGA помню.Проблема вот в чем,у меня скрипт которым я сжимал файлы средствами самого инно мне его Serega подредактировал,я пользовался им полтора года (за что поклон Serege),а тут решил попробовать Free Arc,извлечение из рядом лежащего файла.Все сделал по инструкции вроде,и скачал с сайта библиотеки, но инно ругается на многое,компилирую в Unicod версии.Даже если ошибочные строки закоментировать,то вылазит ошибка такая
![]() и инсталлер после нажатия ок,деинсталируется,но при этом в папку с игрой распаковывается частично файлы из Arc архива,вообщем я отчаялся,помогите |
Вложений: 1
Вот сам скрипт,потому что текстом не влез,более 33тыс символов Файл 106841
|
Приветствую!
Подскажите плиз, разве в инно в [code] нельзя объявлять классы? Например пытаюсь сделать Код:
type |
|
Цитата:
|
Nordek,
спасибо большое за скрипт! но у меня не получается прикрутить к моему скрипту, выдает ошибку |
Цитата:
|
Вложений: 1
Nordek,
забыл что не выложил скрипт вот скрипт |
tuz-veta, Пробуй
|
Цитата:
tuz-veta, может все скинуть чтоб Вы посмотрели? |
tuz-veta, Перезалил, пост выше.
|
Nordek,
Спасибо Вам огромное!!! :clapping: :clapping: :clapping: Все работает. :up |
Shkutu, нет, возможности языка урезаны. Классы и наследникив писать нельзя (даже исходный код их методов и свойств изнутри инно закрыт. Только если исходники самой инно смотреть, в чём я например не вижу смысла, когда есть внешние библиотеки типа "Classes.pas" того же RadStudioXE(2,3, 4(?))), интерфейсы вроде можно писать в юникодной версии инно (о чём говорит код из шапки "Установка гаджета в Windows 7")
Тип указатель и прилагающиеся к нему функции типа Allocate..., ReAllocate..., Dispose..., ..., CopyMemory отсутствуют, хотя с этим можно в некоторой мере работать(WinApi), но это уже другой вопрос а записи (record) - сколько угодно! :) |
Johny777 привет,тебя тоже вспомнил,ты мне помогал когда был новичком тут.Может ты сможешь мне помочь,проблема на прошлой странице.Версия инно 5.5.1ее2 (u),пробовал в стандартной 5.5.4 (u) ,может ошибка такая связанна с инно или библиотеками?
|
Ребята , не отображается прогресс бар , не пожете решить эту проблему - http://sendfile.su/897360 . Спасибо .
|
Всё сам разобрался,просто надо было использовать новую ISSDOne 0.6b7 а у меня была ISDone0.4.2.5,хотя скачивал с офф сайта фриарк.У меня тока одна беда,кнопка отменить установку задрата в верхний правый угол,как ее спустить вниз?Посмотрите на скрин,на прошлой стр
|
Johny777, спасиб, буду знать.
А вот такая проблемка. Есть код (дополняю деинсталлятор) Код:
procedure UninstallCancelButtonOnClick(Sender: TObject); |
|
|
|
Цитата:
В скрипт вставил? ComponentsListTVStyle=true добавить не забыл, Flags: collapsed учёл? |
и как сделать чтобы компоненты были раскрыты
|
Цитата:
|
Вложений: 1
Nordek, читаю тему. Просто - спасибо.
Может подскажите мне тоже? Такая проблема... -Использую модули ISDone и PrigressBar (Добавил в аттаче, хотя они стандартные). -На странице самого процесса установки прогрессбар все время пустой и не заполняется, хотя установка идет нормально. Короче, не отображается прогресс установки. Может ли это быть, т.к. у меня совсем нет компонентов? Т.е. просто распаковываются файлы в выбранную дирректорию. Может ли это быть из-за того, что я не использую для каждого файла свой путь, а копирую сразу целую папку... вот так? Код:
Source: {mods}\*; DestDir: {app}\; Flags: ignoreversion recursesubdirs createallsubdirs |
И еще вопрос... как можно записать следующее...
Код:
begin |
Mat_y, посмотри здесь - лень переписывать.
По поводу прогресс бара - нужно смотреть весь скрипт, модулей не достаточно. |
Цитата:
Цитата:
Код:
var |
Всем доброго времени суток!
Кто-нибудь знает, можно ли на странице выборка компонентов убрать выводимый "space requied". ShowComponentSizes=no отключает вывод только для самих компонентов, но не общий Цитата:
Код:
if ActiveLanguage = 'russian' then |
Цитата:
|
Shkutu,
Код:
WizardForm.ComponentsDiskSpaceLabel.Hide; |
Цитата:
А с этим место я справился так: |
nik1967, спасибо!
|
Shkutu, и может кому нибудь ещё. Если установлена расширенная версия от Res Tools, то при запуске Compil32Ex.exe появляется чудесная возможность посмотреть нужные параметры на вкладке "Редактор форм"("WizardForm Designer"), или на других вкладках :).
|
Господа!
А нет ли возможности отображать и устанавливать разные компоненты в списке в зависимости от выбранного языка? Т.е. если язык русский, то и компоненты не только по-русски написаны, но и их английские аналоги даже не отображаются для выбора. А если английский язык, то русские компоненты не отображаются. |
Mat_y, есть
Код:
[Components] А если надо название компонента для конкретного языка (компонент один и тот же), то можно просто пользоваться секцией CustomMessages: Код:
[Components] |
Цитата:
|
Shkutu,
Цитата:
могу посоветивать одно (считаю это действительно самым простым): вызывать своё окно вместо стандартного вот пример. В нём возможно много для тебя ненужного кода, но думаю смысл понятен http://forum.oszone.net/post-1939326-305.html вот упрощённая версия: |
Я смотрю опытные люди опять стали проявлять активность на форуме. Спасибо вам всем. Очень помогаете... попробую вернуться к старой проблеме, которая до сих пор не дает мне покоя.
Вот часть кода: Его задача переместить все файлы и папки из одной папки №1 в папку №2. Так вот если папка №2 уже существует и в ней есть файлы или даже пустые папки, то часть файлов он просто не перемещает, другие файлы перемещает частично... при этом никакой зависимости от присутствующих в папке №1 файлов нет. Код брал из справки... можно ли его как-то усовершенствовать в этом вопросе? Можно ли не перемещать, а копировать файлы? |
Johny777, спасибо, буду пробовать.
Кстати, исключение при Abort - это если из среды запускать. Если .ехе сам по себе - то вырубается молча вроде бы, без всяких эксепшнов. Mat_y, чтобы не перемещать, а копировать, можно использовать CopyFile Код:
function CopyFile(const srcFile, destFile: PChar, FailIfExists: boolean): Integer; external 'CopyFileA@kernel32.dll stdcall'; Цитата:
|
Цитата:
|
Цитата:
|
Mat_y, вот накатал копирование файлов из папки куда-нибудь, возможностью перезаписи/пропуска и перемещения файлов в одной функции с опциональным отображением прогресса:
справка по заголовкам: Код:
function CopyFiles( |
Mat_y, Пример переноса на новую форму (пригодится):
|
Цитата:
Код:
function CopyFile(const srcFile, destFile: PansiChar, FailIfExists: boolean): Integer; Или перемещение вот-так Код:
function MoveFileEx(const srcFile, destFile: PansiChar, dwFlags: DWORD): Integer; Но по-моему эти функции могут не работать, если исходный и конечный файлы находятся на разных дисках. Или просто используй то, что ребята насоветовали :) |
El Sanchez,Johny777 здарова. У меня проблемки появились странные.
|
Цитата:
|
Цитата:
|
Mat_y,
Цитата:
Цитата:
Давай по порядку. Функция вчера почти весь вечер, а ночью дописывалась, хотя это я мог бы и быстрее, но, тк цель одна - максимальная скорость, функциональность и качество, в ней собственная система определения нужного файла для копирования - это вспомогательные функции из раздела "File Mask Works", из которых непосредственно во время копирования работает только "ThatFile", для того чтобы найти и в последствии копировать в один цикл прохода по выбранной папке, чтоб не насиловать ж. диск в количестве длиной с массив масок, как в коде у тебя из сообщения: for i:=0 to GetArrayLength(MyFiles)-1 do ..., где MyFiles - массив строк (масок поиска) Перед тем как выложить функцию я её протестировал, хотя составные её части тестировались ещё по мере написания, там где приписано "debug" Но замечу: я её не перегружал (далее опишу чем), тк не знал насколько это может быть необходимо, тк думал, что тот код которым ты пользуешься не особо хорошо работает. (не люблю я исправлять, мне проще переписать и потому код твой не брал. Только глянул в чём его назначение) Те целью было рабочее копирование/перемещение! "натыкается на существующий фаил и стопорится" может по двум известным мне причинам, если ты конечно папку винды не переносишь :) 1. у файла (который заменяем в папке назначения) свойство "Только чтение" 2. файл держит какой-то процесс 3. хз эти 3 возможности в коде не учтены, как сказано выше вывод: дело не в том коде, каким ты пользовался, а в тех самых файлах, которые есть только у тебя, так что нужно максимальное кол-во информации с твоей стороны! UPD: вот местами исправленный, улучшенный и дополненный код: добавлена работа с файлами защиты от изменений ( Read only ) изменён прототип функции. Теперь туда отправляем флаги SET_OVERWRITE_EXISTING_FILES = 2; SET_MOVE_FILES = 4; SET_PROCESS_READONLY_FILES = 8; пробуй! |
Всем привет ребята помогите выдаёт ошибкуhttp://forum.oszone.net/attachment.p...3&d=1385054354
|
Джони ну помоги пожалуйста,на прошлой стр описал проблемки. Или ткни носом,может уже решение было проблем таких.:)
|
Цитата:
|
доброе время суток. как сделать если отсутствует какой-то компонент например DirectX была снята галка с компонента и был не активным
|
nik1967,
Отображается если использовать сторонние архиваторы , а я использую только средства инно . Понимаю что так не получится , но мне бы прикрутить стандартный прогресс бар . |
Цитата:
Цитата:
Цитата:
Код:
#define NeedSize "5000000000" |
Помогите решить проблему Файл 107162
|
Цитата:
|
El Sanchez извините но я нуб в этом деле можете помочь?
|
Цитата:
Код:
procedure Progress(); Цитата:
. Цитата:
Чтоб получилось так end; end; |
Цитата:
Цитата:
Код:
function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer; external 'MulDiv@kernel32.dll stdcall'; Код:
with WizardForm.ProgressGauge do ProgressLabel.Caption := Format('%n %%', [extended(Position-Min)*100/(Max-Min)]); Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); Цитата:
|
Цитата:
Насчет прогресса попробую еще раз скрыть при фри арк,а потом показать при распаковке родной.ВОт почему нельзя было это сделать людям сразу? или они думали скрипт распаковки фри арка,без инно будут использоватЬ? Вот еще кстати,что хотел спросить,у Serega там написано было так Код:
procedure Progress(); |
Получается вот так
Код:
begin ![]() Но все тоже самое,при распаковке фри арка стандартный бар торчит под ними,а на распаковке отображает себя,WizardForm.ProgressGauge.Hide; не срабатывает |
Цитата:
Цитата:
Цитата:
Цитата:
|
например: если отсутствует какой-то компонент. как сделать, чтобы была снята галка с этого компонента и был неактивный или вообще не отображался в списке
|
Цитата:
Код:
ISDoneError:=false; |
КТО НИБУДЬ ВООБЩЕ ОТВЕТИТ НА МОЙ ВОПРОС!!!!
|
habib2302,
Не нервничай, а лучше откатись на 2- 3 страницы назад .Этот вопрос решили , а я спокойно жду . Главное спокойствие . |
Dinvin4ester, нашел одно сообщение и то на него не ответили!
|
habib2302,
Цитата:
к тому же тебе был задан вопрос "где отсутствует?", а ты снова пишешь: Цитата:
Цитата:
|
Цитата:
DirectX находится рядом с инсталлятором |
habib2302,
Цитата:
|
компонент находится рядом с инсталлятором
|
Johny777,
Помощи с инсталлом . На 149 странице есть мое сообщение . Цитата:
|
Помогите исправить ошибку пожалуйста Файл 107206
|
Цитата:
Код:
[Components] Цитата:
|
El Sanchez,
Не получается сделать . Ошибка на ошибке .. Наверное что-то не так делаю . |
Цитата:
Код:
wpInstalling: |
|
El Sanchez,
Спасибо все получилось . апд nik1967 огромная благодарность. |
|
Серавно не работает добавляю перед строчной end серавно не работает.
|
del.
|
Всем привет :)
Цитата:
Ну да ладно, каждый ищет для себя свой путь решения той или иной задачи. Обнаружил неприятный глюк inno, а именно работа с Extended, раньше такого не наблюдал, может быть просто не сталкивался: Код:
function InitializeSetup(): Boolean; |
|
Цитата:
Код:
WizardForm.Font.Name:= 'Comic Sans MS'; |
Цитата:
Код:
#ifdef UNICODE Код:
procedure Progress(); |
Цитата:
Цитата:
Цитата:
Код:
ProgressLabel.Caption := IntToStr((Position*100)/Max) + '%'; // правильное отображение процентов |
|
habib2302, я выкладывал пример несколько страниц назад. А так, как реализовано у нас - не для паблика.
|
nik1967, только не все переводит!!!
|
habib2302, естественно - это же только пример. Чтобы было переведено - нужно переписывать все лейблы, сообщения и всё остальное.
|
Цитата:
Цитата:
|
Цитата:
|
Доброго времени суток!
Может кто-то подскажет, с помощью чего лучше осуществлять взаимодействие inno setup и ms sql server 12 (разворачивать базу, выполнять запросы)? Есть sqlcmd.exe, но это работает только для 64-битной системы. Версию этой утилиты для 32х битной найти не могу:( Может, кто-то знает, где взять или подскажет, чем можно заменить? |
Здравствуйте. Нужна помощь. Не удается страницу "компоненты" поставить перед объединенной страницой папки установки и меню пуск, вот скрипт
|
Цитата:
Цитата:
|
Цитата:
|
El Sanchez, спасибо!:)
|
парни,спасайте
есть готовый javascript,в котором выполняется настройки браузера и надежных узлов,так же 3 файла,которые выполняются в скрипте .bat, reg, msi,нужно ,чтобы запускался скрипт с помощью установщика,сделал задачу через sfx архив,но хотелось бы сделать красивый установщик,решил сделать через inno setup,сейчас получается,что Myprogram(установщик,который я собрал) устанавливается,после этого только запускается сам файл,зачем лишняя программа нужна,а цель моей настроить браузер и установить msi,а я хотел бы,чтобы сразу запускался мой скрипт,который я сделал через sfx и был бар прогресса подскажите,как мне сделать такой установщик? |
Цитата:
Код:
//////////////sfx архив расположен внутри Код:
///////////Архив SFX снаружи возле Setup.exe |
спасибо,а можно ли сделать так.чтобы создавалась временная папка и удалялась,он бы выполнял настройку браузера и устанавливал программу parser,которая вшита в sfx архив
или перефразирую,мой sfx архив предназначен для настройки браузера и установки msxml parser то есть при нажатие на него устанавливается только парсер,а настройки просто проставляются,а сейчас получается,что создается папка с uninstaller и еще с exe,она вообще не нужна,так как сам установщик уже проделал установку parsera и настройку браузера CreateUninstallRegKey=no Uninstallable=no я так понимаю эти команды не совсем то,так как они обновляют программу,но не создают в установка и удаление пункта честно говоря,очень херовый программер,простите за тупые вопросы |
Цитата:
Код:
[Setup] Uninstallable=false - Не деинсталлировать. Это значит не применять деинсталляцию любого рода, в том числе и создание деинсталлятора. CreateAppDir - Создание каталога приложения Uninstallable - Деинсталляция UpdateUninstallLogAppName - Обновление имени приложения в журнале деинсталляции CreateUninstallRegKey - Создание ключа в реестре для деинсталляции Примечание: При применении Uninstallable=false, дополнительные значения типа UpdateUninstallLogAppName и CreateUninstallRegKey не требуются. |
Nordek, Благодарю за ответ, только вот есть один нюанс: после нажатии "Далее" в странице с выбором компонентов инсталлятор предупреждает о том, что папка уже существует. Можно как-нибудь переместить это окошко после выбора папки установки? Не очень-то охото применять "DirExistsWarning=no".
И ещё вопрос. Как для каждого компонента (пусть их будет 2) сделать по дефолту свой путь установки (с возможностью изменения). |
Nordek,FX-DENIS, оставил так,он все равно при установке просит,чтобы я указавал,где ему создать ярлык,что не надо
|
icetanker,
Код:
[Setup] |
El Sanchez, завтра попробую
|
Цитата:
Удали эту секцию, со всеми её вытекающими, т.е: Код:
[Icons] |
Ребята у меня такая проблема!
запускаю инсталлятор и устанавливаю компоненты которые мне надо. Потом запускаю еще раз инсталлятор и снимаю галочки с тех компонентов которые я установил,мне выдает вот что ![]() как сделать если я снимаю галочки с компонентов которые были установленные то чтоб эти компоненты удалялись? |
Ребята помогите пожалуйста. Вот скрипт [http://rghost.ru/50530356/url]. Собрал из разных примеров, работает вроде нормально, но имеются небольшие проблемы. Отмена создания ярлыков не отрабатывает, ни на рабочем столе, ни в меню пуск и еще не видно лого (если убрать прозрачность, то все в порядке). Смущает распаковка портативной версии (создается деинстал). Буду рад любой помощи.
|
Всем привет!
Подскажите плиз, можно для стандартных функций создания страниц (CreateInputQueryPage например) поставить ограничение на ввод символов, чтоб можно было вводить только латиницу, например? Или это только свою формочку со своим же обработчиком писать надо? UPD. Уже не надо, разобралась:) Код:
procedure EditKeyPress(Sender: TObject; var Key: Char); // только для циферок |
Всем привет! Мне нужна ваша помощь, я хочу сделать так чтобы, при установке файла(ов) он создавал сам папки, а пользователь только выбирал папку куда установить, например:
Пользователь выбирает папку - C:\Games\DiZ\ А файл устанавливается и по пути сам создаёт папки heroes и magic - C:\Games\DiZ\heroes\magic\и собственно сам файл... Как это сделать? Помогите. |
Вложений: 1
Доброе время суток вы не можете мне помочь.Когда выбираешь куда устанавливать файлы потом открывается сам список того что хочешь установить. Как сделать так чтобы когда наводишь на название какого-то файла выскакивала картинка? Файл 107331
|
dima.dmitrienko.71@fb, dima.dmitrienko.71@fb, dima.dmitrienko.71@fb, судя по скриншоту, ты создаешь модпак для танков, ты не можешь мне помочь с моим вопросом?
Ты наверняка сделал чтобы всё устанавливалось в res_mods... |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Код:
[Setup] |
|
habib2302, В .isl файле попробуй 2 значения очистить (находятся в "Select Components" wizard page)
|
Цитата:
habib2302, Не страдай геморроем, в скрипте создай секцию [Messages] и добавь в неё "ComponentSize1" и "ComponentSize2": Код:
[Messages] |
Цитата:
ShowComponentSizes=no |
Можно ли как-то отследить, ли воспроизводиться через Bass.dll что-либо?
Т.е. мне нужно сделать чтобы кнопка "Стоп" (прерывающая воспроизведение) была активной только если что-то воспроизводиться. |
Ребята можете помочь,как прописать для ярлыка который создастся на рабочем столе параметр,то есть у ярлыка в строке объект написано так "D:\Games\Far Cry 3\bin\farcry3_d3d11.exe" -offline -language=russian,вот это надо чтобы было в ярлыке после exe -offline -language=russian ,в справке инно не нашел как сделать.
Код:
Name: {userdesktop}\Far Cry 3_DX11; Filename: {app}\bin\farcry3_d3d11.exe; Tasks: desktopicon; IconFilename: {app}\game.ico; WorkingDir: {app}\bin\; Languages: |
FX-DENIS,
Код:
Name: {userdesktop}\Far Cry 3_DX11; Filename: {app}\bin\farcry3_d3d11.exe; Tasks: desktopicon; IconFilename: {app}\game.ico; WorkingDir: {app}\bin\; Parameters: "-offline -language=russian"; |
Вроде бы нагуглил ответ на предыдущий вопрос, можно через Bass.dll узнавать длительность трека и передавать её в таймер, однако таймер пишет ошибку Match error.
Кто нибудь может подсказать, в чём ошибка? Код:
function SetTimer(hWnd: LongWord; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall'; |
Цитата:
|
Вложений: 1
Цитата:
|
nik1967, возможно у Вас личка переполнена, Вы видели мое сообщение?
_____________________________ Вопрос знающим: как прописать для файла *.exe старт при загрузке системы? |
Цитата:
Код:
[Registry] Для всех пользователей Код:
[Registry] Код:
[Setup] |
Подскажите ещё, надо сделать так, чтобы инсталлятор сканировал выбранную папку на нужный файл и если он есть, то разрешал установку дальше, а если нет, то не разрешал и надо выбрать папку где есть.
|
Dimon585h, есть один старый пример проверки файла по md5 и путь тут берется из реестра. если файл не найден,то нужно указать его. Думаю в твоем случае это нужно.
|
sergey3695, Это перебор.
Цитата:
Код:
[Code] |
Так че поможет кто или нет? :dont-know
|
Цитата:
А есть ли способ заставить программу автоматом закрываться при завершении работы Windows? Просто программа записывает данные в конфиг при выходе, а при жестком завершении работы (убийство процесса) не записывает в конфиг изменения. |
Вот смотрю я, и удивляюсь. Писать по несколько одинаковых постов с просьбой, пальцы не устают. А нажать
![]() Dimon585h, dima.dmitrienko.71@fb - А Johny777, а saurn-а, чего не поблагодарили? Не вижу! Подумайте, как долго бы вы ждали ответа на свой вопрос. Посты: #662, #933, #1324. И иногда полезно читать справочку на форуме. |
Жалко что на мой вопрос нет ответа!
|
tuz-veta, скройте MessageBox
|
Всем привет.
Johny777 пример очень даже :clapping: http://forum.oszone.net/post-2259324-1482.html можно ли как-то прикрутить ко всей этой прелести, какие файлы копируются и полный путь копирования, и рамер в мегабайтах? А то я что-то долго уже этим не занимался и конкретно "отупел" :gulp: Ну и ещё, если конечно позволите, вопрос к знатокам. Как в инсталлятор портируется (если можно так сказать) электронная подпись? И как вписывается имя издателя? |
Tco 03,
Цитата:
Код:
_FILE_CALLBACK = Цитата:
Цитата:
========================================================================= Raf-9600, Цитата:
function PlayRandDemoSound(const Sounds: array of String): boolean; напиши StopSoundBtn.Enabled := True; в procedure InitializeWizard(); впиши StopSoundBtn.Enabled := False; ну и в событии StopSoundBtn.OnClick закатай в конце TButton(Sender).Enabled := False; |
Цитата:
![]() А если ещё к твоему примеру и проценты прикрутить, будет вообще класс! Цитата:
|
Вложений: 1
Здравствуйте. Помогите мне. Что делать, у меня что-то плохо отображается дополнительные слова, которые я вписал.
http://forum.oszone.net/attachment.p...1&d=1385907108 |
Tco 03,
Цитата:
код ( замени участок "demo" в этом примере http://forum.oszone.net/post-2259324-1482.html ): PS: повторюсь. Та инфа которую, ты хочешь отобразить + то, что я дополнительно отображаю высчитывается в каллбэке (функции обратного вызова) короче прочитай внимательно пример! можно ещё прикрутить время (оставшееся, прошедшее) для текущего файла, но я не стал перегружать код, тк думаю, что это лишнее ===================================================================================== sergey095, используй функцию Код:
function CustomMessage(const MsgName: String): String; // Returns the value of the [CustomMessages] entry with the specified name. |
Цитата:
Хотя считывание размера и процентов каждого копирующегося файла, малых размеров, отображается мельканием строчки и конкретно там ничего не увидеть. И ещё, если тебе интересно, вот такая ошибка, иногда имеет место быть: ![]() |
Johny777, Спасибо. Все встало как надо.
|
Как сделать чтобы при удалении, удалялись только установленные файлы?
|
Цитата Dimon585h:
Как сделать чтобы при удалении, удалялись только установленные файлы? » По умолчанию (если не исползуются сторониие распаковщики) то есть, если запаковать проект только Inno, то после установки удаляются только те файлы, которые скопированы. Все установленные файлы прописываются в unins000.dat Если ипользуются сторонние распаковщики, то нужно прописать что удалить: |
Цитата:
|
Подскажите пожалуйста, у меня при создании инсталлятора, рядом с ним в папке появляется файл с таким же название и расширение "bin", как его засунуть в инсталлятор?
|
Dimon585h,
Код:
[Setup] |
Подскажите пожалуйста, как изменить имя "удалятора", какое-нибудь другое, вместо unins000.
|
Dimon585h,
1 вариант Код:
[ Code] Код:
[_Code] |
Подскажите пожалуйста, как сделать, если сам модпак находится на диске D, то и в адресе указывается не
C:\Games\Wold_of_Tanks а D:\Games\Wold_of_Tanks |
Dimon585h, Прокрути колёсиком мыши вверх до того момента, когда крутить уже будет некуда.
В первом посте есть хороший пример: Цитата:
|
Всем здравствуйте, как сделать так чтобы лейблы не мелькали при переходе с одной страницы на другую? Спасибо!
|
Как сделать чтобы, при выборе компонентов, все галочки были сняты и если можно, то все галочки были на первых пунктах.
|
Цитата:
Dimon585h, Удали ;Types: Например: Код:
[Components] Код:
[Components] |
Добрый день. Подскажите пожалуйста, как сделать так, чтобы у каждого компонента путь установки по дефолту был разный.
|
Цитата:
Код:
[Components] |
Raf-9600,
Цитата:
попутно читал справку, чего и тебе советую, тк возможностей много, например регулировка громкости, отображение прогресса, перемотка, итд http://www.un4seen.com/doc/#bass/BAS...reateFile.html короче вот код конкретно по твоему вопросу: |
Всем здравствуйте!
Подскажите плиз, как можно на момент запуска деинсталлятора узнать текущую директорию, где находится этот самый деинсталлятор. GetCurrentDir почему-то возвращает не директорию расположения, а систем32 |
Shkutu,
|
Johny777, Спасибо! Никаких особых проблем не возникло. Единственная мелочь: в твоём коде проверка в процедуре BASS_PlayFile такая if Channel <> 0 then, а должно быть if Channel = 0 then.
Собственно вот как эта часть выглядит у меня: |
Цитата:
Код:
function InitializeUninstall(): Boolean; |
Спрашивал на руборде
Есть набор программ устанавливаемых через инно, среди компонентов допустим есть прога 1.exe возможно ли если пользователь выбрал установку этой программы, выходило сообщение "Внимание! Прежде чем установить эту программу, необходимо установить бла бла бла... Выполнить необходимые условия?" и кнопки в этом сообщении Да (я позже выполню) - тогда чекбокс автоматом с этой проги снимается и продолжается установка других компонентов (если они выбраны) Нет (уже установлено) - тогда чекбокс автоматом с этой проги НЕ снимается и продолжается установка выбраной 1.exe и других компонентов (если они выбраны) дали скрипт Код:
[components] ![]() как исправить или может какой другой есть скрипт? |
Raf-9600,
Цитата:
Цитата:
if i >= 1 then означает "если длина массива больше-равно 1". Не вижу смысла. Если длина массива 1, то рандом не нужен Если больше одного, рандом уместен те мы уже пишем if i = 1 then uSoundName := Sounds[0] else if i > 1 then ипользуем рандом, но ты хочешь чтоб файлы не проигрывались два раза подряд и рекурсивно вызываешь BASS_PlayFile() пока значения TempSoundName и uSoundName будут разными. Да функция GetArrayLength() и Random() работают быстро, но мы не знаем сколько раз пройдёт рекурсия пока рандом не выдаст другое значение. Те тут крайне нестабильная секция кода с точки зрения скорости. Другими словами очень желательно другое решение. В данном случае модификация рандома. Вот кокретно для решения этой задачи наваял код: алгоритм простой - чистая математика функция function RandRange(const LeftInt, RightInt: Integer): Integer; где LeftInt - левая граница RightInt - правая условие RightInt > LeftInt хотя бы на 1 например мы хотим получить случайные числа от 2 до 7 включительно. функция function NotRandRand(const LeftInt, RightInt: Integer; var LastResultInt: Integer): Integer; где всё тоже самое кроме LastResultInt, в которую пишется значение последнего результата. условие: переменная, которую отправляем в var LastResultInt: Integer должна быть глобальной (это съест всего лишь 4 байта памяти процесса), иначе ничего работать не будет! как она работает думаю понятно по коду. Единственное скажу, что если последнее выпавшее число не равно левой границе и павой, то значит речь идёт о 2-х половинах и тут мы доверим рандому case Random(2) of например у нас числа 1...7. Вапало 5. --> в след. раз в Random(2) выпал 0 (рандом возвращает входное значение -1), то мы выполним RandRange(1, 5-1) если выпала 1, то RandRange(5+1, 7) короче говоря никаких повторов 222, 33, итд. Минимум через 1 вот код: процедура Test(); отладочная. Вот мой результат обрати внимание на 2 и 4-ю строку. Как и следовало ожидать при RightInt - LeftInt = 1 значения чередуются вот твой участок кода (обновлённый): Хочу заметить. У меня лежит код (пока времени нет довести до ума :( ) настоящего рандома из микрофона ноутбука. Те шум окружающей среды. И там бывают подряд повторяющиеся значения. Те повтор для рандома это нормально, в противном случае это не рандом, а какой-то счётчик! строка if not FileExists(AddBackslash(RemoveBackslash(ExpandConstant('{tmp}'))) + 'BASS.dll') then ExtractTemporaryFile('BASS.dll'); не нужна (заметь у меня в коде её нет), тк BASS.dll итак извлекается для последующей её динамичной загрузки ========================================================================================= ispolin, у меня компилятор на Свойство ItemCount не ругается. Использую расширенную версию(не самую новую - 5.4.3). В шапке есть ссылка на расширенную. |
Цитата:
El Sanchez, Добавь пожалуйста ссылки на соответствующую версию хотя бы под спойлер "Расширенная версия Inno Setup от Restools". Пример: |
El Sanchez, спасиб
|
Цитата:
|
ispolin, http://sendfile.su/905216
|
Цитата:
Определись какую версию будешь устанавливать ANSI или Unicode. |
http://rghost.ru/50691097 Второй путь
|
Здравствуйте.
Большая просьба подсказать, на основе этого скрипта, когда-то, где-то видел модифицированный скрипт товарища Johny777, но найти так и не смог. Возможно ли добавить второй прогрессбар и реализовать точно такую же функцию, как в ISToolsDownload? Дело в том, что мне необходимо скачать два файла и хотелось бы реализовать один главный прогрессбар (ход загрузки всех файлов) и второй, текущяя загрузка файла (в принципе он уже есть). Общий прогрессбар добавить непроблема, проблема заключается в том, с чем сравнить текущую загрузку.? Прогрессбар и общий объём загрузочных файлов обнуляется сразу после того, как начинается загрузка следующего файла. |
Спасибо за папочки. Проверил код, оказалось не то, что я хотел.
Подскажите пожалуйста другой скрипт. Нужно, чтобы после выбора определённого компонента (прога.exe) открывалась новая страница с текстом "Внимиание! бла бла" и кнопки на этой странице Назад и Дальше. Если определённый компонент не выбран то и дополнительная страница не появляется. |
Цитата:
Код:
procedure InitializeWizard(); |
Shkutu, ругается
![]() |
Цитата:
Код:
var Page: TOutputMsgMemoWizardPage; // на всякий случай - переменная должна быть глобальной ;) |
Shkutu, блин для меня эти слова как инопланетный язык
вот Код:
begin напишите плиз как нужно-правильно |
Цитата:
Код:
[Components] |
Nordek,
![]() |
ispolin, А зачем ты закомментировал procedure InitializeWizard();? У тебя InitializeWizard не один?
Вставил то правильно? |
|
Цитата:
а Код:
var Код:
function IsX64: Boolean; |
|
Благодарю всех за помощь, одолели мы проблему!
|
Tco 03, ну всё, с тебя ящик бухла:
написал полностью код закачки с нуля на основе тех же функций из Wininet.h/Wininet.pas двойной прогресс как ты и хотел, ... тот пример тут http://forum.oszone.net/post-2149513-443.html (гугл рулит), но это уже не важно! справка по API: сам код загрузки + демо El Sanchez, ты тогда говорил: Цитата:
Предлагаю добавить код в шапку (с заменой, если сочтёшь нужным), тк он может многим пригодиться PS: только я так и не понял зачем нужен флаг в твоём коде InternetOpenUrl(... INTERNET_FLAG_NEED_FILE ), когда уже непосредственно получаешь указатель на файл для скачивания? на MSDN сказано "Causes a temporary file to be created if the file cannot be cached". Не пойму я. Можешь пожалуйста объяснить: "Создание временного файла, если он не может быть кэширован"? |
|
Когда выбираешь куда устанавливать файлы потом открывается сам список того что хочешь установить. Как сделать так чтобы когда наводишь на название какого-то файла выскакивала картинка? Говорю сразу я полный нуб в этом дела пожалуста сделайте хотябы для одного элемента плыз
|
Nordek,
Цитата:
Цитата:
Цитата:
тк инно не поддерживает перегрузку (http://www.delphibasics.ru/Overload.php), и даже не в этом дело. Если б компилятор допускал одинаковые названия глобальных переменных, констант, функций/процедур не отличающихся друг от друга по вызову, такой код если б работал бы, то в режиме хаоса и анархии. то что у тебя в коде это вызов одних процедур из других например это тоже самое, что и это: Дубликация в моём понимании - это например копирование одного участка памяти по адресу в другой такого-же размера. Вот только в том и дело - это копирование (называем действия своими именами), а не дубликация в Си-шке есть strdup например... и на будущее будь внимательнее, чтоб тебе по ушам не ездили с мифическими терминами типа "дубликации событий", тк это может сказаться на твоём восприятии кода, который по сути без подобных терминов всегда очень логичен! :) |
Цитата:
|
Dimas2011,
|
|
Nordek,
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Ребята , как прописать , чтобы после установки выходило два ехе файла на рабочий стол ?
Вот скрипт http://sendfile.su/905823 |
|
Цитата:
тк что толку например с 1 файла из 3 если они все втроём составляют одно целое, но это исправить не долго, я ж не знаю, тонкостей запроса Tco 03 Цитата:
Цитата:
Коду работы с интернетом я уделял только 2 раза внимание. Потому пока ещё не знаю всех тонкостей Nordek, Цитата:
только-что проверил. Кажись всё в порядке. улучшил код. Должен теперь быстрее работать, тк установка стиля и прозрачности теперь 1 раз при создании формы, а не каждый раз при показе + перезалил "наглядный пример" |
Цитата:
Да вот смотрю, в первый раз картинка появляется. Потом отвожу курсор, ещё раз навожу и уже не появляется. При трёх компонентах нормально. Dinvin4ester, Если файлы разные Код:
[Files] Код:
[Files] |
Цитата:
благодарю за найденную ошибку! в procedure CompOnMouseLeave(Sender: TObject); не хватало LastIndex := -1; исправил, перезалил демо http://forum.oszone.net/post-2169372-662.html |
Вложений: 1
Nordek,
Спасибо , но что-то выдает ошибку . |
Цитата:
А так? Код:
Source: E:\Games 2\Четыре поросенка и коробка\Твой_файл1.exe; DestDir: {commondesktop} |
Nordek,
Вот сейчас все подошло. Огромное спасибо вам . |
Привет всем!
Нужна ваша помощь, например запускаю инсталлятор и устанавливаю компоненты которые мне надо. Потом запускаю еще раз инсталлятор и снимаю галочки с тех компонентов которые я установил, как сделать если я снимаю галочки с компонентов которые были установленные то чтоб эти компоненты удалялись? ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО! |
|
habib2302,
Вы наверное не так меня поняли. Мне надо удалять компоненты снятием галочки с компонента а не через unins000.exe |
Цитата:
Цитата:
|
Здравствуйте. Как сделать так, что кнопка "Далее" переименовывалась в "Установить" на посл. странице мастера перед установкой (при условии, что DisableReadyPage=yes).
|
Добрый день.
Такой вопрос... реально ли в этом шаблоне установщика сделать прокрутку списка компонентов кнопками вверх/вниз (которые на форме нарисованы) и (или) колесиком мышки? Т.к. в данный момент реализован только ползунок. Буду благодарен за помощь. Цитата:
|
Цитата:
Цитата:
Цитата:
Johny777, Как в твоём примере нарисовать скорость загрузки? Mat_y, А назад вернуть надпись кнопки!? |
Цитата:
З.Ы. А серьезно - просто забыл. |
Tco 03,
Цитата:
но повторюсь, интернет для меня тема в большей мере непознанная. я еще с переадресацией и прокси не разобрался. http://forum.oszone.net/post-2267708-1631.html код будет очень нескоро. Паси форум Цитата:
http://forum.oszone.net/post-2264978-1575.html Потом добавлю в демо. Цитата:
|
Доброго времени суток!
А нет ли у кого-нибудь случаем алгоритма кодирования в/декодирования base64 для инно? |
Ребят!
А можно ли вот эту часть кода Код:
var Заменить на картинки на формат *.PNG и привязать их к свободной форме Parent := WizardForm; Другими словами TBitmapImage можно чем либо заменить? Или другой подход реализовать... через dll какой нибудь? |
Johny777,
Цитата:
Цитата:
Цитата:
Mat_y, Цитата:
Цитата:
![]() Если да, то вот готовый пример: |
И еще вопрос.
Можно ли в инно как-то менять кодировку текста, сохраняемого в файлик? При сохранении получается utf-8 (у меня юникодная версия), а надо в результате ucs-2 little endian |
Вложений: 1
Ребята помогите не показывает картинку.я пытаюсь сделать так что когда выбираешь куда устанавливать файлы потом открывается сам список того что хочешь установить. так чтобы когда наводишь на название какого-то файла выскакивала картинка а оно не работает.Файл 107703
|
Вложений: 1
Ребята я наверно многим тут уже надоел,но вроде все делаю правильно.Скрипт компилируется без ошибок и запускается в инно (расширенная версия юникод) когда нажимаешь на запуск инсталятора в инно(зеленая стрелка).Как только компилирую,закрываю инно,нажимаю Setup.exe , появляется на панели задач иконка и окно иснталла и не раскрывается,тупо зависает инсталл не появившись.Не пойму почему такой глюк.Ошибок при компиляции не выдает.Система свежая тока недавно ставил,временные папки и реестр чистил.Вот скрипт,может просмотрите глазом ,что не так.Подозреваю ,что то в procedure InitializeWizard();
Файл 107705 |
FX-DENIS, вот это все:
Код:
Source: ISSkin.dll; Flags: dontcopy Код:
Source: D:\Games\R.G. Catalyst\Far Cry 3\*; DestDir: {app}; AfterInstall: Progress; Flags: ignoreversion createallsubdirs recursesubdirs sortfilesbyextension sortfilesbyname |
Цитата:
|
Цитата:
|
FX-DENIS, просто при солид-сжатии, когда файлы самого приложения идут до файлов оформления, которые нужны в работе инсталла, ему приходится ооочень долго добираться до этих служебных файлов. если не полениться и почитать архив темы, то вопрос этот всплывал несколько десятков раз. Кто-то даже помнится писал о нескольких часах ожидания..
По аналогии - видел как-то рекламу каких-то чипсов, которые продаются в трубчатой упаковке. Вот, чтоб представить себе муки инсталла, нужно купить такую банку чипсов и попытаться достать из нее самый нижний чипс не вынимаю все остальные, и не отрезая донышка банки. |
Цитата:
|
Dimas2011, впиши InitInfo(); в InitializeWizard();
ты используешь этот код: http://forum.oszone.net/post-2169372-662.html Он был недавно обновлён, я исправил в нём ошибку и оптимизировал. замени у себя старую его версию на новую PS: и на будущее: будь добр выкладывать скрипт с файлами, чтоб перед тем как искать ошибку ни мне ни другим не приходилось закомментировать участки кода и/или искать нужные файлы в твоём случае например это были |
Johny777, в коде, который Вы привели в качестве примера (кстати еще раз спасибо)... за что отвечает эта часть? Можно получить коментарии к строкам, если не затруднит?
Код:
procedure CompOnClick(Sender: TObject); |
Здравствуйте. как сделать так, чтобы "DefaultDirName" для каждого компонента был разный? Например для компонента "One" "DefaultDirName={pf}\Game One", а для "Two" соответственно "DefaultDirName={pf}\Game Two"
|
Всем привет, вопрос такой.
В стандартном установщике, когда идет странице выбора компонентов, очень маленькое окно, подскажите как его сделать больше? Чтобы е нужно было постоянно прокручивать бегуной. |
Цитата:
|
Цитата:
|
Ребят... а реально ли в установщике сделать галку .."Установить обои на рабочий стол" с соответствующим функционалом?
|
El Sanchez, спасибо.)
А на счет смены кодировки при сохранении текста в файл никто не подскажет? |
Всем привет, вопрос такой.
В стандартном установщике, когда идет странице выбора компонентов, очень маленькое окно, подскажите как его сделать больше? Чтобы е нужно было постоянно прокручивать бегуной. |
Цитата:
Код:
ComponentsList := TLabel.Create(WizardForm); |
|
Mat_y, Nordek спасибо. Только куда вставлять этот код?
|
Цитата:
Достаточно просто: procedure InitializeWizard(); begin WizardForm.ComponentsList.SetBounds(ScaleX(30), ScaleY(100), ScaleX(400), ScaleY(220)); end; |
Farser21, Вот пример инсталла набросал:
|
Вложений: 1
Цитата:
И да, ещё - если кликнуть и удерживать л.к.м. на верхней части инсталлятора (так сказать, поставить на паузу) - инсталлятор зависает :(. А, нет - ещё и сек на sec в строке прошло (Elapsed). |
доброе время суток.как добавить 2-ой путь в скрипт для удаления настроек/сохранений
Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
|
Ребята всем доброго времени суток. Кто может помочь, возникли небольшие вопросы о установщике. Объяснить не смогу. Поэтому прошу связаться со мной по скайпу и я покажу с чем у меня проблемы, заранее спасибо! скайп farsero_o
|
Tco 03, А дальше что?
Ведь если папка "Сохранения 2" будет присутствовать а папка "Сохранения" не будет присутствовать, то смысла в таком коде нету т.е он даже не сработает. Учитывать нужно все нюансы. Ну, продолжай, продолжай... |
|
Цитата:
|
|
|
habib2302,
Во первых: usUninstall - это то, что нужно выполнить перед деинсталяцией. usPostUninstall - после. Во вторых у тебя уже есть: case CurUninstallStep of usPostUninstall: зачем тебе: CurUninstallStep = usUninstall Код полностью рабочий, проверь просто так, без ничего. А в своём скрипте разберайся сам. И не суй всё куда попало. |
Tco 03, :lamer:
|
Цитата:
Код:
if (CurUninstallStep=usUninstall) then ". Заведи нижний участок кода за end; кода который находится выше. |
Ребята помогите не показывает картинку.я пытаюсь сделать так что когда выбираешь куда устанавливать файлы потом открывается сам список того что хочешь установить. так чтобы когда наводишь на название какого-то файла выскакивала картинка а оно не работает.Скрип обновлённый вставил и не работает http://rghost.ru/50868040
|
Так как никто не ответил повторяю вопрос. Кто может помочь, возникли небольшие вопросы о установщике. Объяснить не смогу. Поэтому прошу связаться со мной по скайпу и я покажу с чем у меня проблемы, заранее спасибо! скайп farsero_o
Помогите пожалуйста, это очень важно! |
|
habib2302, Это называется ты "не корректно в первый раз совместил".
Я не знаю как ты вставлял его. Ты же ведь в первый раз наверно перемещал в код? А там скорее всего удалил Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); так вот, теперь у себя под процедуру procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); подсунь Код:
var GDFBinary: String; GUID: TGUID; P.S Я у экстрасенсов уроков мастерства не брал, по этому нет у меня экстрасенсорных способностей. |
Вложений: 1
Цитата:
|
Всем привет, возникли такие вопросы.
1) Когда наводишь на компонент, то выскакивает картинка, как задать определенные координаты картинке? Задумка сделать все картинки одного размера, и чтобы они выскакивали в одном месте. 2) Как сделать чтобы при установке компонентов, очищалось старое содержимое того места куда устанавливаешь, и место него устанавливалось новое. 3) Как сделать авто определение установки, т.е. установщик сам выбирает нужную папку куда устанавливать. Например мне нужно чтобы компоненты устанавливались в папку с танками, в оригинале она называется World of Tanks. Как сделать так чтобы компоненты можно было установить в папку у которой в названии присутствовало World of Tanks, и возможно сделать так, чтобы установщик автоматом находил нужную папку. 4) Когда устанавливаешь компоненты то инсталка появляется в основной папке, как сделать чтобы инсталка создавалась в отдельной папке, и можно было самому задать название. 5) И последний вопрос который частично связан с первым. Идея такова если подогнать картинки под один размер и под одни координаты то картинки будут появляться в одном месте, но далее если отводишь курсор от компонента то они пропадают. Как сделать так чтобы изначально в том месте где должно быть картинки стояла стандартная картинка, а далее при наведении там бы появлялась картинка компонента. Заранее спасибо, всем кто сможет помочь. Для меня это очень важно, поэтому прошу мне помочь! |
Здравствуйте. как сделать так, чтобы "DefaultDirName" для каждого компонента был разный? Например для компонента "One" "DefaultDirName={pf}\Game One", а для "Two" соответственно "DefaultDirName={pf}\Game Two"
|
Цитата:
Цитата:
|
FX-DENIS , Спасибо!
|
Цитата:
|
FX-DENIS , Возникли проблемы с авто определением установки. Получается я вставил то что ты скинул, но когда запускается установщик пишет Название установщика "World of Tanks" и пишет что не может найти. Где я мог допустить ошибку?
|
Цитата:
|
Цитата:
Farser21, Тупо скопипастилл и всё? А в : Код:
RegQueryStringValue(HKLM, 'SOFTWARE\Rockstar Games\EFLC', 'InstallPath', Path);//Какой ключ реестра ищет ... Код:
if not RegKeyExists(HKLM, 'SOFTWARE\Rockstar Games\EFLC') then Вместо SOFTWARE\Rockstar Games\EFLC замени на свои. И если нет InstallPath, то смотри какое значение ведёт к папке. |
FX-DENIS, Если вы про мой вопрос, то он был немного другого типа.
|
El Sanchez, спасибо! Затупил немного - ввели в заблуждение функции StrFormatByteSize64 и StrFromTimeInterval. Думал к ним нужно привязываться.
|
Nordek, спасибо
|
El Sanchez, Здравствуйте. Ваш пример по загрузке файла, без сомнения, хорош. Пожалуйста, если Вас не затруднит, не могли бы Вы помочь с реализацией загрузки двух файлов. С одним общим прогрессбаром и текущим. Или же как эксперт помогите, пожалуйста, доработать пример товарища Johny777. Он в принципе рабочий, но не корректно отрабатывает свои действия. Буду премного благодарен, да и не только я. Очень нужная будет вещь!
|
FX-DENIS, Поправь пожалуйста сообщение. Не корректный вывод BB-Кодов.
Если в скрипте присутствует [Code], то понадобится дополнительная обработка. Например: [*Code], [#Code], [Co[u][/u]de], [b][Co[/b][b]de][/b] и т.д. Кроме всего прочего, есть ещё в самой Inno Setup Compiler возможность копирования текста с BB-кодами. В Inno Setup Compiler есть пункт "Копировать как UBB код", который позволяет скопировать сразу с BB-кодами. Правда в некоторых случаях копируется не корректно. |
Приветствую всех!
А кто-нибудь знает, может ли инно работать с wsdl? И если да, то нет ли какого-нибудь примера или где про это можно почитать? |
Nordek, я указывал путь но все равно, не получается.
Место Код:
RegQueryStringValue(HKLM, 'SOFTWARE\Rockstar Games\EFLC', 'InstallPath', Path);//Какой ключ реестра ищет ... Код:
RegQueryStringValue(HKLM, 'World_of_Tanks', 'InstallPath', Path);//Какой ключ реестра ищет ... В итоге когда я компилирую, то пишет что такой путь не найден, а вместо World_of_Tanks. Почему-то пишется что путь был My Program. И в итоге никакого автопределения нету |
Цитата:
Код:
RegQueryStringValue(HKLM, 'World_of_Tanks', 'InstallPath', Path);//Какой ключ реестра ищет ... Хочешь чтоб я угадал что находится у тебя в реестре? Может так: Код:
RegQueryStringValue(HKLM, 'SOFTWARE\World_of_Tanks', 'InstallPath', Path);//Какой ключ реестра ищет ... Код:
RegQueryStringValue(HKLM, 'SOFTWARE\Компания_Игры\World_of_Tanks', 'InstallPath', Path);//Какой ключ реестра ищет ... Ты залезь в regedit (Редактор реестра) да посмотри в HKEY_LOCAL_MACHINE » SOFTWARE » Твоя_Игра так же может находиться в HKEY_CURRENT_USER » SOFTWARE » Твоя_Игра. |
Вложений: 1
Выдаёт ошибку что делать??Файл 107864
|
Цитата:
|
Nordek, просто я делаю репак одной проги и папка с настройками хранятся в разных местах в зависимости от винды
XP %USERPROFILE%\Local Settings\Application Data\ Vista/7 %USERPROFILE%\AppData\LocalLow\ может просто указать минимальную версию винды чтобы этот код работал? |
|
Цитата:
Vista/7 \AppData\Local\ Цитата:
|
Вложений: 1
Что тут надо исправить??Файл 107947
|
Dimas2011, у тебя указан не полный путь
у тебя Код:
HKLM, 'SOFTWARE\Wargaming.net\wot', Код:
HKLM, 'SOFTWARE\Wargaming.net\wot\Launcher', |
Вложений: 1
Только теперь другая ошибка вылазееФайл 107959т
|
Цитата:
|
Цитата:
|
|
Вложений: 1
Цитата:
|
|
и как сделать чтобы при выборе компонента "portable" были неактивными компоненты с ярлыками и были сняты с них галочки?
Код:
Name: icons; Description: {cm:AdditionalIcons}; Types: full; |
Вложений: 1
Цитата:
|
Вложений: 1
Помогите плиз. Не могу поставить скин на инсталлер. Сделал всё по инструкции, но запускается всё-равно обычная версия setup.
Вот проект(если можно объясните, что вы изменили): |
Цитата:
ISSkin.dll - ANSI ISSkinU.dll - Unicode Вот: |
Nordek, а как сменить кодировку?
|
Raz3r, 2 варианта - либо использовать InnoSetup ANSI, либо использовать библиотеку ISSkin.dll для UNICODE
|
Вложений: 1
Raz3r, Добавил код в предыдущее сообщение.
Ниже прикрепил пример. Я надеюсь сообразишь Dll-ки вставить. |
ответьте пожалуйста на мой вопрос
|
Цитата:
|
Цитата:
|
|
Цитата:
|
Nordek, у меня список ярлыков находится в компонентах
Код:
[Components] |
|
вот
мне давали скрипт на ru-board Код:
procedure CompNotEnabled(const CompName, InString: String); Тест |
Цитата:
|
Доброго дня! Не подскажет ли кто-нибудь, как сделать так, чтобы при установке если рядом с инсталлятором находится .reg файл, то он автоматически занесется в реестр.
|
Dimas2011,
А вообще вроде бы уже просили выкладывать скрипт целиком, чтоб не приходилось догадываться о конкретном месте/контексте ошибки, ибо телепатов тут нет. Ну или если скрин, так хоть делайте его так, чтоб хотя бы проблемную функцию целиком было видно. Optitron, например так |
Подскажите пожалуйста как через секцию code сделать чекбокс для иконки на рабочий стол.
Нашел код, ...но не могу понять как это связать с секцией [Icons] или [Tasks] |
Цитата:
Код:
[Run] Код:
[Run] |
|
Цитата:
Вот: [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone [Icons] Name: "{commondesktop}\Crysis Wars EX 32bit"; Filename: "{code:MyConst}\Bin32\Crysis.exe"; Parameters: "-MOD CrysisWars_EX"; Tasks: desktopicon Name: "{commondesktop}\Crysis Wars EX 64bit"; Filename: "{code:MyConst}\Bin64\Crysis.exe"; Parameters: "-MOD CrysisWars_EX"; Tasks: desktopicon Всё это я спрашиваю потому, что после распаковки инсталлера с командной строкой \silent не устанавливаются ярлыки на рабочий стол. Очень важно, чтоб они устанавливались автоматический. |
Nordek, К сожалению данные не заносятся. Проверял на 7 и XP. Вручную вносить получается.
|
Optitron,
|
Извините что досаждаю, можно узнать какой командой прописать иконку в "Установка и удаление программ"?
|
Raz3r, так тебе чекбокс нужен или чтоб ярлыки устанавливались, когда пользователь не может сам галки выставить (т е в "тихом" режиме)?
Если надо, чтобы ярлык устанавливался автоматически, без пользователя, просто убери Код:
Tasks: desktopicon |
Shkutu, Я хотел, чтобы можно было управлять установкой иконок в обычном режиме установки и что бы они автоустанавливались в режиме /silent.
Благо я уже в этом разобрался, спасибо вам. Напоследок просто хотел спросить как сделать, чтобы было видно иконку в "Установка и удаление программ", а то там не отображается. Наверное потому что программа использует .exe файл другой программы для запуска. |
Nordek, .reg файл лежит рядом с инсталлятором. Название .reg файла везде одинаковое (1.reg), Убрав Flags, ошибку не выдало, тем менее опять же не занеслось.
Доп. информация: кроме занесения информации из 1.reg инсталлятор заносит в реестр кое-какие данные, но даже если убрать их, то все-равно не занесется. Shkutu, в вашем методе жалуется на "i", ещё до этого (как я понял) жаловалась на отсутствие begin (добавил begin и end, перестала жаловаться). |
Цитата:
UninstallDisplayIcon={app}\MyProg.exe |
Всем привет, возник такой вопрос.
1) Когда наводишь на компонент, то выскакивает картинка, как задать определенные координаты картинке? Задумка сделать все картинки одного размера, и чтобы они выскакивали в одном месте. |
Optitron, тот код, что я написала - это просто оператор, который надо вставить в какую либо функцию.\
Цитата:
|
Не могу понять какой код писать в секцию [code], чтобы сделать два чекбокса для двух ярлыков на рабочий стол.
И связывать их одной командой Check: MakeLaunchIcon в [Icons]? Вот собственно код, но для одного чекбокса: |
Raz3r, для 2го чекбокса просто добавить аналогичную конструкцию. Итого
Цитата:
Тогда Код:
function MakeQuickLaunchIcon: Boolean; |
|
Farser21,
|
Помогите исправить ошибку http://php-studia.ru/?s=444545.png
|
Dimas2011, Да, сколько времени прошло?!
Ну вот что тебе, кроме скрина трудно что-ли было кусок кода в месте ошибки скопировать и вставить сюда? И если делаешь скрин, то делай правильно - чтоб видно было (а то гадай, какая у тебя там процедура). Тебе так никто помогать не станет, потому что приходится угадывать что у тебя там. Тем более переписывать код чтоб ты понял (Делаю вывод из того, что когда тебе Shkutu подсказала и ты не понял, то я не знаю. Тебе разжёвывать прямо надо и за тебя съесть. В следующий раз, если попадётся случай. Тоже сделаю скрин кода, да так чтоб ты за ним часа четыре просидел и подумал.), кому охота? Мне точно лень. Вместо грамотно составленного сообщения, ты продолжаешь одно и тоже сообщение отправлять. Не надоедает? Остальных, кто делает подобное тоже касается. Если хотите чтоб вам помогли, то составляйте своё сообщение грамотно. И чтоб не приходилось страдать геморроем тем, кто вам помогает. Так же нужно понимать грань между помогите и сделайте за меня. Помочь можно, но делать за вас никто не будет. Наглеть тоже не нужно, т.е по несколько раз одно и тоже сообщение отправлять. Кто сочтёт нужным - тот обязательно поможет, а нет - так нет. Цитата:
У тебя было так (примерно): Код:
function InitializeSetup(): Boolean; Код:
function InitializeSetup(): Boolean; Код:
function InitializeSetup(): Boolean; Итог твоего кода должен был получиться таким: Код:
function InitializeSetup(): Boolean; |
Всем доброго времени суток!
Есть проблема: нужно устанавливать IIS в процессе инсталляции. Если использовать [Run], то все отлично Код:
[Run] Код:
Exec(ExpandConstant('{sys}\pkgmgr'), |
Nordek, спасибо!
|
Господа. Кому не жалко поделитесь, пожалуйста, скриптом сколько скопировано мегабайт/гегабайт из инсталлятора.
Цитата:
function InitializeSetup(): Boolean; begin if isWin64 then... else... end; |
Respin, я видимо, не совсем корректно задаю вопросы :)
И так понятно, что это надо как-то через вилку с isWin64. Проблема в другом. Когда запуск идет из секции [Run], инно сам знает в какую системную директорию лезть и какую версию пакета (соответствующую разрядности) брать и например константа {sys} будет указывать на системную директорию правильной разрядности. Когда речь об Execute, эти директории надо как-то определить самостоятельно, потому что та же {sys} будет указывать на директорию для 32 бит, даже в 64 битной системе. Цитата:
|
|
Tco 03, почти:)
С Program files все понятно. А что делать с {sys} (для установки ISS нужна именно она)? Она и в 32 и 64 указывает на одно и то же место - system32 для 32 бит. |
Цитата:
|
Tco 03, да, это похоже на то, что мне нужно.
Буду пробовать, спасибо:) |
Всем привет вы бы не могли подсказать вот этот скрип можо сделать чтобы не только картинка вылезала а и описание??
Код:
Setup] |
Код:
ошибка runtime error (at 145:123) could not call proc |
Mat_y, у меня такое обычно бывает, если какой-то косяк с библиотекой. Но может возникать и из-за чего-то еще. Так что нужно больше информации:) В какой момент ошибка возникает? На какую сточку кода ругается?
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Ребят, помогите пожалуйста, кто знает Pascal, как сделать движение шарика под углом.
В обычном паскале, чтобы надо было задавать ещё после запуска программы угол и начальную скорость шарика, и чтобы рисовалась траектория, надеюсь вы меня поняли, помогите пожалуйста. |
Цитата:
|
Цитата:
Цитата:
|
Tco 03, прям просто КО. Извините:)
Но вообще говоря, когда я спрашивала про строчку, я имела ввиду именно строку, а не номер. Может где-то в истории это было раньше, а я пропустила, но тем не менее, сам скрипт я не видела. Mat_y, а нельзя запустить это из отладчика? В этом случае оно стопорнется на строке с ошибкой и даже цветом эту строку выделит. Ну или если нельзя (я так понимаю, что ошибка не у тебя), то да, можно попробовать пересобрать без модулей и посмотреть. |
Цитата:
Цитата:
Цитата:
|
Парни на 5.5.4 не работает
|
можете помочь?
Какой функцией удалить все содержимое папки, в которую будет устанавливаться программа? |
Цитата:
Если ты про расширенную версию говоришь, то её ещё не существует. Есть только 5.5.1 Цитата:
Код:
[InstallDelete] |
Парни что за ошибка procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); неизвестный тип
|
Доброе время суток.Возможно ли указать 2 компонент в командную строку для тихой установки?
|
habib2302, вроде как
Код:
/Components="название 2 компонента" |
Цитата:
Цитата:
|
habib2302, Посмотри справку: "Прочая информация » Параметры командной строки инсталлятора".
А вообще, /SAVEINF="filename" и /LOADINF="filename" рулят ;). |
на 5.5.1 наботает все окей спасибо
|
Как создать страницу выбора программной группы не получается никак вот скрипт...
PHP код:
|
Ivan_009
|
Всем привет как можно убрать эту страницу , зарание спасибо :)
|
diman_21Ru
function ShouldSkipPage(PageID: Integer): Boolean; begin if (PageID = SystemPage.ID) then Result:= True; end; |
спасибо большое
|
Всем Привет кто знает самый простой способ добавление Музыки в скрипт,зарание спасибо
|
Помогите пожалуйста. нужен самый простой скрипт, в котором страница выбора компонентов, страница распаковки и страница завершения. Архивы будут запакованы FreeArc.
Идея такая: запускаем инсталл, выбираем один из двух компонентов (у компонентов будет один архив общий, а второй разный), самостоятельная распаковка во временную папку, страница завершения, автоматический запуск .exe из временной папки(можно на странице завершения сделать не убираемую галочку "Запуск установки"). И еще чтобы инсталл не создавал никаких папок в меню Пуск, ярлыков, и не было у него деинсталлятора и значка в Панели управления-Программы и компоненты. Если кто напишет такое, буду очень благодарен. |
Всем Привет как в начале уменьшить размер текста а то полное название не влезает , спасибо зарание :)
|
diman_21Ru, Найди WelcomeLabel1 и там регулируй » Left, Top, Width, Height
Например Код:
[Code] |
о спасибо тебе огромное
|
В одном месте все же остался шрифт прежний , не понятно он где настраивается (
|
Цитата:
Цитата:
Пример: Код:
[Code] Ищи по надписи "Мод-Пак от..." Если "Мод-Пак от..." задано в пользовательских сообщениях т.е [CustomMessages], то смотри там {cm:....} Например если у тебя примерно так Код:
[CustomMessages] А далее в коде найди примерно такие значения: Font.Name и Font.Size. Код:
Font.Name := 'Courier New'; - Это шрифт Код:
Font.Size := 8; - Это размер шрифта Код:
Font.Height := -11; |
спасибо получилось
|
Парни если кто знает как можно музыку добавить простым способом , подскажите , или направьте на страницу где была ета тема просто искал не нашел , зарание спасибо :)
|
Вложений: 1
|
Напишу ответ здесь, на заданный вопрос из этой темы
Цитата:
Код:
[Registry] |
Nordek, Благодарю.
А такой вопрос, у кого Windows 8, возможно только для них сделать запуск с совместимостью Windows XP Пакет обновления 3 и такой вопрос, как запустить сам setup.exe от имени администратора, тк я подумал если его запускать не от администратора то данная фича - Код:
[Registry] |
Цитата:
Код:
[Registry] |
Nordek, спасибо понятно, а сам инстоллятор возможно сделать: чтобы запускался от имени администратора ? или нет ?
а и совместимость с WINXPSP3 - мне нужно только для тех у кого Windows 7/8 |
Вложений: 1
Всем Привет. Кто знает, как убрать в странице компонентов линии и сделать один единый цвет после этого (белый цвет в серый).
|
Цитата:
По умолчанию там и так привилегии выставлены PrivilegesRequired=admin. Не, если конечно не веришь, то можешь для убедительности в секции [Setup] выставить: Код:
[Setup] Ну, блин, не позорились что-ли - самое простое и не могут разобраться. Я к тому, что полезно справку почитать. Скачай справку, да почитай про привилегии: ISetup.chm » Секция скриптов » Директивы секций » PrivilegesRequired. Цитата:
Код:
[Registry] |
Nordek,
Во спасибо! 1. нет по умолчанию я проверил созданный файл - привилегия сняты в свойствах. - сейчас проверю. 2. Код:
[Registry] Добавлено: выставил как вы и сказали: PrivilegesRequired=admin файл создался после генерации инсталятора и в свойствах все равно нету галочки - запускать от имени администратора. и скачал вашу справку - пытаюсь открыть все нормально открывается но куда бы я не кликал с права не появляется описание, всегда пустое окно.. |
Цитата:
Код:
[Code] |
Цитата:
Иначе, установка в папку не была удачно произведена т.к при установке выбивало ошибку типа: "Нет прав доступа". Цитата:
Цитата:
|
Nordek,
Ну все спасибо большое: выставил вот так: Код:
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty второе: мы делаем для Win 7 и Win 8 совместимость с WINXPSP3 и RUNASADMIN получается все правильно ? или лучше в первом указать что все которые ниже Win 7 , а то получается мы делаем два параметра RUNASADMIN на win 7+.. |
Цитата:
; MinVersion: 4.0,; OnlyBelowVersion: 0,6.0 т.е начиная от Windows 95 и заканчивая Windows Vista, на Vista уже не сработает/не внесётся параметр в реестр. далее у тебя идёт второй параметр MinVersion: 0,6.0 что значит сработает начиная от Windows Vista и выше, но не будет работать на ранних версиях - т.е на XP уже не сработает/не внесётся параметр в реестр. Код:
[Registry] |
Nordek, Блин чел, Вы такой умный - спасибо =)
все скопировал что вы мне дали, буду тестировать, как я понял с этими параметрами в реестр, уже не надо ничего добавлять в секцию: [Setup] ? а то вы выше писали что возможно туда придется добавлять.. Добавлено: выдало ошибки при компиляции на MinVersion: 4.0,; Вы видать забыли 0 дописать, типо MinVersion: 4.0,0; ? - или просто запятая лишняя.. Добавлено: Попытался на "Windows 2003 Server" проверить совместимость - почему то не выставило, видать NT уже идет ? |
Весь список MinVersion для справки:
Код:
В списке могут попадаться одинаковые значения например: для Windows Vista: MinVersion: 0,6.0 и для Windows Server 2008: MinVersion: 0,6.0 - это не опечатка, просто MinVersion: 0,6.0 идёт как для Windows Vista так и Windows Server 2008. По этому, достаточно указать один раз MinVersion: 0,6.0 - она сработает как для Windows Vista так и Windows Server 2008. |
понял делаю вот так:
Код:
[Registry] второе все что выше Vista в том числе и 2008 |
Nordek, Благодарю, а как убрать линии не знаете?
|
Цитата:
Код:
WizardForm.ComponentsList.BorderStyle := bsNone; |
Nordek, ладно что-то не работает на 2003 все-равно, если убрать вообще минверсия - тогда работает, а с ней нет, скорей всего тогда вас не буду мучат - придется глобально почитать описание =(
|
Цитата:
|
Nordek, то есть это не ошибка что просто написано 4.0, - с запятой ?
|
Цитата:
Вот тестовый скрипт: Код:
[Setup] |
Я дико извеняюсь, хочу спросить как запустить .msi контейнер в процедуре procedure CurStepChanged(CurStep: TSetupStep)
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Цитата:
Код:
[CustomMessages] |
Вложений: 1
http://forum.oszone.net/attachment.p...1&d=1388942447 Такое окошко выскакивает после установки (невсегда, очень редко). Что это может озночать?
|
|
habib2302
const LOAD_LIBRARY_AS_DATAFILE = $2; function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryExA@kernel32.dll stdcall';habib2302, |
Почему при нехватке места на диске при нажатии кнопки далее инсталл тупо предлагает выйти не пойму в чем проблема вот код... Заранее спасибо за помощь...
Код:
var |
Цитата:
У тебя CancelButton накладывается на NextButton. Соответственно при неактивной кнопке NextButton вместо неё нажимается CancelButton. |
Помогите растянуть панель при задвижении и выкате на всю форму вот код
Код:
var |
Цитата:
|
Как скрыть TButton на wpInstalling: пробовал TButton.Hide; не работает
Код:
var |
Цитата:
|
Как наложить изображение bmp на форму выхода. Подскажите кто знает. Зарание спасибо.
|
Всем привет не кто не знает почему эта ошибка при запуске уже готового скрипта по системным требованиям
|
diman_21Ru, точку с запятой на предыдущей строке забыл. и таких ошибок скорей всего будет еще тьма. плюс скорей всего в паре мест вылезет несоответствие типов string и ansistring (проверено, гарантирую) поэтому есть смысл тебе пользоваться ansi-версией, к юникодной ты точно не готов (иначе этого вопроса не было-бы)
|
а где найти ansi-версию и какую надо именно ?
5.5.1 стоит расширенная на ней ошибку выдает ( |
diman_21Ru, там-же, где нашел юникодную, я думаю :) какая именно - я так понял - обычная или расширенная? это уже нужно смотреть скрипт - если используются функции расширенной версии, то только расширенную, если нет, то достаточно обычной с официального сайта сабжа.
У меня из подписи, качаешь, при установке выбрать расширенную анси - должно компилироваться все. все примеры делались либо только под анси, либо с сохранением совместимости с анси, над совместимостью с юникодом на моей памяти никто не задумывался. |
спасибо
|
Не могу никак настроить прогресс бар при отмене установки установка все равно продолжается помогите пожалуйста...
Вот код Код:
type |
Помогите ! ! ! Зашёл в тупик не могу добавить шрифты в инстолятор
Название шрифтов: ANDLSO.TTF, ASROCK7SEGMENT.TTF, CONSTAN.TTF, CONSTANB.TTF, CONSTANI.TTF, CONSTANZ.TTF, CUPRUM.TTF, NeogreyMedium.otf ,NeogreyRegular.otf, XVMSymbol_4.0.ttf Путь к шрифтам: MODS\FONTS\ |
У меня такой вопрос как сделать при установке поле в которое вписываеш слово и оно в последующем заноситься в ini файл в определенное место и сохраняеться в карневой папке установленого проекта
|
Цитата:
|
доброе время суток. как сделать так, чтобы при выборе компонента portable в SelectDirPage стояла кнопка установить вместо кнопки далее?
вот пример |
habib2302, может просто добавить аналогично твоему же примеру
|
habib2302,
Код:
procedure CurPageChanged(CurPageID: Integer); |
КОМРАДЫ! Подскажите пожалуйста реализацию скрипта: "с возможностью обновления программы"
пример: установщик перед началом распаковки новых файлов - проверяет не только их наличие в системе но и их состояние в часности, та программа которую пользователь пытается обновить - уже запущена, следовательно скрипт должен отправить приложению мессагу что бы та благополучно закрылась и только потом уже копировал файлы с заменой. собственно интересует реализация: 1. проверяем, запущена программа или нет 2. если запущена то закрываем её полагаю что где то рядом с [Setup]: CloseApplications но как юзать не догнал ( |
novahudonoser, шапка - Ссылки на примеры скриптов: - Запущен ли процесс (WMI)/Запущен ли процесс - Закрытие процесса - изучай, применяй.
|
пример закрытия приложения не компилится (
http://joxi.ru/y_XWUhjKTJBsG5SWhto |
кстати Сборник скриптов в формате chm не пашет http://joxi.ru/fvvWUhjKTJBtGxme7BI
|
Цитата:
|
Помогите сделать второй чекбокс для бекапа.
Код:
[_Code] ![]() |
Цитата:
И пример попроще, без массива. Действие назначено только для чекбокса MyTask: P. S. На форуме полно примеров, как создать кастомный чекбокс. |
Цитата:
|
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
однако код не компилится http://joxi.ru/RsHXUv3JTJAILoANWhM Код:
[Setup] |
novahudonoser
[code] должно стоять #define A = (Defined UNICODE) ? "W" : "A" |
ой, [code] я забыл поставить да
только ошибки не кончаются ( http://joxi.ru/stXXUv3JTJAALiyxiR0 походу это стандартная win32 функция не знаю как inno подключает win32 api возможно, необходим некий "include", "import", "using" или что-то подобное подскажите братцы |
novahudonoser
[code] function GetLogicalDrives: DWord; external 'GetLogicalDrives@kernel32.dll stdcall'; |
http://joxi.ru/EenXUv3JTJDlct1uZX4
я уже не уверен что это вообще заработает может ктонить запустить у себя проверить что не так с этим кодом? |
Не срабатывает кнопка отмены во время распаковки файлов помогите весь код просмотрел так и не нашол причину
Код:
const |
Ладно
покуда нет решения как корректно завершить процесс на этапе установки спрошу ещё вот что: есть небольшой код который находит запущенный процесс интересует следующее, как его допилить чтобы установщик отключал кнопку [Далее] дабы пользователь выполнил требование (закрыл требуемый процесс) Код:
function IsProcessRunning(FileName: String): Boolean; |
Цитата:
Цитата:
---------------------------------------------------------------------------------------- Только правильней будет проверять все это дело на этапе инициализации, с выводом MsgBox с соответствующим сообщением, если будет обнаружен запущенный процесс приложения, дабы не ввергнуть пользователя в недоумение, при виде неактивной кнопки "Далее". ---------------------------------------------------------------------------------------- И пример от El Sanchez, адаптированный под ваши нужды(обнаружение запущенного процесса и его закрытие по запросу). |
Цитата:
Есть ещё такой вопрос. Планирую перекинуть некоторые файлы на сервак. На данный момент файл или папка устанавливается только если выбран нужен компонент. Встречал скрипт как закачивать файл с нета но я никак не могу связать с компонентами. Нужно так чтобы если компонент выбран происходила загрузка файла. Если возможно; файлы в .zip можно будет розпаковать?. Спс. |
Цитата:
запустил злощастный код, вылезло следующее: http://clip2net.com/s/6C13Ab дважды переставил и ANSI и UNICODE попробовал, что ж за беда то такая.... |
Цитата:
Цитата:
|
saurn, крутяк!
скопировал из твоего архива Default.isl и всё заработало. Огромное спасибо за помощь. |
как на этапе установки MsgBox присвоить свой title текст?
а то сейчас там одно не информативное слово "Установка" http://clip2net.com/s/6C1B8x Код:
function InitializeSetup(): Boolean; |
Цитата:
Код:
MsgBoxEx(Application.Handle, 'Текст сообщения.', 'Заголовок формы', MB_YESNO or MB_ICONWARNING, 0, 0); Расширенный вариант от Johny777 |
а кто ещё подскажет как на этапе деинсталяции завершить процесс?
я пробовал пример из Inno Faq 1.4.chm используя ISTask.dll но она не робит, точней не находит процесс и деинсталяции проходит в нормальном режиме Код:
[Files] |
|
novahudonoser ISTask.dll работает только в ansi в unicode не работает
|
ISTaskU.dll
Как-то давно скомпилил ISTask.dll от Genri для юникодовой Inno Setup. Большой размер, из-за использования Delphi XE3. |
ребят, есть ещё одна задача которую мне не осилить, помогите плиз!
надо перед установкой проверять наличие REG_SZ ключа в реестре путь к ключу HKEY_LOCAL_MACHINE\SOFTWARE\TimeCalculator http://clip2net.com/s/6CtciX если ключ есть то: > не показывать http://clip2net.com/s/6Ct3EB данную страницу, а путь для установки брать из ключа path и продолжать установку если ключа нет то: > продолжать установку в штатном режиме (со страницей выбора пути) |
|
при отсутствии ключа выдает http://clip2net.com/s/6Cxvf0
|
Цитата:
|
ой, тупанул )
спасибо большое мил человек, всё работает! ещё вопросы, если позволите: 1. как удалить тот ключ при деинсталяции 2. как вывести строковый Label на последней странице в котором была бы информация о используемом пути а то в случае пропуска страницы с выбором пути - юзеру остаётся догадываться куда прога установилась |
Цитата:
Код:
[Registry] Цитата:
|
Цитата:
но впринципе её можно показать когда путь берётся из реестра, вопрос только как ) |
|
по Вашему примеру в обоих случаях (с ключом и без) ReadyPage не отображается
поясню что хотелось: когда программа устанавливается впервые (ключа в реестре нет) то ReadyPage не показываем, поскольку пользователю будет предложено самому выбрать путь к программе а при последующих установках апдейтов - ключ в реестре уже будет, следовательно путь пользователю выбирать предлагаться не будет вот в этом случае можно и показать ReadyPage чтобы напомнить ему куда апдейт установился. |
novahudonoser, так вы DisableReadyPage=yes из секции Setup уберите
|
Всем привет кто нибудь может дать скрипт с функцией музыки ,чтобы я легко мог поставить на свой , спасибо зарание :)
|
novahudonoser, saurn, чё велосипед то изобретать?
|
saurn, так я её закоментил...
http://clip2net.com/s/6CzeTh Цитата:
|
nik1967, там, если ключ есть, нужно пропустить страницу выбора папки, так что все равно лезть в код, походя и поиск папки сделал через код, разница не велика.
novahudonoser, проверил еще раз http://forum.oszone.net/post-2291503-1878.html, все работает, как и положено. |
Цитата:
возможно конфликтует с другими функциями кода, хз ( |
novahudonoser, скрипт покажитте
|
Вложений: 1
пример
|
novahudonoser, немножко допилил и причесал скрипт. Проверил: страницы пропускаются и показываются, как и требуется.
|
да, теперь работает всё как надо!
большое тебе человеческое спасибо saurn не знаю как по батюшки. в чём был косяк полагаю спрашивать бесполезно... |
Цитата:
|
я перед постом скрипта по ошибке закоментил не то
так то он был выключен, я уже показывал скрин http://clip2net.com/s/6CzeTh вообщем пофик, ещё раз спасибо за терпение и потраченное время. |
Как через ботву наложить Edit чтобы можно было выделять покажите пожалуйста пример
|
Здарова всем я взял Bass и поставил на свой скрипт музыка играет но как можно добавить кнопку вкл\выкл , кто знает ответьте зарание спасибо :)
|
diman_21Ru,
Покажи скрипт |
я в личку кину тебе
|
diman_21Ru, Куда прикрутить вверх или низ
|
в верх наверное
|
Цитата:
|
Цитата:
|
Ivan_009,ну как готово чтоли для меня там :)
|
diman_21Ru, В личке
|
Ivan_009 edit можно наложить на картинку только за чем он же не прозрачный и смысла нету это делать
|
vint56, А чтобы он прозрачный был и выделять можно как так сделать чет непойму.
Или только через ISPicture2 можно... |
Покажите пожалуйста пример плавного открытия и закрытия инсталлятора... Зарание спасибо...
|
Цитата:
P.S diman_21Ru, Пробуй иногда пользоваться поиском. |
всем привет! два вопросика:
1. как отключить регистрацию в списке установленных программ и формирование unins000.dat unins000.exe файлов (нужен инсталятор чтобы только распаковал файлы в нужном месте и без "свидетелей", путь копирования файлов берётся из ключа в реестре) 2. если ключа нет - выводим мессейдж: Код:
function GetInstallDir(const Default: String): String; |
|
Mailchik, спасибо
только при обнаружении ключа, инсталер показывает ReadyPage http://clip2net.com/s/6DuYQR чего хотелось бы избежать ранее saurn мне подсказывал на этот счёт Код:
function ShouldSkipPage(PageID: Integer): Boolean; |
novahudonoser,
Код:
[Setup] |
на данном этапе да, скрывать по условию больше не требуется
механизм обновления в последствии будет полностью автоматическим, это так сказать слеующий шаг к её реализации (пока полуавтоматический) ) вот код, и всё вроде так, а страница таки вылезает Код:
[Setup] |
|
да, только месейдж при условии отсутствия ключа
|
|
беда... http://clip2net.com/s/6DzikK
всё из-за появляющегося диалога http://clip2net.com/s/6Dzm7J если ответить нет - то инсталятор не выгружается можно сделать чтобы вопросов вообще не возникало? |
Цитата:
Код:
[Setup] |
доброе время суток. мне когда давали скрипт на предварительное удаление приложения. как сделать, чтобы скрипт срабатывал не сразу после запуска инсталлятора, а перед установкой при выборе определенного компонента.есть еще одна проблема.я делаю репак ultraiso и при выборе русского языка в компонентах то после установки или распаковки вместо русского стоит украинский
вот основная часть скрипта которая связана с языком Код:
[Tasks] |
Цитата:
|
Как обьединить в одну страницу
|
Ivan_009, использовать вместо Tasks - Components (то есть в секции Components разместить нужные задачи). Ну или сделать родителем для элементов Components - SelectTasksPage.
|
Как через ботву наложить такую форму чтобы зеленые края потом были прозрачные
|
доброе время суток.как сделать чтобы при выборе компонента portable не вносились изменения в реестр в самом APPID на 1 скрине
и чтобы не появлялись подобные сообщения на 2 скрине |
Цитата:
Код:
[Components] |
Цитата:
Код:
[Setup] |
Доброго времени суток!
Возник вопрос, может кто подскажет. Вот есть инсталлятор с кучей кастомных формочек, куда по ходу установки пользователь должен что-то вводить. Можно ли как-то использовать такой инсталлятор в "тихом" режиме и передавать данные, которые "ввел пользователь" параметрами? Вариант просто забивать в коде какие-то значения по умолчанию в случае, если пользователь ничего не ввел, не подходит, т к данные могут быть разные |
Shkutu, на скорую руку в голову пришел такой вариант:
Уверен, можно сделать и лучше. |
saurn, если я правильно поняла - это не совсем то, что мне нужно. Ваш способ все равно ведь предполагает задание значений необходимых параметров в коде (хотя и более вариативно, чем использование 1 значения по умолчанию). А требуется, чтобы в качестве значение параметра мог задать сам пользователь по своему усмотрению.
Хотя сама идея просто парсить GetCmdTail может помочь, спасибо:) А вот еще вопрос. Можно ли запускать компиляцию инно скриптов через командную строку? Пробовала просто Compil32.exe <script.iis> - но в этом случае скрипт просто открывается UPD. С компиляцией из командной строки уже разобралась. Оказывается, просто ключа "/сс" не хватало. Все-таки у инно довольно подробная справка:) |
|
saurn, да, спасибо, как раз тоже про ParamStr подумала :)
|
Здравствуйте форумчане! Подскажите, пожалуйста, как осуществить соединение 2-х страниц:
Сейчас так: хотелось бы получить: |
|
Nordek, Спасибо! А как теперь скрыть страницу выбора папки установки?
|
Ребята ,помогите пожалуйста музыку вшить в инсталл - http://www.fayloobmennik.net/3517255
|
TAY50N
function ShouldSkipPage(PageID: Integer): Boolean; begin if (PageID = 6) then Result:= True; end; |
Цитата:
Код:
[Setup] |
vint56, Nordek, Ура заработало! Спасибо! С этим разобрался!
Подскажите где почитать или как сделать описание (маленькими картинками) в окне "Выбор компонентов" к модам при наведении? |
|
Большое Спасибо! :)
А есть пример где картинкам отведено определенное место? т.е. все описания будут отображаться в строго определенной области. |
Цитата:
Покажи код только... |
Всем привет. Недавно переустановил ОС и после установил расширенную версию Inno Setup когда компилирую установщик появляются вот такие ошибки.
![]() ![]() ![]() Из-за чего они могут появляться, и можно это как-то устранить? |
Как наложить чекбокс через ботву и задать функцию, чтобы при выборе устанавливался дополнительный софт через секцию [code]... Покажите пример пожалуйста...
Цитата:
|
Цитата:
Замени Код:
SetBounds(ScaleX(pt.x + 16), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height); Код:
SetBounds(ScaleX(700), ScaleY(410), InfoPic.Width, InfoPic.Height); |
Ivan_009, http://rghost.ru/51921076
|
Ivan_009,
http://www.fayloobmennik.net/3519701 |
Farser21, Не знаю что у тебя но у меня все тип топ. Навсякий случай скачай и замени модуль BASS...
Dinvin4ester,Скачай тоже примеры использования внутри. Ссылка: http://rghost.ru/51921479 |
Dinvin4ester
http://rghost.ru/51921808 |
vint56, Ivan_009,
Спс. |
Ivan_009, спасибо помогло!
Возникли еще вопросы, надеюсь поможете. 1)Как сделать так, чтобы когда устанавливаешь компоненты, можно было поставить флажок на удаление старых компонентов в определенной папке. 2)Как сделать авто определение установки, т.е. установщик сам выбирает нужную папку куда устанавливать. Заранее спасибо за ответы! |
Цитата:
т.е. когда наводится указатель на какой либо мод - картинка мода, отображается вместо WizardImageFile Как это осуществить? Заранее Спасибо! |
Цитата:
Цитата:
------------------------------------------------------------------ Читайте форум. Эти вопросы давно уже заезжены-переезжены. ------------------------------------------------------------------ Цитата:
|
Цитата:
И еще одно - как сделать чтобы было 0,0 скрипт: |
Цитата:
Код:
[Setup] |
saurn , спасибо за ответ.
Уточняю второй вопрос. 2)Как сделать авто определение установки, т.е. установщик сам выбирает нужную папку куда устанавливать Смотри предположим мне нужно, чтобы компоненты устанавливались в игру World_of_Tanks, но у кого-то на компе допустим эта папка называется просто WOT. Или допустим чтобы установщик находил папку в которой находиться файл WorldOfTanks.exe. Если будет поиск по указанному имени например World of Tanks, то не факт, что у кого-то папка называется именно так. Тогда получается нужно через реестр, расскажите пожалуйста как это сделать! Заранее спасибо! |
Цитата:
Код:
[Setup] InstallLocation: строковый параметр, содержащий полный путь к папке с установленной игрой. |
saurn, игра должна находиться на системном диске? И если я так сделаю то будет автопоиск данной игры независимо от название папки?
|
Цитата:
|
saurn , спасибо сейчас попробую. А если у человека другой путь к этой игре на компе? Установщик найдет её?
|
Цитата:
|
|
Farser21, ищите ветку реестра игры в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
|
Цитата:
Farser21, В случае если игра будет не найдена то можно добавить альтернативный путь: Код:
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyApp_is1,InstallLocation|{pf}\Альтернативный путь} |
saurn , Искал не нашел, игра только здесь. HKEY_CURRENT_USER\Software\Wargaming.net\wot\Launcher
Что, я сделал не так? http://rghost.ru/51936562 |
|
Цитата:
|
saurn и Nordek, спасибо за вашу помощь. Теперь все находит.
Как убрать это окошко? ![]() Заранее спасибо! |
Цитата:
|
Здравствуйте, подскажите как сделать автозапоминание компонентов при следующей установке
|
saurn, Спасибо
|
saurn, я попробовал способ удаление старых компонентов который вы скинули это немного не то.
Возможно вывести сюда галочку на удаление компонентов? ![]() |
Цитата:
Если же чистая установка, то воспользуйся параметрами командной строки: Цитата:
Код:
Твой_инсталлятор.exe /SAVEINF="setup.ini" Цитата:
Код:
Твой_инсталлятор.exe /LOADINF="setup.ini" |
при установке поверх установки из того же инсталлятора
галочки всё равно не запоминаются |
|
saurn,ну вот у меня есть папка res_mods, чтобы удалить все содержимое этой папки
|
Добрые люди, скажите пожалуйста, как в inno setup сделать так, чтоб человек выбирал свою операционную систему, и в соответствии с его выбором в установленную директорию копировался файл1 или файл2.
При этом нужно сделать так, чтоб человек не упустил этот пункт выбора ОС, т.к. от этого в итоге зависит работоспособность приложения. Я пробовал добавлять в установщик пункты radio button, но там проблема в том, что по дефолту один уже выбран, а сделать так, чтоб небыло выбрано ничего нельзя (unchecked работает только на 1 пункт) Пробовал модифицировать диалог выбора языка на диалог выбора windows, но проблема почти такая же что и с radio buttons - изначально уже выбрано что-то, а переделать его графически не представляется возможным. В общем нужно чтоб человек сам выбрал свою версию ОС, и его не пускало дальше, если он не сделал выбор. Спасибо! )) |
Цитата:
Код:
[Files] |
Nordek,
Большое спасибо, однако в дальнейшем планирую не только выбор ОС предлагать пользователю, но и выбор языка приложения, поэтому лучше наврено чтоб он сам выбрал. ВО вторых я не сильно доверяю автоматическому определению )) Например когда выйдет 8.2, а в установщике он не прописан, что будет в таком случае делать установщик? И скажите еще пожалуйста, как здесь указать несколько версий виндус? MinVersion: 0,5.01 Через пробел не получается :) И нужно ли для сервис паков (sp1, sp2) указывать тоже, или достаточно просто указать для XP, и туда войдут все SP? Или MinVersion можно перевести буквально - минимальная версия виндус? И если я указжу в первый ХР, а во второй 8, то в первом будет все от ХР до 7 включительно, а в 8 от 8 и дальше включительно? |
|
Цитата:
MinVersion - Минимальная версия Windows | начало т.е от OnlyBelowVersion - Только ниже версия Windows | конец т.е до Пример 1 Код:
[Files] Пример 2 Код:
[Files] |
Всем привет кто может помочь как можно что бы наводя на программу или мод картинка выходила в специальный уголок как на скрине !
|
diman_21Ru, было несколькими страницами ранее http://forum.oszone.net/post-2296393-1949.html
|
TAY50N,какие строчки ты именно добавил чтобы наводя на мод выходила картинка с боку ?
|
а можете подсказать как сделать проверку на процесс WorldOfTanks.exe
если процесс включен, то установить дальше не возможно, пока не выключишь игру |
innot20, шапка => Показать/скрыть: Ссылки на примеры скриптов: => Запущен ли процесс (WMI), Запущен ли процесс
Когда же вы будете сами что-то искать? |
saurn , спасибо все работает!)
|
Вложений: 1
innot20,
Код:
[Setup] |
Ктонить может подсказать, как правильно через секцию [Cоde] попросить cmd.exe, чтобы он запустил определённый батник? При том чтобы консольное окно не появлялось.
Пробовал вот так: Код:
Exec(ExpandConstant('{cmd}'), '/c start "Delete empty folders" "' + ExpandConstant('{app}\Delete empty folders.bat') + '"', ExpandConstant('{app}'), SW_HIDE, ewWaitUntilTerminated, ResultCode) |
Raf-9600, батники можно запускать и без cmd, например так
Код:
Exec(ExpandConstant('{app}') + '\Delete empty folders.bat', '', '', SW_HIDE, Код:
Exec(ExpandConstant('{cmd}'), '/C ' + ExpandConstant('{app}') + '\Delete empty folders.bat' , '', SW_HIDE, ewWaitUntilTerminated, i) |
делаю так чтобы удалить старые компоненты но выходит ошибка кто знает в чем проблема ?
[InstallDelete] Type: filesandordirs; Name: "{app}\res_mods"; Check: IsChecked(); [Dirs] Name: "{app}\res_mods"; Check: IsChecked(); Name: "{app}\res_mods\0.8.11 Common Test"; Check: IsChecked(); [code] var InfoPic: TBitmapImage; LastIndex: Integer; TempPath: String; PicForm: TForm; deleteChk: TCheckBox; procedure InitializeWizard(); var i, iCount: Integer; begin for i := iCount downto 0 do WizardForm.ComponentsList.Checked[i]:= False; deleteChk := TCheckBox.Create(nil); with deleteChk do begin Parent := WizardForm.SelectDirPage; SetBounds(ScaleX(0), ScaleY(115), ScaleX(400), ScaleY(15)); Caption := 'Удалить старые компоненты'; Checked := True; function IsChecked(): Boolean; begin Result := deleteChk.Checked; end; |
Цитата:
|
TAY50N ,т.е второй надо делать а не как на первом ?
|
Цитата:
Код:
procedure InitializeWizard(); |
diman_21Ru, вот:
http://forum.oszone.net/post-2296199-1941.html |
|
TAY50N , у меня она выходит на середину как бы мне можно тут все поменять т.к расширить низ верх и сделать попопам как тут ?
|
Цитата:
|
saurn ,ошибка выходит с deleteChk .
|
Цитата:
|
saurn =) http://rghost.ru/51965901 вот убрал deleteChk это чтобы не было ошибки
|
Цитата:
если процесс не выключен, то при нажатии далее не будет ничего происходить пока не выключишь процесс |
Вложений: 1
diman_21Ru, скрипт во вложении.
|
Цитата:
Попробуй так |
|
saurn, запустил танки, запустил установщик и установил все моды без проблем, то что включен процесс сообщений не выдало
|
saurn,
|
saurn , огромнейшее тебе спасибо :)
|
Цитата:
|
Цитата:
|
Спасибо всем за помощь
|
|
Цитата:
|
помогите пожалуйста ещё сделать проверку на версию игры
считать версию игры можно 3 способами 1. файл version.xml его содержимое: Код:
<version.xml> есть версия файла Код:
0.8.11.0 содержимое первых 3 строчек Код:
<root> |
innot20, по версии файла встроенными функциями:
function GetVersionNumbers(const Filename: String; var VersionMS, VersionLS: Cardinal): Boolean; VersionMS и VersionLS типа Cardinal объявить заранее, в них будут номера версии. function GetVersionNumbersString(const Filename: String; var Version: String): Boolean; тут номер версии вернется строкой. Filename - полный путь к файлу, чью версию нужно узнать. справка - :up сила. |
|
innot20, Если же в случае отсутствия файла допустить установку, то так:
Код:
[Setup] Цитата:
Справка-то сила, но в пределах разумного. |
Nordek, ты прям такой умный. Почему тогда не проверить версию файла встроенными средствами? Или только и умеешь, что криво переделывать чужие примеры? Делай тогда уже правильно, раз весь из себя такой великий гуру.
То, что ты как-бы переделал: у тебя на странице выбора папки нет положительного выхода, только отрицательный. делается это так: далее на встроенной функции: сложно что-ли набросать пример, если считаешь человека ущербным? P.S. Поскольку условий больше одного, то правильным будет оповестить, какое именно условие не дает идти дальше: |
|
Nordek,
|
|
Попытка добавления в реестр следующей записи вызывает при установке ошибку 87 в ф-ции RegCreateKeyEx - это баг Inno или я чего-то не знаю об экранировании одиночных кавычек?
Код:
Root: HKLM; SubKey: Microsoft\Windows\CurrentVersion\Control Panel\don't load; ValueType: string; ValueName: LClock.cpl; Components: soft\lclock; Flags: uninsdeletevalue |
XXXler, Ты SOFTWARE пропустил:
Код:
[Registry] |
Всем доброго времени суток!
А нет ли какого-нибудь примера по использованию эмуляции дефайнов/прагмы при компиляции из командной строки? Надо передавать версию приложения через параметр в командной строке при компиляции, но не совсем понимаю, как это правильно сделать. |
Возможно ли вот сюда загнать картинку которая в фоне самого инсталла...
|
Ivan_009, возможно. в расширенной версии есть для этого несколько функций. в папке с инно есть папка примеров, называется Examples, тебе нужен пример с названием Example_NewCheckListBox, там несколько разных фишек, тебе нужна только функция LoadBGBmpFromFile. Только вместо кастомного CheckListBox вписываешь свой - компонентлист или тасклист - чего там хочешь картинкой занавесить.
|
Ivan_009,
Код:
[Components] |
Парни, хорош сраться! Пардонте за оффтоп.
|
nik1967, Да всё нормально.
А это Цитата:
|
Nordek, Да и кстати как убрать замыленность текста потом...
|
Ivan_009,
Код:
WizardForm.ComponentsList.Font.Name := 'MS Sans Serif'; |
Gnom_aka_Lexander, А если я хочу картинку не на ComponentsList а на всю форму чтобы было типа так.
То мне надо ее на BitmapImage ложить или на WizardForm... |
Вложений: 1
Ivan_009, не так. тебе нужно положить BitmapImage на WizardForm и все, что лежит между WizardForm и ComponentsList
Я делал так вставку картинки на все страницы, мож кому пригодится. |
Gnom_aka_Lexander, Так:
Код:
BGBitmapImage := TBitmapImage.Create(WizardForm); |
Ivan_009, примерно. это если компонент-лист лежит у тебя прямо на WizardForm. тогда отдельно распаковывать файл изображения для компонентлиста не обязательно, можно взять битмап изображения с BGBitmapImage и вместо LoadBGBmpFromFile использовать LoadBGBmpFromBitmap:
Код:
WizardForm.ComponentsList.LoadBGBmpFromBitmap(BGBitmapImage.Bitmap, WizardForm.ComponentsList.Left, WizardForm.ComponentsList.Top); |
Gnom_aka_Lexander, Если я правильно понял то как то так:
Код:
|
Цитата:
Цитата:
Далее не относится к теме, но относится к шрифту: Gnom_aka_Lexander, Ты возможно тоже будешь удивлён, но в "C:\Program Files\Inno Setup 5\ISLanguages" в файле "Russian_ansi.lng" (у меня Tahoma в нём по умолчанию) если заменить DialogFontName=Tahoma на DialogFontName=MS Sans Serif то в Inno Setup Compiler будут отображаться русские буквы вместо непонятных иероглифов. Ivan_009, И как, нормально компилится? В WizardForm.ComponentsList под TreeViewStyle := True; лишний end; убери. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Как обьеденить ComponentsList и TasksList в одну страницу... |
Цитата:
Выбирай как больше нравится. |
Nordek, У меня все на WizardForm лежит. Эти примеры не работают... :(
|
|
Цитата:
|
Ivan_009, Если вешать на SelectComponentsPage, то задач не будет пока не перейдёшь на страницу самих задач. А когда возвратишься к компонентам то задачи появятся.
Если так же секции [Components] не будет, то и вовсе будет скрыто - в этом случае можно было бы повесить на SelectTasksPage. Но опять же если секции [Tasks] не будет, то и компоненты будут скрыты. Можно повесить на новую страницу: но и тут не без нюансов - если секций [Components] и [Tasks] не будет, то будет пустая страница. |
Всем привет ! как добавить в установщик функцию нахождение игры ?
|
diman_21Ru, Как я прав:
Цитата:
Если покопаться, можно с десяток таких найти. |
Ребят не ругайтесь, я посмотрел примеры, не нашёл
может плохо искал, хз задача такая, по окончании установки в окне финиша нужна галка "открыть страницу в интернете" с ссылкой на сайт сейчас имеется: [Run] Filename: "{app}\TimeCalculator.exe"; Description: "Запустить программу"; Flags: nowait postinstall skipifsilent Filename: "{app}\TimeCalculator.chm"; Description: "Открыть справку"; Flags: shellexec nowait postinstall skipifsilent |
Nordek ,спасибо :)
Nordek,нет тут совершенно не те ссылки мне надо при обзоре чтобы именно там указывать ярлык игры , ! |
Цитата:
Код:
[Run] |
Как сделать чтобы в конце установке была галочка зайти в игру , зарание спасибо :)
|
Код:
[Run] |
innot20 ,спасибо
|
Цитата:
Код:
[Run] Цитата:
|
а любой браузер туда вписать можно ?
|
Цитата:
|
Nordek , не знаешь как функцию включить обнаружение ярлыка при выборе папки чтобы в другую не устанавливать а именно в эту , как у Jove в мод-паке !
|
diman_21Ru, не проще бы справку качнуть? :read:
|
что за справка ещё ?
|
Сообщение удалено.
|
Приветствую всех!
Есть вопрос. Нужно задавать версию приложения как параметр командной строки при компиляции. Пробовала так Код:
"C:\Program Files (x86)\Inno Setup 5\iscc" /dMyAppVersion=7.5.2 "D:\ucs\ressrv.iss" И так Код:
AppVersion= {#MyVersion} - в коде Может, кто подскажет, как это правильно можно сделать? |
Shkutu,
Код:
"C:\Program Files (x86)\Inno Setup 5\iscc" "/dMyAppVersion=7.5.2" "D:\ucs\ressrv.iss" Код:
"C:\Program Files (x86)\Inno Setup 5\iscc" "/dMyVersion=7.5.2" "D:\ucs\ressrv.iss" |
diman_21Ru, http://i.imgur.com/hH7GmTR.png
|
alert30, А поаккуратней нельзя?
![]() Это форум, а не помойка трупов на утилизацию. Тем более всё выкачивать не обязательно. Достаточно Русской справки в формате .chm - в неё вошло большинство инфы из того что есть в шапке. |
Подскажите как попроще сделать апдейт и анинстал?
|
Цитата:
|
Цитата:
|
Всем привет можно ли как у Jove в мод-паке сделать выбираешь папку с игрой если найдет ярлык игры то моды ставятся именно туда , зарание спасибо :)
|
diman_21Ru, в качестве примера: если в выбранной папке найден требуемый файл, в качестве пути установки будет выбран путь к корневой папке файла, если не найден, путь установки сбросится на дефолтный.
|
saurn ,что то не получилось (
|
Цитата:
Код:
procedure DirEditOnChange(Sender: TObject); |
ок попробую
|
вообще не как не получается кто сможет в скрипт добавить !
|
Есть код, в котором при деинсталляции удаляется папка с сохранениями:
Код:
procedure DeleteSavedGames(CurUninstallStep: TUninstallStep); Как исправить? |
diman_21Ru, Путь надо указать пример запуск игры после установки
Код:
var |
Ivan_009, попрежнему моды ставятся в любую папку (
|
Цитата:
|
Всем добрый вечер. Хочу спросить:
1) Можно ли сделать объект WizardForm.InfoBeforeMemo без заднего фона (т.е. прозрачным) (без ботвы) и если нет, то какой объект можно взять вместо него у которого есть прозрачность и скроллбар? 2) Чем отличается Код:
SendMessage(WizardForm.CancelButton.Handle, $00F5, 0, 0); Код:
WizardForm.Close 3) С чем связана ошибка Память не может быть read. Появляется она один раз после установки когда нажимаешь на кнопку заершить и больше она не появляется, хоть сто раз устанавливай. Спасибо!!! |
Всем привет можно ли как у Jove в мод-паке сделать выбираешь папку с игрой если найдет ярлык игры то моды ставятся именно туда , зарание спасибо
|
Всем привет.
Кому не сложно подскажите, пожалуйста, какой код отвечает за фунцию вывода сообщений: "Вы действительно хотите удалить..." и "...полностью удалена с Вашего копьютера" |
Вложений: 1
Цитата:
Ваш код я вставил на 1420 строке. |
Вложений: 1
Цитата:
|
Почему шрифт отображается на разных системах поразному? Как добиться идентичности отображения...
P.S Шрифт был использован "Trebuchet MS" тест на Win 7 и Win XP... |
ответьте пожалуйста на мой вопрос кто знает , очень нужна 'та функция что писал выше, зарание спасибо
|
|
diman_21Ru, чем не устраивает такой вариант?
|
А как исправить лишние разы Путь установки будет сброшен на значение по умолчанию , допустим диск раздел выбераешь уже Путь установки будет сброшен на значение по умолчанию потом папку с игрой уже Путь установки будет сброшен на значение по умолчанию тока лишь на саму игры уже нету ошибки
|
Цитата:
Runtime Error (at 284:38) Внутренняя ошибка: An attempt was made to access UninstallProgressForm before it has been created. |
Парни ну помогите мне с моими вопросами, надо очень :)
|
Цитата:
Цитата:
|
saurn,спасибо :)
|
Как через код включить сглаживание шрифта в Windows XP...
|
Цитата:
|
отметил уже
|
|
habib2302, дословно: "Неизвестный идентификатор ImgLoad". Копайте в сторону ботвы.
|
Здравствуйте, подскажите пожалуйста как сделать backup папки res-mods
|
innot20
|
Как удалить иконку в левом верхнем углу...
|
Ivan_009
Код:
WizardForm.BorderStyle := bsDialog; //или BorderIcons := []; |
saurn, А чтобы кнопка свернуть и закрыть только осталась...
|
|
Как зделать вот так без использования различных библиотек включая IsPicture2...
|
|
innot20 ,Здравствуйте, подскажите пожалуйста как сделать backup папки res-mods , А можно ли кнопку добавить к сохранением папки модов ?
|
Цитата:
Может кому пригодится :wink: |
Цитата:
|
Как можно удалить Меню «О программе». Зарание спасибо...
Проще говоря все это меню... |
Цитата:
http://forum.oszone.net/post-1660375-1363.html |
Как сменить цвет текста Caption?
[code] // backup Код:
#define A = (Defined UNICODE) ? "W" : "A" |
Всем привет.
Кому не сложно подскажите, какой код отвечает за фунцию вывода сообщений: "Вы действительно хотите удалить программу?" и "Программа была полностью удалена с Вашего копьютера." |
saurn ,резервную папки модов сохраняет а как сюда добавить значек ?
|
|
Как сменить эту надпись
|
разве не AppName=
|
Цитата:
Код:
[Messages] Код:
[Messages] Код:
[Messages] Код:
[Messages] |
Nordek, :no: Ты меня не так понял. Мне нужно через код.
Нужно точно так же, но только с формами: "Вы действительно хотите удалить программу?" и "Программа была полностью удалена с Вашего копьютера." :spiteful: |
Подскажите пожалуйста вот есть код резервную папку res_mods сохраняет , но как можно добавить значек вот сюда ?
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program OutputDir=. [Files] Source: C:\Windows\Fonts\*; DestDir: {app}\res-mods; Flags: external overwritereadonly ignoreversion; [code] #define A = (Defined UNICODE) ? "W" : "A" function MoveFile(const srcFile, destFile: PAnsiChar): Integer; external 'MoveFile{#A}@kernel32.dll stdcall'; procedure IsBackup(const FromDir: String; const ToDir: String); var fileArray: array of String; FindFiles: TFindRec; i, Len: Integer; begin if not DirExists(FromDir) then Exit; fileArray := ['*']; Len := GetArrayLength(fileArray) - 1; for i := 0 to Len do begin if FindFirst(FromDir + fileArray[i], FindFiles) then try repeat if not DirExists(ToDir) then CreateDir(ToDir); MoveFile(FromDir + FindFiles.Name, ToDir + FindFiles.Name); until not FindNext(FindFiles); finally FindClose(FindFiles); end; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssInstall: IsBackup(ExpandConstant('{app}\res-mods\'), ExpandConstant('{app}\Backup\')); end; end; |
Цитата:
diman_21Ru, Твоя очередь когда нибудь придёт - У тебя два варианта: Либо ждать, либо самому делать - а не плодить сообщения. Цитата:
Захвати свой код в тег [CODE][/CODE] - здесь написано как это делается, и спрячь под спойлер тегом [MORE][/MORE]. Учись - у тебя есть возможность. |
Nordek,сори за назойливость крайне срочно нужна кнопка :)
|
diman_21Ru, В коде обрати внимание на Parent := WizardForm.SelectDirPage;
меняешь значения в зависимости от того на какой странице хочешь чтоб отображалось, например: |
Цитата:
|
Код на резервные копии папки res_mods не работает вместо этого он добавляет шрифты какие то (
использовал код #2113 |
Цитата:
Цитата:
Цитата:
|
При использовании
const ID_ASTERISK = 65583; ... Icon.Handle := ID_ASTERISK; на 7 и 8 все норм. а на xp отображается другая иконка. Если даже сделать проверку на систему, то какое значение должна принимать иконка на xp? |
не могу не как добавить в свой скрипт функцию от Цитата innot20: а возможно ли это вывести при выборе папки установки? »Конечно. читать дальше »
|
Цитата:
|
А как тут указать путь чтобы папку видел без разделов т.е это для бекапа папки res_mods Source: C:\Windows\Fonts\*; DestDir: {app}\res-mods; Flags: external overwritereadonly ignoreversion;
|
saurn, все норм спасибо. Я не знал как LoadIcon использовать в inno, скорее как прописать функцию.
|
Цитата:
Source: путь к папке с устанавливаемыми файлами (здесь указываете местоположение файлов, которые будут устанавливатся) DestDir: папка, в которую будут установленны файлы Справку читайте. |
Цитата:
|
Цитата:
|
Цитата:
Нужно вставлять корректный скрипт - который после компиляции на выходе будет работать. Уметь правильно работать с тегом [code]. Помочь - это одно дело, а переделывать и что-то там искать - это другое - чувствуешь разницу? Перед тем как выложить, нужно предварительно проверить на работоспособность - без этого никак. Если вам вопрошающим лень рабочий вариант предоставить, то какого тем кто вам помогает? Да, здесь ещё есть и особенные типажи, которые любят поскринить - скриншот с ошибкой и больше ничего. Код тоже между прочим необходимо к скриншоту прилагать. В ответ ничего в голову не приходит как сделать такой-же скриншот с ответом - но так, чтоб было не понятно. Сорри - пафосно, но справедливо. |
Всем привет помогите пожалуйста с одним вопросом не как не могу сделать backup папки res-mods и вывести галочку в компоненты ниже в скрине указал , зарание спасибо :)
|
Как прописать только сколько Требуется места для установки и Занимаемое место после установки.
Зарание спасибо... (Если можно дайте пожалуйста пример) |
Цитата:
|
вопрос насчёт backup, галочку не выводит
получается надо добавить это: PHP код:
если просто PHP код:
Invalid prototype for 'IsBackup' procedure IsBackup(const FromDir: String; const ToDir: String); |
Почему неотображаютя кнопки вперед, назад, отмена... :o
Код: Код:
procedure InitializeWizard(); |
Цитата:
Код:
#define CUR_DIR "res-mods" ;Папка, которую нужно бэкапить. Цитата:
Цитата:
---------------------------------------------------------------------------------------------------------------------------------- Цитата:
Код:
with WizardForm.CancelButton do begin |
|
Nordek , да мне так надо , можешь скинуть код ? зарание спасибо :)
|
Цитата:
Хорошо, подчеркну: Цитата:
Знаете ли вы, то что вы спрашиваете здесь - здесь и остаётся. Все ответы которые вам предоставили - можно собрать и сделать уникальный скрипт без ошибок, а не как вы с кучей камней и дублями на тысячу строк. Затем готовый скрипт который будет лучше вашего как минимум в те же тысячу раз - выложить в интернет (поделиться со всем миром) Чтоб никто не украл, нужно самим всё делать. Чтоб никто не повторил, нужно быть элитным кодером (которые здесь действительно есть) а не горе-репакером. |
saurn, А если я буду накладывать лэйблы и бэвелы мне все время надо указывать BringToFront; или нет... :not-me:
|
Цитата:
А чтоб не плодить BringToFront, достаточно поместить ноутбуки на задний план: Код:
procedure InitializeWizard(); |
Цитата:
|
Хоть убейся но в скрипт backup папки res-mods и галочку в компоненты я не как добавить не могу =(
Если все же кто то может добавить мне это в скрипт я скину в личку только скажите :) |
Цитата:
С лёгкостью это наглядно покажу: Сообщение 1751, Сообщение 2116 - кому это всё пишется? Показываю на примере этого кода который предоставил saurn: |
|
Source: {app}res_mods*; DestDir: {app}res_mods_old; Flags: external overwritereadonly ignoreversion; выходит ошибка пи установке модов !
|
Приветствую!
Подскажите плиз, как можно изменять текст стандартных сообщений в коде (не через секцию Messages)? Нужно на InstallingPage менять текст в зависимости от различных условий |
habib2302
UPD: поправил пример Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); ------------------------------------------------------------------------------------------- Цитата:
Код:
Source: Папка, где находятся устанавливаемые файлы\*; DestDir: папка, куда файлы устанавливаются; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; |
Цитата:
Код:
Source: {app}\res_mods\*; DestDir: {app}\res_mods_old; Flags: ignoreversion overwritereadonly createallsubdirs recursesubdirs; Код:
recursesubdirs - Обрабатывать подкаталоги Код:
external - Внешний источник (это значит что если флаг external присутствует, то файлы и папки в инсталлятор не войдут. Будут браться из рядом лежащей папке который указан в инсталляторе). Цитата:
|
Как можно в этом скрипте почистить и убрать все чтобы могли появится Компоненты
http://rghost.ru/52251071 |
saurn, спасибо. А не подскажете, какой компонент надо использовать, чтобы также поменять тот текст, что расположен над StatusLabel?
|
Цитата:
Код:
WizardForm.PageNameLabel.Caption := ''; //заголовок |
Планирую сделать перепаковку плагина к Photoshop. Плагин идет в двух вариантах - 32 и 64 бит. Хочу чтобы во время инсталляции скрипт определял битность операционной системы и в зависимости от этого в окне выбора компонентов предлагал либо на выбор оба варианта установки, в случае 64-битной ОС, либо в случае 32-битной, либо вообще не предлагал бы выбор либо галочка 32 бита была бы недоступна. Вопрос - возможно ли сделать это без необходимости писать большой и нудный код в секции [code]? И какой инсталлятор в этоп плане гибче - Inno Setup или NSIS?
|
Debugger, Check: IsWin64 для 64 и Check: not IsWin64 для х32. по сути является булевой функцией, что позволяет использовать ее во всех секциях, в тех местах, где требуется ответ в виде да-нет на вопрос - Система х64?
Пример использования Check из справки: тут проверка собственной функции, тебе-же нужна встроенная IsWin64, поэтому в коде писать вообще ничего не нужно. смотри пример для секции файлов, аналогично это делается для компонент и задач. |
Как добавить сглаживание шрифта через код как сдесь, чтобы на всех системах было одинаковое отображение или это фотошоп не пойму... :dont-know
Подскажите пожалуйста... P.S : Проверял на Windows 7 и Windows XP отображается одинаково... |
Как Объединить скрипт с файлом bin в один
|
|
Цитата:
|
Вложений: 1
|
Друзья, подскажите, пожалуйста, как можно в скрипте реализовать следующее в режиме verysilent:
если разрядность ОСи x86, то отменяем установку и в КОНСОЛЬ возвращаем какое-либо сообщение с кодом. Пример того, что я хочу увидеть при запуске собранного инсталлятора Inno из-под CMD на 86-разрядной ОС: Код:
C:\Users\The_Immortal>program.exe |
Как можно растянуть окно для текста компонентов на весь экран ?
Искал искал не как не нашел где именно менять ,помогите пожалуйста |
Как добавить в начале скрипта проверку на Расширенную версию Inno Setup Compiler...
|
Цитата:
|
Цитата:
Регулируй по своему InnerNotebook, OuterNotebook и остальные по необходимости |
Nordek,нет не то , я имел введу что окно для компонентов маленькое хочу как на втором скрине чтоб вышло
|
diman_21Ru
|
Цитата:
Код:
#ifndef IS_ENHANCED |
|
Цитата:
|
vint56 ,вышло чтото как то не так судя по скрину )
|
Всем привет, наткнулся на такую проблему. Стоит процедура на показ картинок при наведении на компонент. Установил координаты, все показывает в нужном месте. Но стоит только мне переместить окно установщика немного выше, то картинка остается на прошлом месте и не перемещается за окном установщика. Ну собственно и сам вопрос. Как сделать, чтобы картинка перемещалась за установщиком и не фиксировалась на самом экране а фиксировалась прямо на указанных координатах в установщике.
Заранее всем спасибо за ответ! |
Farser21, было.
http://forum.oszone.net/post-2296393-1949.html |
saurn, спасибо, но есть небольшая проблема. Не как не могу настроить координаты.
Ранее я выставлял их так Код:
procedure ShowPicHint(const PicFilePath: String); |
Farser21, там же:
Код:
procedure ShowPicHint(const PicFilePath: String); |
diman_21Ru ну правильно ты размеры изменил потому все элементы стоят не на своих местах
|
vint56, а как мне сделать размер правильный ?
|
diman_21Ru скачай inno ultra там есть расширенный редактор форм там вот в нем ты можеш увеличить формы и передвинуть обьекты как тебе надо
|
vint56, у меня стоит и так расширенная но где именно там это изменять
|
|
Цитата:
|
Как исправить isdone.dll не найдено ни одного файла указанного для isarcextract. или же как отключить isdone в скрипте
|
diman_21Ru, положить эти файлы, которые указаны для isarcextract именно по тому пути, который указан в вызове функции. это проблема не isdone.dll, это проблема отсутствия желания разбираться в том, как она работает.
|
подскажите пожалуйста как при опред. разрешении экрана
устанавливать подходящий мод например 1. мод для разрешения ** 2. мод для разрешения ***** 3. мод для разрешения **** если пользователь выбирает этот мод и у него разрешение ****, то ему установиться - 3. мод для разрешения **** |
Поправьте пожалуйста мой скрипт чтоб на первом скрине вышло как на втором , зарание спасибо :)
http://rghost.ru/52291369 |
Друзья, скажите пожалуйста, как сделать, чтоб при запуске инсталятора на Windows 8 не выдавало ошибку "SmartScreen предотвратил запуск приложения"?
отключение UAC не катит в данном случае, т.к. у пользователей которые будут качать даже мысли такой не возникнет. Вобще почему к каким то приложениям (с неизвестным издателем замечу) применяется предотвращение запуска, а к каким то нет |
1specific ,нажмите на подробно и запустите
|
diman_21Ru, Я то знаю как запустить, для меня это не составляет труда, но большинство неопытных пользователей которые качают программу видя данное сообщение удаляют ее либо по причине незнания как запустить, либо по причине подозрения на вирусы.
Нужно чтоб это сообщение вобще не выводилось, я уже все перепробовал, не могу понять почему оно появляется, хотя например если я качаю другое, аналогичное приложение, так же не имеющее издателя, то оно отлично запускается. В чем секрет? |
1specific, тогда обьясни им что выключается Нажмите одновременно клавиши Win + x. Откройте панель управления. Откройте "Центр поддержки" (Под категорией "Система и безопасность" нажмите ссылку "Проверка состояния компьютера").
Раскройте "Безопасность", нажав стрелку справа. Найдите "Windows SmartScreen". нажмите "Настройка параметров", введите пароль, если потребуется, и отключите функцию, нажмите "ОК", поднимтесь вверх по окну, поставьте в красном предупреждении "не получать больше сообщения на тему "Windows SmartScreen" " "Windows SmartScreen" - защитная функция, отправляет сведения о запускаемых программах и посещаемых страницах на сравнение с базой данных опасных файлов и блокирует их запуск, если такая опасность подтверждается. |
diman_21Ru, Спасибо, но вопрос собственно в другом. С приложением сделать что то можно, чтоб такого не происходило?
|
1specific , да самый легкий способ открыть с совместимостью Windows 7
|
diman_21Ru, Вы шутите? Я спрашиваю не как пользователь программы, а как человек, который упаковал эту программу с помощью Inno Setup. На уровне упаковки что-то сделать можно? Еще раз повторяю как обойти пользователю эту хрень - я знаю, но мне не это нужно!
|
1specific, а так если только использовать последнюю версию Inno setup и работая на Windows 8 проблемы такой не возникнет
|
diman_21Ru
http://rghost.ru/52293611 |
vint56, WizardForm.DoubleBuffered:=True; ошибка (
|
diman_21Ru это потому что у меня компилятор unicode либо удали строчку либо используй unicode но с ней лутше мелькать обьекты будут меньше
|
diman_21Ru, Не помогло.
|
vint56 , ясно попробую
1specific,тогда можно попробовать включать запуск от администратора в скрипт |
diman_21Ru, Как это можно реализовать?
|
1specific,
[Setup] PrivilegesRequired=admin |
diman_21Ru, Этот способ также не помогает.
|
1specific ,простите большего способа пока не знаю
|
|
Grogan508, работает ага , но так же и без одной из строчек тоже в принципе
|
Как можно убрать третью страницу в скрипте где распаковывается софт и как можно первую страницу кнопки поставить так , как на первом скрине ,заранее спасибо :)
Вот скрипт : http://rghost.ru/52302333 |
Всем привет, столкнулся с такой проблемой.
У меня стоит процедура на показ картинок при наведении на компонент. Все работает хорошо, но есть одно но. В компонентах есть разделы Прицелы и Арт-прицелы. И в обоих разделах есть компонент Анимированные. Если я добавлю скриншот в установщик, то на оба компонента будет 1 скриншот. Как можно отдельно поставить скриншот под эти 2 компонента, не меняя их названия. Может какой-то процедурой определять по номеру или что-то в этом роде. Заранее спасибо за ответ! |
Farser21 , я эту проблему решил разделил мод на 2 чясти т.е галочка и кружек и так далее
|
diman_21Ru, о чем ты? Расскажи поподробней.
|
Farser21 ,скриншот покажи я обьясню !
|
diman_21Ru,
примерно так http://rghost.ru/52303698 |
Grogan508, а кнопки как можно расположить как в другом скрине не знаешь ?
|
Цитата:
|
Код:
Всем привет, столкнулся с такой проблемой. Возможно ли как-то сделать сделать это по какой-то нумерации ? |
Как можно изменить на кнопках текст ?
|
Valera90,
[Messages] ButtonBrowse= ButtonGroupBrowse= ButtonNext= ButtonBack= ButtonCancel= ButtonFinish= ComponentsDiskSpaceMBLabel= |
Подскажите пожалуйста как можно сделать Черный инсталляттор ?
|
Valera90,самый легкий способ .
const Color = clblack; procedure InitializeWizard(); begin WizardForm.Font.Color:=clLime; WizardForm.Color:=Color; WizardForm.WelcomePage.Color:=Color; WizardForm.InnerPage.Color:=Color; WizardForm.FinishedPage.Color:=Color; WizardForm.LicensePage.Color:=Color; WizardForm.PasswordPage.Color:=Color; WizardForm.InfoBeforePage.Color:=Color; WizardForm.UserInfoPage.Color:=Color; WizardForm.SelectDirPage.Color:=Color; WizardForm.SelectComponentsPage.Color:=Color; WizardForm.SelectProgramGroupPage.Color:=Color; WizardForm.SelectTasksPage.Color:=Color; WizardForm.ReadyPage.Color:=Color; WizardForm.PreparingPage.Color:=Color; WizardForm.InstallingPage.Color:=clblack; WizardForm.InfoAfterPage.Color:=Color; WizardForm.DirEdit.Color:=Color; WizardForm.DiskSpaceLabel.Color:=Color; WizardForm.DirEdit.Color:=Color; WizardForm.GroupEdit.Color:=Color; WizardForm.PasswordLabel.Color:=Color; WizardForm.PasswordEdit.Color:=Color; WizardForm.PasswordEditLabel.Color:=Color; WizardForm.ReadyMemo.Color:=Color; WizardForm.TypesCombo.Color:=Color; WizardForm.WelcomeLabel1.Color:=Color; WizardForm.WelcomeLabel1.Font.Color:=clLime; WizardForm.InfoBeforeClickLabel.Color:=Color; WizardForm.MainPanel.Color:=Color; WizardForm.PageNameLabel.Color:=Color; WizardForm.PageDescriptionLabel.Color:=Color; WizardForm.ReadyLabel.Color:=Color; WizardForm.FinishedLabel.Color:=Color; WizardForm.YesRadio.Color:=Color; WizardForm.NoRadio.Color:=Color; WizardForm.WelcomeLabel2.Color:=Color; WizardForm.LicenseLabel1.Color:=Color; WizardForm.InfoAfterClickLabel.Color:=Color; WizardForm.ComponentsList.Color:=Color; WizardForm.ComponentsDiskSpaceLabel.Color:=Color; WizardForm.BeveledLabel.Color:=Color; WizardForm.StatusLabel.Color:=Color; WizardForm.FilenameLabel.Color:=Color; WizardForm.SelectDirLabel.Color:=Color; WizardForm.SelectStartMenuFolderLabel.Color:=Color; WizardForm.SelectComponentsLabel.Color:=Color; WizardForm.SelectTasksLabel.Color:=Color; WizardForm.LicenseAcceptedRadio.Color:=Color; WizardForm.LicenseNotAcceptedRadio.Color:=Color; WizardForm.UserInfoNameLabel.Color:=Color; WizardForm.UserInfoNameEdit.Color:=Color; WizardForm.UserInfoOrgLabel.Color:=Color; WizardForm.UserInfoOrgEdit.Color:=Color; WizardForm.PreparingLabel.Color:=Color; WizardForm.FinishedHeadingLabel.Color:=Color; WizardForm.FinishedHeadingLabel.Font.Color:=clLime; WizardForm.UserInfoSerialLabel.Color:=Color; WizardForm.UserInfoSerialEdit.Color:=Color; WizardForm.TasksList.Color:=Color; WizardForm.RunList.Color:=Color; WizardForm.SelectDirBrowseLabel.Color:=Color; WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color; WizardForm.PageNameLabel.Font.Color:=clLime; WizardForm.Bevel.visible:=False; WizardForm.BeveledLabel.visible:=False; WizardForm.Bevel1.visible:=False; end; |
Подскажите пожалуйста как можно кнопки изменить и добавить как тут ,заранее спасибо за ответ
Вот скрипт : http://rghost.ru/52302333 |
diman_21Ru, Так:
Код:
with WizardForm.NextButton do begin Код:
var |
|
Grogan508 ,неплохо но все же мне хотелось бы убрать страницу где софт .
|
diman_21Ru
DisableProgramGroupPage=yes |
vint56, замечательно спасибо
|
|
А на страницу "выбора дополнительных задач", которая появляется если в разделе скрипта [Tasks] что-то указать, можно как-то хинты пунктам выбора прикрутить?
|
Всем привет. Возможно ли как-то, чтобы когда нажимаешь на компонент то там где находиться картинка "Модификации" появлялось видео с ютуба с таким же размером как и изображение и можно было его просмотреть?
|
Цитата:
|
Raf-9600, Да вот у кого-то видел, правда там просто видео было не в компонентах) Ну может есть способ, было бы действительно круто)
|
Цитата:
|
|
Цитата:
|
Цитата:
|
В [CustomMessages] есть название игры как можно изменить размер текста
|
Цитата:
Код:
var |
Подскажите пожалуйста как можно сверху уменьшить размера текста а то не влезает .
|
diman_21Ru, Скрипт В студию... :clapping:
|
diman_21Ru,
WelcomeLabel1:= TLabel.Create(WizardForm); with WelcomeLabel1 do begin AutoSize:=False; SetBounds(ScaleX(-130), ScaleY(31), ScaleX(550), ScaleY(70)); WordWrap:=True; Alignment := taCenter; Transparent:=True; Font.Name:='constantia'; // Font.Size:= 11; //размер шрифта верхней группы на первой странице Font.Color:=clblack; //цвет red white Font.Style:=[fsBold]; Caption:= ExpandConstant('{cm:Welcome1}'); Parent:=WizardForm.WelcomePage; |
Ivan_009 ,Grogan508,скрипт крайне странный негде даже вводить размеры нету.
http://rghost.ru/52339807 |
|
diman_21Ru, Походу это нереально сделать. Если только резать форму и создать новый лейбел.
Попробуй сократить название в Messages.iss так: Код:
[CustomMessages] |
diman_21Ru,
WizardForm.Caption:= 'тут текст'; или сделай форму длиннее. (но проще первое) |
Ivan_009 , все помогло спасибо
|
Ребят помогите, что то никак не могу найти пример кода. Нужно чтоб при установке создавался бэкап папки (копированием) а при повторном запуске инсталятора проверялось бы наличие этой бэкап папки, и если она есть то повторно не бэкапить.
|
доброе время суток. дело в том, что после установки я хочу еще распаковать портативку и появляется этот диалог
![]() хотя в секции Setup указал Код:
CreateUninstallRegKey=not IsComponentSelected('AIDA64\Portable and AIDA64\Portable\1 and AIDA64\Portable\2 and AIDA64\Portable\3 and Lang and Lang\ru and Lang\en and Lang\ua') |
Цитата:
--------------------------------------------------------------- habib2302 Код:
[Setup] Цитата:
|
Цитата:
|
Всем привет у Jove в мод-паке появилась занятная функция Авто-оповещение об обновлении Модпака как это можно реализовать ?
|
Цитата:
|
innot20 ,это не мод а Launcher
|
diman_21Ru, да меня тоже интересует это может кто то знает как это сделать ?
|
Как можно исправить сбоку баг на windows 7 все нормально но на Windows 8 вот как понимаю из за совместимости но все же можно может как то решить :)
|
|
Цитата:
|
habib2302, а расширенный Inno Setup ведь только 5.5.1 или же есть выше может выше версия исправит мой баг
|
выше 5.5.1 еще нет. а в текстовом файле лицензии нет этого. попробуй изменить формат текстового файла txt->rtf или rtf->txt
|
|
TryRooM,спасибо
habib2302 ,rtf->txt не дало нечего может прокрутку сбоку можно дорисовать как то |
Как можно реализовать компоненты сюда добавляю просто [Components] не работает
вот скрипт : http://rghost.ru/52375292 |
|
TryRooM,скрипт выше можешь глянуть компоненты как включить там чтобы выходили , если знаешь напиши
|
Походу скрипт не вышел но запустите и посмотрите пожалуйста
|
Цитата:
Цитата:
Код:
procedure SetThemeAppProperties(dwFlags: DWORD); external 'SetThemeAppProperties@uxtheme.dll stdcall'; |
Как можно прописать в скрипте запрет установки в Windows XP... :gamer: Кроме остальных систем...
Большое прибольшое спасибо за помощь... |
Ivan_009
Код:
[Setup] |
В скрипте стоит каталог как можно заменить на компоненты, а то не выходит список модов
|
Вот скрин , я добавил в скрипт [Components] а они не выходят
|
Цитата:
|
saurn , не тот скрипт дал вот http://rghost.ru/52399830
|
saurn, получяеться чтоли ?
|
Кто может помочь отпишитесь пожалуйста крайне срочно нужно
|
|
Ivan_009, если можешь помочь то посмотри ты пожалуйста
|
Кстати да diman_21Ru хороший вопрос задал я вот тоже не могу компоненты включить только скрипт у меня другой вот http://rghost.ru/52402170
|
Вложений: 1
diman_21Ru, хватит плодить одинаковые посты, яж не живу на форуме. Скрипт во вложении. Редактирование координат контролов и графика листа компонентов уже на вас. Нет времени.
|
saurn, спасибо
|
Как убрать файлы unins000??? Что-бы после установки они не появлялись.
|
vk.smoky@vk,
Код:
[Setup] |
|
Raf-9600
|
Здравствуйте!
Обнаружился интересный момент. Если у файла в секции [Files] стоит проверка Check, то при подсчете объема памяти для установки этот файл не учитывается. Подскажите плиз, можно ли это как-то исправить/обойти? |
vint56, не, создание кастомной странички это слишком круто. Я надеялся что всплывашки на стандартную можно как-то прилепить... Но если нельзя то ладно.
Собственно у меня новый вопрос: можно ли как-то узнать разрешение экрана и в зависимости от того какое разрешение заносить в реестр определённый DWORD ключ? |
Из реестра экспортируется reg файл, в котором есть такие, например, строки:
@="\"C:\\Program Files\\MyTeam\\MyProg\\MyProg.exe\",0" @="\"C:\\Program Files\\MyTeam\\MyProg\\MyProg.exe\" --started-from-file \"%1\"" ISTool их честно в скрипт так и записывает: ValueData: "\""{app}\MyProg.exe\"",0" ValueData: "\""{app}\MyProg.exe\"" --started-from-file \""%1\""" Однако такую запись Windows не понимает, приходится убирать лишние слеши: ValueData: """{app}\MyProg.exe"",0" ValueData: """{app}\MyProg.exe"" --started-from-file ""%1""" Слеши эти добавляются при экспортировании, а если reg файлик запустить, то запись оказывается нормальной. Иными словами, при экспортировании запись искажается, а при запуске такого reg файла - восстанавливается. На кой ляд такую хренотень замутили в Windows - не понятно. Тем не менее из-за этого вот такой путь: [исходная запись в реестре > экспорт в reg файл > ISTool > скрипт > инсталляция > полученная запись в реестре] для подобных записей напрямую не проходит - требуется ручная корректировка скрипта. Есть способ сделать без фокусов и на автомате? |
Raf-9600,
RegWriteDWordValue(..., Screen.Width); RegWriteDWordValue(..., Screen.Height); vk.smoky@vk, установить атрибут "скрытный" http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx |
Цитата:
Код:
[Registry] Правильней будет так: Код:
[Registry] А если учитывать то, что если в секции [Setup] будет прописан путь в DefaultDirName т.е Код:
[Setup] Код:
[Registry] Цитата:
|
Nordek,
Какой должна быть правильная запись, я знаю. Всё, что Вы здесь расписали - так и сделано. Ещё раз внимательно прочтите мой пост. Вопрос в другом: как автоматически пройти тот путь, который указан в моём посте, т.е. исключить необходимость ручной правки скрипта. P.S. И с какой целью Вы мне сделали особое приглашение, я так и не понял. |
Цитата:
Экспортированно через Цитата:
ISTool и InnoIDE не умеют правильно обрабатывать ключи. Для этого используй Converter или Inno Script Studio - вставляют правильно, без слеша.. Цитата:
Например если в файле reg присутствует путь "C:\\Program Files\\MyTeam\\MyProg\\MyProg.exe" то в ValueData так и запишется "C:\Program Files\MyTeam\MyProg\MyProg.exe" и речи, ни о каких "{app}\MyProg.exe" не может быть идти т.к в программах за ранее не заложена вставка-(автоматическая замена) переменных Inno для реестра. И ещё один момент: На кой в секции [Registry] прописаны эти: Код:
Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"",0" Код:
Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"" --started-from-file ""%1""" Одна для значка а другая исполняемая? При инсталляции запишется только одна, т.е при инсталляции запишется первая - а затем первую, заменит вторая - либо наоборот. По этому всё равно запишется только одно значение. Правильнее будет так (покажу на примере ассоциации расширения *.text к AkelPad-у): Код:
[Registry] |
Цитата Nordek:
ISTool и InnoIDE не умеют правильно обрабатывать ключи. Для этого используй Converter или Inno Script Studio - вставляют правильно, без слеша.. » Вот так и надо было ответить сразу. Спасибо. Добавлено. Строки были приведены для примера и взяты они были из разных ключей, просто реальные имена заменены на MyProg. Что Вы никак не успокоитесь. В каждом посте: то высокомерно делаете особое приглашение, то прямое указание, что я должен понимать в первую очередь. Вы точно знаете уровень моих знаний? И что надо в первую, а что во вторую очередь, а? С каких щей Вы присвоили себе право поучать? |
Правильно ли я убираю рамку с едитов... Зарание спасибо...
Вот: Код:
var |
Проблема такая стоит автопределение установки по реестру, но если в реестре не находит то строка с путем пустая. Далее выбираем куда установить и оно приписывает конечным путем \Новая папка.
В оригинале хотелось бы, что если в реестре не находит игру, то самому выбрать папку куда ты хочешь установить, и чтобы не было конечным путем \Новая папка. Заранее спасибо за ответ! |
Цитата:
Код:
[Setup] Код:
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1, InstallLocation|{pf}\My Program} |
saurn, Смотри этим способом мы в альтернативном пути ставим нужный путь место \Новая папка. А мне нужно чтобы альтернативного пути как бы не было. Т.е. если в реестре игру не нашло, то можно было просто указать папку куда устанавливать самому вручную.
|
saurn, Задается не Новая папка а MyProgram, а мне нужно чтобы ничего вообще не задавалось. Чтобы абсолютно можно было самому в ручную выбрать нужную папку в установщике.
|
Farser21, только щас дошло о чем вы :)
Код:
[Setup] |
saurn, Спасибо, все работает!
|
У кого имеется скрипт для создания авторуна. Зарание спасибо...
|
|
Цитата:
|
Доброго времени суток!
Подскажите плиз, какой компонент отвечает за дропбокс с типами установки? |
Shkutu,
Код:
TWizardForm = class(TSetupForm) |
saurn, да, спасибо.
И еще такая проблема. Повесила обработку выбора компонентов (на ComponentsList.OnClickCheck) - сломалось автоопределение типа. Подскажите плиз, куда можно повесить определение типа в зависимости от выбранных компонентов? Вешать на тот же OnClickCheck не получается, потому что тогда ломается выбор компонентов( Думала использовать что-то вроде на ComponentsList.OnChange, но ничего похожего пока не нашла |
Shkutu, да вроде не ломается.
У компонент листа, насколько мне известно, нет свойства OnChange |
saurn, обработчик был кривоватый :)
Спасибо, поправила как в Вашем примере, теперь ничего не ломается:) |
Как прицепить дополнительную форму к инсталлятору и чтобы она была вверху инсталлятора.
Зарание спасибо... |
доброе время суток. как распаковать .srep?
|
habib2302, Так:
Код:
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data1024_1024.srep'),ExpandConstant('{app}\data1024.arc'), true) then break; И справочку читани перед сном... :whitevoid: :kruto: :nunchaku: |
Ivan_009, спасибо за помощь,но я создавал другим вариантом
#define SrepInside |
habib2302, Это было изначально закоментированно .
Тоесть чего используешь то и раскоментируешь. Код:
;#define records |
habib2302, если быть точнее,а не только суть, то это директива препроцессора.
|
У кого нибудь имеется скрипт для распаковки архивов Zip и библиотека...
Зарание спасибо... |
Ivan_009, в шапке есть.
|
здравствуйте возникла такая проблема, разработчики вг убрали поддержку модов в самолётах (случайно) и теперь приходится извращаться, подскажите пожалуйста как сделать в inno setup, чтобы архив из res/packages/gui.pkg и из res/packages/misc.pkg
распаковывался в res_mods pkg это обычный архив |
Подскажите, что за стиль текста такой : :biggrin:
Код:
Font.Style := []; |
Цитата:
Пример: Код:
procedure InitializeWizard(); Код:
[fsBold] - Жирный Текст Код:
// Жирный Курсив Подчёркнутый Зачёркнутый |
А как создать чекбокс со своими параметрами. Например мне хочется создать чекбокс на финише с параметром закрепления ярлыка на панели задач (для этого есть скрипт). Как это оформить?
|
Dodakaedr,
Код:
[Run] |
saurn, Спасибо, вечером попробую, отпишусь.
|
|
saurn, Почему ошибку выдает?
![]() |
Dodakaedr, вырежи секцию [Run] и всавь под др. секцией или поставь в конце, а не в середине секции
|
habib2302, тоесть нужно команду run вставить после end?
|
Цитата:
|
Цитата:
|
saurn,
Цитата:
|
Цитата:
|
nik1967, все равно выскакивают ошибки в разных секциях. Вот код, в чем ошибка?
Код:
[Run] |
Dodakaedr,
Код:
[Run] |
saurn, спс)
А почему так не работает? Решил перенести в Tasks к другим ярлыкам. Код:
[Tasks] |
Цитата:
|
Цитата:
Код:
[Run] |
saurn, а почему в секции tasks не создается больше двух параметров?
|
Цитата:
|
saurn, Почему оно на расстоянии?
![]() Код:
[Tasks] |
Dodakaedr,
Код:
[Tasks] |
habib2302, спс
|
Dodakaedr, Помог? От Полезное сообщение не откажусь!!!
|
habib2302, без проблем))
|
народ, ответьте кто-нибудь пожалуйста на мое сообщение http://forum.oszone.net/post-2312607-2314.html
|
Как обозначаются чекбоксы?
![]() И правильно ли я обозначил другие пункты? |
Пытаюсь сделать так:
Код:
DefaultDirName={reg:HKLM\SOFTWARE\Adobe\Photoshop\55.0,PluginPath|C:\123} |
habib2302,
Dodakaedr, То что "Перезаписать значение если параметр уже существует" - это значит что если в реестре есть параметр "Kallisto", то при установке, в параметре "Kallisto" перезапишется значение "SOFTWARE\Clients\Media\Kallisto\Capabilites". Например в "SOFTWARE\RegisteredApplications" ранее уже имеется параметр "Kallisto", а в параметре "Kallisto" значение "SOFTWARE\Clients\Media\KallistoXXX\Capabilites". У тебя в инсталляторе, значение "SOFTWARE\Clients\Media\Kallisto\Capabilites", то при "Перезаписать значение если параметр уже существует" - заменится значение "SOFTWARE\Clients\Media\KallistoXXX\Capabilites" на "SOFTWARE\Clients\Media\Kallisto\Capabilites" "Деинсталлировать" - это значит что при удалении программы, удалится и ключ в реестре. Далее зависит от флагов. Цитата:
Код:
Windows Registry Editor Version 5.00 |
Nordek, То что они означают я знаю, вопрос в том как их прописать в inno setup?
|
|
Nordek, именно так, и есть еще одноименный раздел:
Код:
Windows Registry Editor Version 5.00 Добавлю, что пока я не добавил в скрипт такие строки - Код:
UsePreviousAppDir=False И еще вопрос - когда гуглил вопрос, многие делают то же самое, но через код на Паскале. Есть какие-то различия, или каждый делает как ему удобнее? |
Цитата:
|
Цитата:
Цитата:
Код:
[Registry] |
и как перед установкой распаковать деинсталлятор для adobe flash player во временную папку {tmp}
|
El Sanchez, да, все работает. Я проверял HKLM64, но ДО того как выставлял директивы указанные в предыдущем посте. Спасибо!
Почему же работает соседняя ветка? |
Dodakaedr,
Код:
[Registry] А по второму, достаточно будет одного флага uninsdeletevalue - т.е в "RegisteredApplications" удалит параметр "Kallisto" со значением, но не затронет сам раздел "RegisteredApplications (SOFTWARE\RegisteredApplications) - т.к в нём могут иметься другие параметры от других программ". Цитата:
Код:
ExtractTemporaryFile('install_flash_player_ax.exe'); |
Цитата:
Цитата:
P.S. Тут, тут, тут и тут по теме. |
Есть способ изменить цвет текста при включенном Transparent?
|
Возможно ли распаковать архив pkg ? в определённую папочку
|
Цитата:
Код:
Font.Color:=$FF0000; |
Nordek, это при включенной прозрачности?
Код:
with WizardForm.PageDescriptionLabel do |
Dodakaedr там есть font + разверни
Font.Height := -12; а большую картинку под спойлер |
Цитата:
|
Dodakaedr
|
vint56, не то. нужно поменять цвет текста при включенной прозрачности. посмотрите на скрин
|
Dodakaedr, шрифт контролов TNewStaticText при включении прозрачности фона лишается свойства Color. Как вариант, можно использовать свои контролы TLabel.
|
saurn, а можно по подробней?
|
|
vint56, оно, только надо вместо NewStaticText1, а он заблокирован. Как быть?
|
Dodakaedr
Вот обновленый пример а можно чтобы только текст менялся без картинки |
vint56, а можно чтобы только текст менялся без картинки?
|
vint56, тоисть чтобы картинка оставалась а текст менялся...
|
vint56, Код, лучше захватывать в тег [Code][/Code] - при вставке кода в скрипт имеются пробелы. А у тех кто использует ISTool, будут проблемы - пробелы превращаются в знак равенства "=":
|
Nordek Понял учту
Dodakaedr Код:
[Setup] |
vint56, Огромное спасибо!!!
vint56, а обязательно надо менять полностью main panel? |
vint56, надо чтобы сохранялась процедура procedure RedesignWizardForm; но при этом чтобы поменялся текст. Можно такое сделать?
|
Dodakaedr нет но тогда придётся скрывать другие элементы что находятся на стандартном WizardForm.MainPanel потому мне было проше
Код:
[Setup] |
|
Цитата:
|
habib2302
procedure CurPageChanged(CurPageID: Integer); begin WizardForm.FilenameLabel.Hide; end; |
Правильно записано?
Код:
Root: HKLM; SubKey: SOFTWARE\Classes\Directory\shell\Kallisto.enqueue\command; ValueType: string; ValueData: "{app}\{#MyAppExeName} /add ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty |
Можно как-то сделать чтобы восстанавливалась предыдущая ассоциация файлов после удаления моей программы?
Как это исправить? ![]() Пробовал Permissions: users-full и Permissions: users-modify не помогает. |
день добрый!
подскажите пожалуйста, как работать с файлами и папками? мне нужно при деинсталляции удалять созданные в процессе работы программы файлы и папки, как это делать, я пробовал через textfile - ругаецца( |
borune,
Код:
[UninstallDelete] Указывает тип удаляемого объекта. Может быть следующим: files Параметр Name указывает имя отдельного файла или маску. filesandordirs Функции те же, что и у files за исключением, что также может задавать имя папки, в этом случае удаляются все ее файлы и подпапки. dirifempty При использовании этого типа параметр Name должен задавать папку, но не содержать масок. Папка будет удалена только если она пустая. |
Цитата:
Вопрос еще такой. Насчет значков ярлыков. Вот у меня есть программа, состоящая из нескольких окон. У каждого окна своя пиктограмма (изображение на панели задач). Пиктограммы вшиты в экзешник. Но при запуске почему-то значки сменяются на стандартные виндовзные. Как сделать так, чтоб они не изменялись? Нашел, как задавать иконку программе через IconFilename, но он во-первых требует внешнего файла с расширением .ico, а во-вторых делает у всех окон одинаковые иконки. |
Здравствуйте, подскажите пожалуйста как создать копию папки
|
Почему №1 ассоциирует, а №2 нет? Какая между ними разница?
№1) ![]() №2 ![]() |
Dodakaedr, либо в первой строчке valuedata указать mp3file, либо в остальных обрабатывать Kallisto.mp3.
И да, первая тоже не должна ассоциировать, если нигде больше не определяется расширение .mp3 |
Dodakaedr, В разделе HKEY_CLASSES_ROOT лучше не менять ассоциацию.
Лучше так: Код:
[Registry] Код:
[Registry] |
Gnom_aka_Lexander, да, разобрался ошибка была в значении kallisto.mp3
Nordek,У кого больше преимущества HKCR или HKLM? |
Цитата:
Код:
HKCR - HKEY_CLASSES_ROOT: Действует как для текущего пользователя, так и для всех. |
Доброго времени суток! Подскажите плиз, как можно у страницы типа TInputDirWizardPage отключить ворнинг о том, что папка не выбрана?
|
Nordek, спс
|
Shkutu, перехват функции WinApi (хук). В данном случае MessageBox(W/A). Думаю по другому никак если так уж надо скрыть.
но на мой взгляд самое простое - создать пустую страницу и на ней в ручную эдит и остальное и не извращаться с вышесказанным |
Покурил мануал и нашел все описания встроенных функций в паскаль-коде. Получается для того, чтобы научиться писать паскаль-код для Inno Setup, вполне достаточно знать эти функции, описанные в хелпе и знать синтаксис языка? Сначала думал что придется учить Паскаль с нуля... Поправьте если не прав!
|
Johny777, спасиб. В общем-то, так и сделала - свою страницу с нужными конторолами, когда поняла, что просто так скрыть ворнинг нельзя.
Debugger, для каких-то стандартных вещей вполне хватает мануала и основ паскаля. Иногда конечно требуется что-то более сложное, вроде того же WinApi, но на мой вкус это скорее исключение (не знаю, как у других). |
Не могу запаковать папку с названием {Original}, ругается на знак { , что делать?
|
Цитата:
Всё пакуется нормально: Код:
[Files] Код:
[Files] |
Как добавить программу в исключения брандмауэра windows?
|
|
Nordek, как это оформить в секции tasks?
|
Цитата:
|
Shkutu, что-то ваш код не работает. Не выскакивает окошко и не добавляет.
|
Dodakaedr, у меня работает, выковыривала из рабочего скрипта. Может криво скопипастила, но что у вас не работает, надо смотреть уже на вашем коде.
А вообще посмотрите стандартный пример CodeAutomation.iis (в обычном инно входят в стандартный комплект, лежит в папке Examples). |
Всем привет , как можно наложить на кнопки звуки , за ответ заранее благодарю .
|
Покажите пожалуйста пример блокировки наложенной через ботву кнопки при нехватке места на диске...
Заранее спасибо... |
|
diman_21Ru, Так:
|
saurn, Огромное спасибо!!!
|
Цитата:
Код:
Source: "{app}\HD3_Data\Templates\{{Original}\patcher_x86 dump.txt"; DestDir: {app}\HD3_Data\Templates\{{Original}; MinVersion: 0.0,5.0; Flags: ignoreversion |
Подскажите, а можно ли передать в функцию какой-либо параметр?
Чтото типа наподобие этого: Код:
[Components] |
Debugger, можно, читаем справку про Check parameters
Код:
[Files] |
Здравствуйте, помогите пожалуйста вывести в скрипте компоненты и прогресс бар при установке
прогресс бар починил, но с компонентами никак http://rghost.ru/52720578 |
innot20, покажите часть кода, который, как вы думаете не работает.
Код ваш скачал, но отладить его трудновато, много чего не хватает, а загонять в комментарии неработающие строки то еще удовольствие. |
Цитата:
Продолжаю копаться, ничего не получается Уже пошёл метод извращения |
Ребят, а вот скажите пожалуйста, вопрос с правами. Я, например, хочу, чтоб программа устанавливалась в Program Files. Сделал, установил, все норм. Но норм только если установка осуществляется с админского аккаунта. Я же хочу сделать, чтоб любой пользователь мог устанавливать программу. Для этого в секцию [Setup] дописал:
Код:
PrivilegesRequired=none |
Всем привет, возможно как-то вывести окно компонентов со своим размером и координатами через скрипт а не через Дизайнер диалогов.
|
Приветствую!
простая установка, все через Визард создано, за исключением добавления: PrivilegesRequired=none один Exe и подкаталог Data с файловой БД. после установки, программа запускается только при явном указании Run As Administrator. при этом если просто скопировать содержимое папки из Program Files в любую иную папку вне этого каталог, то всё запускается на ура. Что ещё надо прописать и где? подскажите плиз! а то на след.неделе надо отсылать заказчику... :( вот нашел ссылку по теме... "PRB: My application can't write to its directory when run as a regular user" http://www.jrsoftware.org/iskb.php?cantwritetoapp но у нас проблема, менять код нельзя, а открывать дыру не хочется... в тоже время когда использовали Install Shield таких проблем не возникало... или мы просто про них ничего не знали? :) Владимир |
Farser21, я ни фига не понял что ты хочешь. Изучи ка для начала методы класса TNewCheckListBox коим и является ComponentsList и может твой вопрос отпадёт
|
Johny777, объясняю. Я скачал готовый установщик переделал под себя, осталось одно это добавить окно в котором можно будет выбирать компоненты. Но есть одно "Но" у меня уникальный дизайн поэтому добавить окно компонентов через Дизайнер диалогов я не могу. И собственно сам вопрос, "Как добавить окно компонентов со своим размером и координатами в скрипте?"
|
Farser21, дык оно автоматом добавляется, стоит вписать в секции скрипта [Components] какой-нибудь "компонент"!
а размер и координаты настраиваешь через метод класса SetBounds(...); или тебе ещё один TNewCheckListBox нужен помимо стандартного? |
Johny777, не так все просто как ты думаешь.
"Я скачал готовый установщик переделал под себя" "Но есть одно "Но" у меня уникальный дизайн поэтому добавить окно компонентов через Дизайнер диалогов я не могу" А значит если оно не выводиться через Дизайнер диалог, то и секция [Components] тоже не добавляет окно компонентов. |
Farser21, значит создавай на странице в ручную через код. И вообще базар о ни о чём
что там за уникальный дизайн? Может скрипт покажешь, а то я сижу и угадываю, например не знаю что такое "Дизайнер диалог" это "редактор форм" в среде разработки? Цитата:
|
Johny777, http://rghost.ru/52758435
"значит создавай на странице в ручную через код. И вообще базар о ни о чём" В том и дело, что я не могу создать в ручную поэтому и прошу помощи. |
Farser21 согласно картинкам сверху отображающим статус текущей страницы страница компонентов у тебя есть.
но согласно коду её роль выполняет страница задач wpSelectTasks как я уже говорил. Добавив секцию [Components] ты получишь страницу с компонентами, но пустую потому что я правильно предположил, что OuterNotebook скрыт предлагаю поступить так 1. заводим себе секцию с компонентами. Для начала вот такую маленькую [Components] Name: "main"; Description: "Main Files"; 2. пропускаем возникшую страницу ведь у нас есть страница задач - wpSelectTasks, исполняющая роль заместителя страницы компонетов предположительно по непостижимой задумке автора :) "вкопируй" себе эту функцию где-нибудь 3. в процедуре InitializeWizard после авторских манипуляций с визуальными компонентами мы установим родителем ComponentsList-а нашу главную форму и скроем его, чтоб он не маячил на каждой "странице" 4. в процедуре procedure CurPageChanged(CurPageID: Integer); нужно вписать другими словами мы показываем его на странице wpSelectTasks, а на предыдущей и последующей скрываем здесь правда я скрываю его на 2-х предыдущих: wpSelectProgramGroup, wpSelectDir хотя достаточно на wpSelectProgramGroup, но почему-то эта страница перепрыгивается. готово. теперь как обычно заполняешь секцию компонентов компонентами и судя по тому что ты не используешь встроенныое решение для сжатия и распаковки файлов, регулируешь распаковку через Check: например так: результат: |
Johny777, спасибо просто огромнейшое)
Возникала небольшая проблемка, все сделал как ты написал, но почему-то пропускает вообще страницу компонентов. Может это из-за того, что я не могу поставить .... выдает ошибку. |
Цитата:
|
Farser21, только что сделал ещё раз всё то что у меня в посте и всё нормально.
"..." это условно твой код который уже есть. те например в оригинале у тебя в wpReady вот так роль многточия выполняет ну и в конце этого участка команд ты пишешь в данном случае WizardForm.ComponentsList.Hide; получаешь вот на всякий случай рабочий скрипт http://rghost.ru/private/52766344/4e...e14754b9935f9c |
Johny777, вроде бы разобрался спасибо!
|
Johny777, Какой код должен отвечать за установку компонента в этом скрипте
http://rghost.ru/private/52766344/4e...e14754b9935f9c |
Всем привет подскажите пожалуйста можно ли в inno реализовать что бы в каждом окошке типа (ПРИВЕТСТВИЕ, ПРОВЕРКА СИС.ТРЕБ, ВЫБОР ПАПКИ УСТАНОВКИ и Т.Д) воспроизводилось отдельное видео?
|
Какой шрифт кроме MS Serif. Идентично отображается на всех системах...
Заранее спасибо... |
Farser21, судя по тому что у тебя там импортируется API IsDone то вызываешь его функции распаковки.
По IsDone я тебе не помощник, тк его API и примеры использования не изучал и честно говоря не хочу. тут кстати хватает экспертов по IsDone..., например Ваня постом выше его использует Ivan_009, все системные шрифты. Tahoma например |
Цитата:
Tahoma на XP не так отображается... (Тоесть без сглаживания) А нужны те шрифты у которых сглаживание отсутствует... :) |
Цитата:
гугл в помощь |
|
Ivan_009, ну вот смотри. Я хочу установить компонент допустим File1 и у меня к нему лежит файл File1, но у меня в установщике какая-то распаковка через IsDone. Возможно как-то убрать это распаковка и в целом сам IsDone? Чтобы просто при выборе компонента устанавливался нужный файл и не было никакой распаковки.
|
Есть не большой вопросик,
данный код распаковывает архив pkg Код:
procedure ExtractResources(); а когда через inno setup от 5 минут до 20 |
Цитата:
Код:
[Code] |
Подскажите пожалуйста как сделать тень для инсталлятора...
Вокруг маски... http://rghost.ru/52786114 |
Цитата:
http://krinkels.org/attachment.php?a...8&d=1393663222 |
audiofeel, Это пример из ботвы там тени нет... :(
|
подскажите пожалуйста, как при запуске из-под ругого пользователя секцию реестра применить к пользователю, который зашел в систему:
поясняю: имеется установщик с 1000 ключей реестра HCKU из-за специфики устанавливаемой программы нужны права администратора (нужна регистрация dll) при установке под пользователем-админом все хорошо Проблема возникает когда нужно поставить простому пользователю: вход в систему выполняется от пользователя, установщик запускается с правами админа - и установщик показывает CurrentUser = админ и ключи реестра HCKU заносит в реестр админа а нужно в HCKU пользователя который зашел в систему Вопрос: как вывернуться? |
Ivan_009,
Цитата:
|
Цитата:
|
Скажите, пожалуйста, в inno имеется константа для ProgramData?
|
Dodakaedr,
ProgramData [Files] Source: {commonappdata} |
спс. но мне надо programdata а не Application Data.
Как скрыть пункт "О программе" в инсталяторе? использую CallbackCtrl.dll при отмене установки исталятор выснет. |
Dodakaedr,
с\ProgramData [Files] Source: {commonappdata} DestDir: {commonappdata}\Blumentals в скрипте C:\ProgramData\Blumentals что имеем на выходе |
TryRooM, попробую
|
Цитата:
Код:
WizardForm.Position:= poScreenCenter; |
Цитата:
|
nik1967, спасибо
|
|
Помогите пожалуйста с инсталлятором
Помогите пожалуйста с инсталлятором INNO SETUP
Написал инсталлятор, но хотелось бы разбить выбор компонентов через PageControl ну или что в этом духе, так как компонент очень много и все это рябит в глазах, вот к примеру как на скринах которые нарисовал в фотошопе. ![]() ![]() |
У меня в проекте довольно много компонентов. Но некоторые записи в реестр в секции [Registry] общие для всех компонентов. Нельзя ли както сделать одну общую запись для нескольких компонентов? К сожалению указание в флаге Components нескольких приводит к ошибке при компиляции. Иначе ужасно много одинаковой писанины для каждого компонента получается!
|
nik1967, Dodakaedr, непосредственное удаление элемента "О программе" из системного меню программы
PS: можно конечно сначала удалить 8-й (это и есть изначально айтем "О программе"), а потом 7-й. Хотя вообще 7-й не обязательно удадять. Но нафиг нужен разделитель который ничего не отделяет? Serega, El Sanchez, благодарю за полезную информацию. |
Цитата:
|
Цитата:
В этом случае компоненты нужно соединять логическими операциями, в вашем случае скорее "or". Код:
[Components] |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Использую Inno setup 5.5.4 скрипт с версии 5.5.0
Почему ругается "Required function or procedure "IsWin32" not found"? Выскакивает на этой строке Код:
Source: "{sys}\drivers\mbam,1.sys"; DestDir: "{sys}\drivers"; DestName: "mbam.sys"; Check: "IsWin32"; MinVersion: 0,5.01sp2; Flags: restartreplace skipifsourcedoesntexist uninsrestartdelete ignoreversion |
Как прописать в батнике упаковку в архив 7z... Такого метода: http://rghost.ru/52867458
Заранее спасибо... |
Ivan_009
"7z.exe" a -t7z -m0=LZMA2 -mmt=2 -mx9 -md=64m -mfb=64 -ms=4g -sccUTF-8 "-wC:\" "C:\totalcmd.7z" "C:\totalcmd" |
Цитата:
P.S. Скрипт, выдранный анпакером, перед компиляцией требует редактирования. |
saurn, Я брал чисто оригинальный скрипт и там тоже ругается. Секции code там вообще нету...
|
Цитата:
|
Цитата:
|
vint56, Спасибо большое :up а как еще пароль туда прикрутить...
|
Ivan_009
"7z.exe" a -t7z -m0=LZMA2 -mmt=2 -mx9 -md=64m -mfb=64 -ms=4g -sccUTF-8 "-pIvan_009" "-wC:\" "C:\totalcmd.7z" "C:\totalcmd" |
Цитата:
|
saurn, Ясно
|
vint56, Что нужно добавить,чтобы невозможно было посмотреть содержимое архива.
Тоесть зашифровать имена файлов... Код:
"7z.exe" a -t7z -m0=LZMA2 -mmt=2 -mx9 -md=64m -mfb=64 -ms=4g -sccUTF-8 "-pПароль -mhe" "-wC:\" "data\data.7z" ".\packeddata\*" Да и кстати где все это можно посмотреть методы сжатия и прочее... |
Ivan_009 Да и кстати где все это можно посмотреть методы сжатия и прочее... в справке она есть на русском языке а насчёт скрытности это вроде не возможно
"7z.exe" a -t7z -m0=LZMA2 -mmt=on -mx9 -md=64m -mfb=64 -ms=4g -sccUTF-8 "-p1" -mhe=on "-wC:\" "C:\totalcmd-1.7z" "C:\totalcmd" 7-Zip Parameter Generator - генератор параметров командной строки для особых настроек сжатия |
vint56, Можно пример как потом через батник этот архив распаковать... :clapping:
|
Ivan_009
|
vint56, Я уже этим методом пытался : "7z.exe" e "-pПароль" "pack\pack.7z" "packeddata"
Не робит чет... :( |
Ivan_009
7z e archive.7z -oGameData -p1 |
vint56, Спасибо но почему то не правильно извлекает... :(
В архиве: 1 было 2 стало... |
Ivan_009 а за чем тебе делать распаковку через батник чем тебе не устраивает isdone
вот мой пример распаковки пароль1 для просмотра архива http://rghost.ru/52887309 |
Цитата:
|
Всем привет, возникла такая проблема. Добавил в установщик кнопку, которая при нажатии перенаправляет на мой канал на YouTube. Как сделать, чтобы кнопка отображалась, только на первой странице (начальной, там где приветствие).
|
Farser21,
OnClick:=@NewButtonOnClick Parent:= WizardForm.WelcomePage; Caption := 'Мой сайт'; |
TryRooM, разобрался) Спасибо большое)
|
Как сделать так чтобы сначала инсталятор запустил импортированый exe-шник, а потом уже установил мои файлы?
|
Когда я компилирую установщик, то у меня создаются файлы setup.exe и setup-1.bin. Как сделать чтобы все содержимое было в setup.exe и не было файлы setup-1.bin?
|
Farser21,
закоментируй строки DiskSpanning=yes DiskSliceSize= |
Возник еще 1 вопрос. У меня стоит главная картинка в начале установщика, но еще она появляется в конце после завершения установки. Можно как-то сделать, чтобы при завершении установки была не начальная картинка а другая?
P.S. Вопрос решен, просто добавил картинку через "Редактор форм". |
Farser21, пример
http://rghost.ru/52932987 |
Цитата:
Код:
[Setup] |
saurn, а как теперь сделать чтобы импортированный exe-шник работал в тихом режиме?
|
Dodakaedr, зависит от поддерживаемых параметров ком строки запускаемой программы. Например для инсталяторов созданых в инно это /SILENT и /VERYSILENT.
Код:
Exec(имя программы, 'параметр ком строки', '', 5, ewWaitUntilTerminated, i); |
saurn, спс
|
Как запретить доступ программе к интернету через брандмауэр windows в inno setup?
|
У меня в установщике когда удаляешь компоненты через unins000.exe, то удаляется папка res_mods. Как сделать так, чтобы удалялось, только содержимое папки т.е. res_mods\*.
Заранее спасибо за ответ. Вот скрипт http://rghost.ru/private/52939112/87...40d68ea2273562 |
И как прописать строку в hosts средством inno?
|
Dodakaedr,
http://rghost.ru/52945164 |
TryRooM, Благодарю!
|
|
TryRooM, не знаете как запретить доступ программе к интернету через брандмауэр windows в inno setup?
|
|
TryRooM, а как заблокировать доступ программы к интернету?
|
Цитата:
|
Тема закрыта и будет переведена в архивное состояние.
Продолжение здесь - Скрипты Inno Setup. Помощь и советы [часть 7] |
Время: 17:17. |
Время: 17:17.
© OSzone.net 2001-