Скрипты Inno Setup. Помощь и советы [часть 7]
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] |
Всем привет, как сделать так, чтобы установка продолжалась в том случае если в папку куда устанавливаешь есть файл WorldOfTanks.exe. Т.е. Если в папке куда устанавливаешь нет файла WorldOfTanks.exe, то выскакивает окно, что сюда установить компоненты нельзя.
Заранее спасибо! |
Farser21,
|
Mailchik, спасибо работает. Но есть одна проблема. Когда я выбираю папку без файла WorldOfTanks.exe, выскакивает окно, я нажимаю ок. Потом оно сразу перекидывает меня уже на следующую страницу выбора компонентов. Можно сделать, чтобы при нажатие ок на окошке, оставалось на данной странице?
Возможно я неправильно совместил? Как правильно соединить это? |
есть такая функция сравнения версий
Код:
function CompareVersion(VerMStoCompare, VerLStoCompare: Cardinal; const FileName2: string): Integer; Подскажите, пожалуйста, как исправить ______________________ Farser21, прятать надо не под спойлер, а под тег code Код:
function NextButtonClick(CurPageID: Integer): Boolean; |
R.i.m.s.k.y., спасибо. Все работает.
|
Господа состоятельные кроты, помогите разобраться:
А) пользователь user запускает windows, приходит одмин и запускает установщик от себя - admin Кто CurrentUser и OriginalUser в терминах Inno? (runasoriginaluser & runascurentuser) Б) unins.exe понимает переменные вида {src}? т.е. если программа установлена в C:\program files\prog и там же лежит деинсталлятор, созданный инно в процессе установки unins000.exe, можно проверить наличие файла C:\program files\prog\file.txt по ExpandConstant('{src}\prog\file.txt') в процессе удаления программы? |
Вложений: 1
Архив содержит:
ITDownloader + Rus ITCallback ITTray |
Добрый день всем.
Можно ли разделить секцию [Tasks] на 2 странички? У меня там сейчас 2 независимые группы exclusive опций. После добавления новых вариантов в одну из групп они перестали помещаться на одну страничку без скроллбара. Видел в архиве этой темы пример кода по созданию своей странички с чекбоксом и сохранению его состояния в переменной кода. Но остается непонятным как активировать выбранный вариант в группе опций. Может есть какой-нибудь другой способ разделить группы по страничкам? Farser21, R.i.m.s.k.y., для сравнения версий я написал себе вот такой велосипед: Код:
type |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Всем привет, как сделать слайды на странице установки? И как добавить другой более красивый прогресс бар или изменить?
Вот мой скрипт, заранее спасибо за ответы. http://rghost.ru/52965051 |
Цитата:
Цитата:
Цитата:
Цитата:
OriginalUser-пользователь user Цитата:
|
Вопрос.
В справке есть такие вещи: Так вот... я что-то не могу понять... это можно как-то в CODE прописать при компиляции или же это только для запуска файла из ком. строки? |
Mat_y, для запуска установщика из комстроки
впрочем я частенько делал установщик в установщике: основной установщик компилировал и вкладывал как программу во внешний установщик который уже запускал внутренний с нужными параметрами |
Serega, El Sanchez, curuninstallstepchange ругается на невозможность вызова ExecAsOriginalUser
что не есть хорошо т.к. удаление производится от одмина а вычистить HKCU нужно пользователю Фокус с HKU\SID не пройдет тк только программа, запускаемая из под ExecAsOriginalUser с соответствующим параметром знает чего нужно вычищать пользователю Как обойти невозможность вызова ExecAsOriginalUser в curuninstallstepchange? |
Ребята подскажите как запретить программе доступ к интернету в inno?
|
Dodakaedr, общий вопрос - общий ответ: настройку программы запрета хождения в нэт применить на этапе установки программы
|
Цитата:
|
Цитата:
б) можно ли через runas user password prog params ? имя пользователя и SID уже знаю |
Цитата:
|
Цитата:
|
Таки как разделить секцию [Tasks] на 2 странички? »
|
kot-da-vinci, правильный ответ - создание custom page и перенос на нее части галок
примеров куча в шапке и прошлых темах у меня под рукой нет _____________ но я обычно на такое не заморачиваюсь а создаю процедуру по обработке кликов и расставлению одних галок в зависимости от других |
Цитата:
|
R.i.m.s.k.y., нет. Я имел ввиду как ативировать выбранный вариант таска.
Например: Код:
[Files] P.S.: Вот ссылка на пример создания своей странички. |
Цитата:
под рукой нет, позже |
Цитата:
Цитата:
|
Ребята привет.Ошибка такого типа - http://i58.fastpic.ru/big/2014/0311/...20fd403c17.jpg.
Скрипт - http://sendfile.su/952086 и еще не показывает прогресс бар ,можно тоже сделать ее,а то я не использую сторонние архиваторы,только средствами инно. Спасибо. |
Ivan_009, спасибо попробую!
|
Цитата:
|
Цитата:
|
какого лешего
Код:
--------------------------- Код:
function GetOriginalSID(): String; Код:
[Registry] |
Цитата:
Код:
procedure TasksCheck(); |
Цитата:
Пожалуйста. |
Цитата:
|
А мне ребят поможетe? С музыкой проблему решил,прогресс бара нет.
|
имеем двух пользователей: user и admin
система под пользователем, запуск от админа запись в реестре происходит куда надо: при запуске от админа - в HKCU пользователя Но вот при деинсталляция при запуске от админа/пользователя ключи удалаются HKCU у админа Код:
[Registry] |
Цитата:
Пользовался exemple3.iss |
Farser21, Добавь:
Код:
KillTimer(0, TimerID); Код:
if CurPageID=wpFinished then Цитата:
|
Ivan_009, спасибо помогло. Но когда решил добавить это в свой установщик то вот такая ошибка появилась.
|
Цитата:
Цитата:
Цитата:
|
Ivan_009,
Прогресс установки . Вообще его нет,установка идет,а сколько процентов не видно. |
Farser21, Скрипт покажи и что именно ты там добавил...
Цитата:
|
Ivan_009, http://rghost.ru/52994242
Вот скрипт То, что я добавил я выделил. А точнее сделал так: ////// то что добавил ////// |
Farser21, Зачем ты добавил KillTimer(0, TimerID);
Код:
//Сюда Код:
if CurPageID=wpFinished then |
Ivan_009, поставил строку куда ты сказал, все равно так же ошибка выходит.
|
Farser21, Скрипт с файлами дай я посмотрю так непонятно...
|
|
Farser21, Пробуй: http://rghost.ru/52995444
|
Ivan_009, спасибо огромное все просто супер)
|
Ivan_009,
Ошибка - http://i33.fastpic.ru/big/2014/0312/...174bf4c032.jpg .Не получается. |
Ivan_009, все действительно просто чудесно. Но после завершения установки компонентов, выскакивает вот такое.
Скриншот под спойлером Вот еще скриншот |
Farser21, Вдаватся в подробности не буду, но, не верно:
Код:
ShowImage(piclist.strings[CurrentPicture - 0], 0); Код:
ShowImage(piclist.strings[CurrentPicture - 1], 1); Последняя цифра в строке отвечает за выбор эффекта. В isSlideShow нет эффекта под номером 0. Для отключения эффектов перехода нужно установить параметр Animate в False: Код:
InitializeSlideShow(WizardForm.Handle, 0, 0, scaleX(501), ScaleY(314), False, 2); |
saurn, спасибо.
|
Подскажите, пожалуйста, зачем в этом коде {break}? Что он означает?
Код:
ValueData: 993818a33af6063ed67c2e53eb226f4db24987114d98be2000413df99c725d3e{break}{break}; |
Цитата:
|
Цитата:
http://rghost.ru/53009283 |
Цитата:
Цитата:
Цитата:
|
РЕбята помогите дебилу плиз. Не получается прикрутить прогресс бар.
|
Цитата:
|
Ivan_009,
В том то и дело что уже прикручен,но для распаковки арк и т.д.Если убрать,то его не видно,пустая строка. |
Dinvin4ester, потому что родной прогресс бар при этом остается скрытым:
Код:
if CurStep = ssInstall then begin |
saurn,
А как открыть ? |
Цитата:
Код:
WizardForm.ProgressGauge.Hide; |
подскажите а можно ли в инсталляторе сделать 2-а ComponentsList и что бы каждый из них работал самостоятельно
|
Ivan_009,
Убрал,но все-равно его не видно. |
Dinvin4ester, скрипт давайте(с минимальным набором файлов)
Цитата:
|
saurn,
http://sendfile.su/952086 и если не сложно сделать так , что бы музыка не играла сразу при запуске инсталла. |
Как сделать следующее,чтобы при ошибке или отмене установки прогресс в прогресс баре шел назад:
Типа как тут: http://rghost.ru/private/53046196/a9...acd29a39eb84c9 |
Цитата:
Цитата:
|
Как осуществить проверку наличия файла в выбранной пользователем папке, но не при запуске инсталятора (не в системе)?
Мне надо для русификатора, чтобы проверялось наличие файла в папке которую выбрал пользователь, если он имеется то установка продолжалась, а если его нету то сообщалось об этом и установка прерывалась. |
Как в коде использовать константы стандартных сообщений? Второй день не могу нагуглить :)
Создал свою страничку, хочу видеть там стандартные заголовки. В инсталляции используется несколько языков, по этому нужно использовать именно константы. Код:
ScanerTypePage:= CreateInputOptionPage(wpSelectTasks, |
Нагуглил :)
Код:
ScanerTypePage:= CreateInputOptionPage(wpSelectTasks, |
ребят как сделать кликабельное лого в углу?
смотрел пару вариантов, прикручивал, но не шло) мб делал что-то не так, а мб есть другие варианты данного? |
Цитата:
|
Подскажите пожалуйста, как сделать выбор компонентов установки через checkbox, что бы программа инсталировала те фаилы которые будут указаны флажками checkbox. (Интересует не через стандартную SelectComponentsPage а именно отдельными checkbox)
|
Dodakaedr, честно говоря не очень понятно, что значит
Цитата:
legik2003, а чем вам стандартная SelectComponentsPage не нравится? там те же чекбоксы для выбора компонентов и в последствии установка именно выбранных |
|
TryRooM, как добавить chekbox на страничку SelectProgramGroupPage c функцией не создать папку с ярлыка?
|
А есть программа для inno setup создавать свои формы (странички)?
|
Цитата:
Код:
[Setup] |
Shkutu, как его переместить вверх?
|
Как сделать чтобы на страничке FinishedPage невозможно было снимать галочку?
|
Цитата:
Код:
procedure InitializeWizard(); Цитата:
|
У кого имеется PSD исходник этих кнопок инсталлятора поделитесь пожалуйста...
http://rghost.ru/53181955 |
Как использовать скины? Никак не могу понять.
|
Цитата:
|
Поделитесь у кого есть программой Inno Setup Form Designer
|
Dodakaedr установи InnoUltra там есть Расширенная версия от китайских собратьев ResTools либо Form Designer
|
Нужна помощь: код для скина
Вроде все верно, но почему-то выскакивает ошибка Файл ISSkin.dll находится в корне программы. |
Dodakaedr пример
http://rghost.ru/53198788 |
Ребята ,а мне не поможете ?
|
Люди добрые, подскажите, почему не обрабатывается код, в частности не происходит переименование заголовка формы, а кнопка в том же куске кода переименовывается.
Код:
procedure CurPageChanged(CurPageID: Integer); |
|
vint56, что не так? Таже ошибка выскакивает... Чисто твой скрипт работает.
|
Dodakaedr ISSkin.dll нету во временном каталоге
|
vint56, не помогает.
|
Приветствую!
Подскажите плиз, есть ли в инно функция, с помощью которой можно узнать, почему не отработала предыдущая функция типа FileCopy? Ну т е что-то, аналогичное SysErrorMessage(ResultCode), но для функций, которые просто возвращают true/false без всякого ResultCode |
Как на отдельный чекбокс наложить картинку bmp или только на компонент лист можно...
Заранее спасибо... |
Ivan_009, шапку лень почитать?
Создание кастомного чекбокса - пример скрипта для создания своего чекбокса, всего 12 состояний, (ссылка на сообщение); |
Цитата:
Код:
if not FileCopy(...) then В инно, объявляется в скрипте так: function GetLastError: DWORD; external 'GetLastError@kernel32.dll stdcall'; |
При использовании скина как сделать,чтобы при выходе инсталл плавно закрывался без дополнительной формы аеро ( на Win7)...
|
как сделать чтобы ярлыки создавались либо для всех пользователей, либо для текущего?
|
Взял пример из справки программы:
В итоге у меня получилось но при компиляции выдает Как это исправить? И еще такой вопрос: как создать checkbox c текстом "Зарегистрировать" на странице выбора папки (SelectDirPage) чтобы если отмечен, то при установки устанавливался файл regcode.ini если не отмечен то не устанавливался? |
Покажите пожалуйста пример слайд шоу через ботву.
|
|
Цитата:
Либо сделать отдельную функцию, которая вызовет и CreateBackup, и ChangeCaption. |
Цитата:
Реализация функции CreateBackup |
Dodakaedr, ок, просто хотел уточнить параметры CreateBackup. Раз их нет, то и будем вызывать без них :) Как я писал выше, самый легкий способ - сделать так:
Код:
procedure ChangeCaption(str: string); P.S.: ChangeCaption в [Code] должен быть объявлен позже, чем CreateBackup. Цитата:
|
Цитата:
|
доброе время суток. я делаю репак winrar и как вы знаете что у него есть ранее созданный деинсталлятор. я не знаю как вам объяснить, но попробую. Как сделать так, чтобы вместо деинсталлятора который создает inno использовался деинсталлятор от winrar?
Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR_is1] |
Как сделать слайд шоу через ботву не по процентам а с интервалом времени...
Заранее спасибо... |
Необходимо добавить свою папку в папку {sys}\DriverStore\FileRepository.
Система не пускает: выдаёт ошибку 5 - отказано в доступе. В секции [Setup] строка PrivilegesRequired=admin имеется, в строке Source есть Flags: restartreplace. Как решить эту проблему? _______________________________________________ habib2302 А в лоб? Не? - Не делать деинсталлятор Inno, а скопировать в папку оригинальные Uninstall.exe и Uninstall.lst. При этом можно внести необходимые изменения в Uninstall.lst. В своих репаках давно так делаю. |
Как настроить показ слайдов попорядку а не вслучайном порядке.
И настроить распаковку слайдов в Temp а не рядом с инсталлом вот скрипт... http://rghost.ru/53315612 Благодарю за помощь... |
Как тут прописать чтобы из папки Temp брались изображения...
Код:
InitSlideshow(ExpandConstant('{src}\Database'),'.jpg',3000,0,0,798,543); |
Цитата:
{src} Папка, в которой находится инсталлятор. {tmp} Временная папка. Это не значение переменной среды TEMP пользователя. Это папка, где создаются временные файлы инсталлятора ("C:\WINDOWS\TEMP\IS-xxxxx.tmp"). Все файлы и папки удаляются из папки Temp после завершения установки приложения. |
nik1967, Спасибо большое :up . Глянь пожалуйста скрипт почему то слайд-шоу не работает наверное таймера не хватает даже не знаю...
http://rghost.ru/53363940 |
Ivan_009, http://rghost.ru/53366454
А это без доп. библиотек, но на .bmp - голимый дефулт (SlideShow) (рекомендую использовать UNICODE версию InnoSetup) |
nik1967, Спасибо большое при большое :) :up ...
Извините за :offtopic: nik1967, Кстати ты не в курсе, что на krinkels работы какие то ведутся не возможно зайти на сайт уже третий день... |
Ivan_009, Так же сорри за оффтоп.
|
Привет... вопросик:
Можно ли научить инно скачивать с https ? Может *dll-ку какую можно прикрутить? З.Ы. с http качает без проблем. |
Ivan_009, кстати, вдруг если не заметил, нумерация файлов слайдшоу должна начинаться с 0 - 0.bmp, 1.bmp и так далее. Это так, на всякий случай :)
|
Цитата:
|
Код:
[Setup] |
Цитата:
Dodakaedr, ну дык |
nik1967, Таймер какой то не убиваемый пробовал:
Код:
ImgSetVisibility(AImg[i],false); |
Ivan_009, скинь скрип с файлами - посмотрю, как будет время (можно в личку).
|
nik1967, не то. Твой скрипт создает
Код:
[Language] Код:
[Language] |
Цитата:
Код:
ExpandConstant('{app}\Language\Russian.ini') Цитата:
Код:
procedure DeinitializeSetup(); Код:
[INI] |
Цитата:
|
Доброго времени суток!
Подскажите плиз, можно ли в инно поменять порядок отображения стандартных страниц? Ну т е сначала тип, а потом выбор папки для установки, например. |
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
Как это окошко (Информационное) можно изменить: размер, название вверху, вставить картинку в нижнею часть? |
Dodakaedr, никак. Это стандартный MsgBox, редактировать его нельзя, за исключением текста и набора кнопок. В шапке есть пример Создание кастомного диалогового окна, как раз под этот случай.
|
Ребята привет.
Скрипт - http://sendfile.su/952086 и еще не показывает прогресс бар ,можно тоже сделать ее,а то я не использую сторонние архиваторы,только пользуюсь средствами инно. Спасибо. |
Помогите пжста. Нужно сделать два чекбокса в деинсталле на удаление файлов конфигураций программы.
Вот часть моего кода: Только вот я не знаю как связать секции [UninstallDelete] и [code] |
Serega, в таком варианте работает несовсем корректно. Страницы меняются, но не меняются шапки, т е на странице с выбором папки заголовок про выбор компонентов и наоборот. И кроме того, на странице выбора компонентов по кнопке "далее" выводится диалог о папке установки (типа папка существует, точно хотите установить туда)
|
Shkutu, есть вот такой, старый, код Доброва:
|
saurn,
Почему inno ultra в этом коде выдает что 'PChar' неизвестный тип (67 строка)? |
Dodakaedr
type #ifdef UNICODE #define A "W" PChar = PAnsiChar; #else #define A "A" #endif |
vint56, спс
|
Цитата:
Цитата:
Поверьте, только после того, как вы начнёте переделывать код под свои нужды, только тогда вы начнёте разбираться. |
Как добавить чекбокс в деинсталятор с функцией не удалять файл?
|
|
Цитата:
|
Serega, спасибо, но нету что-то по проще. Мне нужно чтобы не удалился только один файл если отмечен чекбокс. Inno Ultra считается расширенной?
|
Никак не могу понять в чем дело... Имеется такой вот код:
Код:
function CheckPSE9: Boolean; |
|
Serega, спс!
|
В PM мне написали, что указанный в шапке пример Отображение размера устанавливаемого файла работает не корректно, а именно функция BytesToReadable не работает с размерами выше мегабайта. Проверил, действительно, в новых версиях Inno, работает не правильно.
Само сообщение уже отредактировать не могу, т.к. тема в архиве, поэтому приведу исправленный вариант в этом сообщении: |
Ребята ну помогите мне пожалуйста.
|
А кто поможет мне? 2 чекбокса в uninstaller'е сделать не могу для удаления созданных программой файлов. Один для удаления папки с конфигурациями, другой для с папками файлов сервера, созданных этой же программой.
Пытался этим кодом че-то сделать, но ничего не получилось: И ещё отдельный вопрос есть, как записать кавычки в ValueData в секции [Registry]? Например: Root: HKLM; Subkey: "SOFTWARE\Classes\ts3file\shell\open\command"; ValueType: string; ValueName: "@"; ValueData: "{app}\client.exe "%1""; Flags: uninsdeletekey |
Цитата:
Код:
Root: HKLM; Subkey: "SOFTWARE\Classes\ts3file\shell\open\command"; ValueType: string; ValueName: "@"; ValueData: "{app}\client.exe ""%1"""; Flags: uninsdeletekey Цитата:
http://forum.oszone.net/post-2330306-145.html |
Dodakaedr, спасибо попробую разобраться в этом кодище. Заодно можно узнать вот пишу я ValueName: "@", а мне нужна приплюснутая @, так как требуют параметры программы, есть ли разница или они одинаковые? Как вписать в Inno Setup другой вариант?
|
Цитата:
|
Dodakaedr, в этом коде есть она, здесь не знаю как отобразить
http://forum.oszone.net/post-2330306-145.html |
Цитата:
|
Dodakaedr, а как её ввести то?
|
Raz3r, так и вводи @
Цитата:
|
Цитата:
|
Цитата:
|
Dodakaedr, в реестре такой параметр есть, мне просто нужно сохранить пути реестра. TeamSpeak называется
|
Цитата:
|
Dodakaedr, спасибо попробую, последний вопрос, как в
Root: HKLM; Subkey: "SOFTWARE\TeamSpeak 3 Client"; ValueType: string; ValueName: "InstallMode"; ValueData: "AllUsers"; Flags: uninsdeletekey ...указать, чтоб параметры создались именно в SOFTWARE, а не в Wow6432Node по умолчанию на 64 бит платформе? |
Цитата:
Код:
Root: HKLM64; Subkey: "SOFTWARE\TeamSpeak 3 Client"; ValueType: string; ValueName: "InstallMode"; ValueData: "AllUsers"; Flags: uninsdeletekey |
Какие бывают типы сжатий ,заранее благодарю =)
|
Цитата:
zip
zip
; zip - сжатие / 9 - Степень сжатия (от 1 до 9) Compression=zip/9 ; Внутреннее сжатие (none, fast, normal, max или ultra ) InternalCompressLevel=ultra ; Потоки сжатия (auto, 1 или 2) CompressionThreads=2 ; Непрерывное сжатие SolidCompression=True Пример: Код:
Compression=zip/9 bzip
bzip
; bzip - сжатие / 1 - Степень сжатия (от 1 до 9) Compression=bzip/9 ; Внутреннее сжатие (none, fast, normal, max или ultra ) InternalCompressLevel=ultra ; Потоки сжатия (auto, 1 или 2) CompressionThreads=2 ; Непрерывное сжатие SolidCompression=True Пример: Код:
Compression=bzip/9 lzma
lzma
; lzma - сжатие / ultra64 - Степень сжатия (fast, normal, max, ultra и ultra64) Compression=lzma/ultra64 ; Внутреннее сжатие (none, fast, normal, max или ultra) InternalCompressLevel=ultra ; Потоки сжатия (auto, 1 или 2) CompressionThreads=2 ; Непрерывное сжатие SolidCompression=True Пример: Код:
Compression=lzma/ultra64 lzma2
lzma2
; lzma2 - сжатие / ultra64 - Степень сжатия (fast, normal, max, ultra и ultra64) Compression=lzma2/ultra64 ; Внутреннее сжатие (none, fast, normal, max или ultra) InternalCompressLevel=ultra ; Потоки сжатия (auto, 1 или 2) CompressionThreads=2 ; Непрерывное сжатие SolidCompression=True Пример: Код:
Compression=lzma2/ultra64 none
none
; none - без сжатия Compression=none ; Внутреннее сжатие (none, fast, normal, max или ultra) InternalCompressLevel=ultra ; Потоки сжатия (auto, 1 или 2) CompressionThreads=2 ; Непрерывное сжатие SolidCompression=True Пример: Код:
Compression=none Воспользуйся программами InnoIDE, ISTool или Inno Script Studio InnoIDE "Проект » Настройки » Сжатие" ISTool "Проект » Параметры дистрибутива » Компилятор" Inno Script Studio "Проект » Параметры установки » Сжатие (Project » Setup Options » Compression)" |
Dodakaedr, просмотрел код, который по той ссылке. А нельзя как-нибудь попроще найти способ? Просто не понимаю как с этим кодом сделать 2 чекбокса на деинсталлер.
|
Raz3r, мне тоже нужно было создать чекбокс и мне дали такой код, а когда я попросил попроще то ответили:
http://forum.oszone.net/post-2330624-148.html Так что если найдете по проще, то поделитесь.... |
Где можно посмотреть примеры реализации проверок IsWin32, IsWin64 или тому подобное. В справке читал, хочется поподробней посмотреть их реализацию?
|
Dodakaedr, в Inno нет вшитой функции IsWin32.
Простейшее использование IsWin64 на примере установки файлов: Код:
[Setup] |
Можно ли реализовать о выходе новой версии и добавить уведомление в любую игру,заранее благодарю
|
Подскажите, как добавить событие для ShowButton, чтобы при нажатии выполнялось действие показать/скрыть панель и сохранялось событие чекбокса при изменении и закрытии панели.
|
Цитата:
Код:
[Setup] Код:
[Setup] |
Stealthmax, Немного упростил.
Цитата:
|
Можно ли как то реализовать в скрипт Лаунчер по оповещению новой версии программы
|
|
Цитата:
Ещё такой вопрос: можно будет обратиться с готовым скриптом, для проверки и правки, если вдруг где-то будут ошибки? А то я давно мурыжу свой скрипт из тонн поисковых запросов google и справки по Inno. Хочу для личных нужд вывести свой и больше не возиться с написанием. На руборде неоднократно обращался, но там народ не сильно сговорчивый, никто ни разу ничего не подсказал. А здесь практически всегда кто-то чем-то поможет или хотя бы ответят, "носом ткнут". |
Какой параметр нужно ввести вместо DeleteFile(ExpandConstant('{app}\ts3server.sqlitedb')); чтобы удалить папку со всеми вложенными файлами?
Пример: |
Raz3r,
Код:
[Code] |
ролрллгнлнглнг
|
Разве никто не может помочь?
|
Raz3r, вам же даже программа сообщила, где и в чем ошибка :)
Цитата:
Код:
CustomMessage('Удалить все пользовательские настройки программы?') Код:
'Удалить все пользовательские настройки программы?' Функция CustomMessage используется для получения значений из секции [CustomMessages], например: Код:
[Languages] |
Цитата:
Цитата:
|
Ребята как убрать в скрипте распаковку исдоном?
|
Цитата:
|
Цитата:
В Inno, проверка IsWin64 встроенная - можно даже наглядно увидеть присутствие IsWin64: Inno Script Studio "Вид » Секции » Файлы" На элементе жмёшь "ПКМ (Правая кнопка мыши) » Свойства элемента (Alt+Enter)" Затем переходишь во вкладку "Общие" Далее, "Скрипты паскаля » Проверка:" |
Nordek, спс
|
Цитата:
Вот готовый вариант: Код:
[CustomMessages] Если же хочешь прописывать в MsgBox текст, то удали то, что отметил красным: Код:
[Code] Код:
[Code] Кстати, использование [CustomMessages], позволяет задавать сообщения на других языках, например: Код:
[Languages] |
Использую Inno Ultra, в редакторе форм есть строка BorderIcons в которой можно скрыть системное меню (biSystemMenu), теперь интересует как вывести только кнопку "закрыть"?
|
Цитата:
Код:
function GetClassLong(Wnd: HWnd; Index: Integer): Longint; external 'GetClassLongA@user32.dll stdcall'; |
Цитата:
Код:
#define A = (Defined UNICODE) ? "W" : "A" Код:
Root: HKU; SubKey: S-1-5-21-2866158627-181887668-3254620381-500\Software\TotalImageConverter; ValueType: string; ValueName: Key; ValueData: 0r/1GkAO/GMNgF5gip+qjw0OmwHwWCAw73h0I2eO/k6wRVs8HEWGdKK2BOVGxJvFmY3aD6pFMBveZb87Jht+hNWdqXcyekWPDvm3RstdisI6BSJy0UW8wtKQa217TKPbReCRXL38Z5YD9gyu0B68h2dV9yPzo; Flags: uninsdeletevalue uninsdeletekeyifempty Цитата:
|
Цитата:
Код:
procedure InitializeWizard(); Код:
procedure InitializeWizard(); |
Gnom_aka_Lexander, и эти способы не выводят кнопку.
|
Dodakaedr, если ты удаляешь все кнопки, то вывести не выйдет. нужно не вместе, а вместо.
|
Цитата:
|
Dodakaedr, скрипт свой с файлами залей куда-нибудь. должно и со скином все работать.
|
Цитата:
|
Dodakaedr, у тебя в скрипте:
Код:
with WizardForm do |
Цитата:
|
Dodakaedr, тогда просто удали эту строчку. у тебя уже есть BorderStyle := bsDialog;, этого достаточно. и системного меню не будет, потому что его нет у диалоговых окон, как и кнопок свернуть и развернуть во весь экран.
|
Цитата:
|
В общем не так давно тут мне давали код для получения SID пользователя
почти работает, не работает в случае переименования пользователя что в доменных сетях не редкость, в таких случах в SID возвращается Username вот рабочий код дельфи, работает и на переименованных пользователях Код:
function LookupAccountName(lpSystemName, lpAccountName: PWideChar; может Серега или ЭльСанчез справятся |
R.i.m.s.k.y., с этим можешь помочь http://forum.oszone.net/post-2331745-192.html???
|
Dodakaedr,
как-то так Код:
[Registry] |
R.i.m.s.k.y., спс. вечером попробую.
|
Вложений: 1
Цитата:
|
Цитата:
|
Gnom_aka_Lexander, проверил
система запущена от user (originaluser) установщик - от admin (currentuser) получил сид админа (currentuser) что неинтересно как передавать параметром имя пользователя от которого запущена система (а не установщик) чтобы получить sid originaluser? |
R.i.m.s.k.y., честно говоря, не думал, что это понадобится, чуть позже допилю.
|
Цитата:
можешь брать и вставлять в длл |
Вложений: 1
R.i.m.s.k.y., в нем как раз и была у меня проблема, при чем код отрабатывал, но при закрытии инсталла выскакивала ошибка, так и не нашел, где косяк у меня там, поэтому и сделал по другому.
Прицепил, должно показывать залогиненого пользователя. |
Gnom_aka_Lexander, Спасибо, проверю
Но кмк оно должно на вход принимать имя пользователя, а выхлопом выдавать его sid Независимо от состояния логина |
Цитата:
Код:
//Убираем кнопку "Свернуть/Развернуть/Масштабирование" в окне установщика, только "Закрыть" // |
Подскажите, как использовать пользовательские ключи командной строки, кроме /COMPONENTS и /TASKS, для своих функций, типа Check: бла-бла-бла? Или это не реализовано в Inno ?
|
Stealthmax, самому реализовывать
Код:
Function InitializeSetup: Boolean; |
Цитата:
Код:
[Files] А также: возможно ли переназначить ключ "/VERYSILENT", например, в ключ "S" без привязки к регистру? Поиск по форуму вывел на несколько постов: 1, 2, 3. Но я реально дубовый))) Не могу склеить воедино суть сюжета. Если не затруднит, то можно наглядно в рабочем состоянии изобразить это действо?! |
Код:
[Files] |
|
Ребята,почему долго идет процесс установки?Сжимал игру на 980 мб,а ставится как батла 4..
Вот скрипт - http://multi-up.com/964088. |
Здравствуйте,
Подскажите пожалуйста, есть функция slideshow в окне инсталлятора: Код:
#define TIME_FOR_VIEW 10 |
Здравствуйте, подскажите пожалуйста как менять значение конфига json, при выборе определённого компонента
|
Подскажите пожалуйста как на деинсталлятор прикрутить свой шрифт для кнопок...
Пробовал так не работает... Ошибку выбивает:http://rghost.ru/53729756 Код:
var |
Если {tmp} это временная папка инсталлятора... а как обозначить временную папку Win? {%TEMP} ?
|
Mat_y, %temp%
|
|
Mat_y, в инно это константа {%TEMP}
|
|
Mat_y, EXPANDconstant('{%temp}')
|
Mat_y, Из справки:
то есть по маске {%NAME} вместо NAME подставляем имя переменной винды без обрамляющих знаков процента. формат %temp% или она-же %tmp% - инно не поймет, это для командной строки самой винды. |
Я может не выспался... но никак не могу усвоить материал...
Как мне надо написать, чтобы inno распаковал фаил в temp винды? И потом оттуда выполнил [RUN]? |
|
Цитата:
И вопрос по поводу /SILENT и /VERYSILENT остается открытым. Есть ли возможность их уравнять и переназначить на один ключ "/s"? К примеру, /SILENT := /VERYSILENT := /s, ну это грубо изобразил ,но думаю смысл понятен. |
Цитата:
в секции code - expandconstant('{%temp}') Цитата:
хотя КМК это баг инно - нигде result не объявялется false Цитата:
я просто проверяю поданы ли на вход параметры /SILENT и /VERYSILENT и если да - отталкиваюсь от них |
Цитата:
Цитата:
|
Цитата:
поиск по silent в помощи такой WizardSilent не выдает А кусок кода и метода по ссылке - объявить глобальную переменную в зависимости от параметра комстроки установщика - это я выше и написал |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Скрипты на Pascal » Встроенные функции » function WizardSilent: Boolean; » Цитата:
|
Цитата:
И получается твой код нужен когда хочешь вывести только кнопку закрыть, но при этом не скрывая системное меню, а для вывода только кнопки закрыть без системного меню достаточно borderstyle :=bsdialog; |
Цитата:
|
привет. кто знает пример как поставить свой курсор., на кнопки и чекбоксы поставил через ботву а на саму форму "рабочих" примеров не нашел
|
Цитата:
Код:
procedure InitializeWizard; |
Цитата:
|
innot20, Жми сюда: http://forum.oszone.net/thread-278998-23.html :offtopic:
|
Ivan_009, как задать еще и на чекбоксы на странице допольнительных задач?
|
Цитата:
Код:
var |
Ivan_009, код будет работать если чекбоксы выводятся через секцию tasks?
|
Цитата:
Пример: Цитата:
|
Ivan_009, супер:)
|
Цитата:
|
Цитата:
|
Цитата:
|
Ivan_009, попробую к своему инсталу это прикрутить)))
|
Ivan_009, Stealthmax, жаль что не ко всем скинам это подходит..
|
Ivan_009,
да, это я знаю, я имел ввиду "свой" курсор - то есть 'cursor.cur' через = function LoadCursorFromFile(FileName: String): Cardinal; external 'LoadCursorFromFileA@user32 stdcall'; на кнопки делал так = BtnSetCursor(CancelButton,LoadCursorFromFile(ExpandConstant('{tmp}\cursor2.cur'))); а на саму форму как, ???? |
audiofeel, Короче не мучайся вот пример... :)
Цитата:
На форму и кнопки... Рядом кинь сам курсор cursor.ani |
Ivan_009,
Цитата:
я по другому не много делал - вроде работает = http://rghost.ru/53748629 |
Цитата:
Только я забыл в конце дописать: Код:
procedure DeinitializeSetup(); |
Цитата:
|
привет всем, вот в этом примере реализовано слайд шоу, через ботву, без b2p.dll, то есть файлы для слайд шоу берутся из {src} . как его прикрутить к новой ботве, из буфера не получится наверное файлы брать, но хотя бы из папки темп = http://rghost.ru/53755419
|
|
Привет всем, подскажите как менять конфиг json при выборе определённого компонента
|
innot20, ты спамер? если в третий раз не ответили - значит никто не знает
|
Подскажите CLSID и TypeLib в реестре для контекстного меню (файл .dll) генерируется установщиком или изначально задается конкретный номер???
|
Всем привет - прошу вас помочь мне. А то что то у меня не выходит.
У меня возникла мысль добавить вперед страницу (скажем с своим лого). Но она добавляется только 2-ой. Когда же я пытаюсь перенести все надписи на вторую (мою) страницу - инсталятор говорит - ТАКОЕ НЕ ВОЗМОЖНО ВСЕ ЗАБЛОКИРОВАНО. Помогите мне добавить лого в начало установки. Либо картинкой горящей 5 секунд. Либо добавить страницу(свою пустую) в начало самого инсталера. Суть такая должно быть сначала лого, а потом начаться установка. |
Цитата:
|
Цитата:
|
Ivan_009, да - то что надо.
Цитата:
или если у меня работает значит она подключена? Inno setup v5.4.2 Ultra Полная версия Все. Торможу. Спасибо большое за подсказку или совет, ну и за скрипт. |
Цитата:
|
Цитата:
Разобрался. Использовал issplash.dll |
Dodakaedr,
Цитата:
[Setup] ChangesAssociations=true ChangesEnvironment=true ----------------------------------- ChangesAssociations-изменяет связи ChangesEnvironment-изменяет переменные |
Цитата:
|
Цитата:
[Setup] SetupLogging=true ChangesAssociations=true RestartIfNeededByRun=false TimeStampsInUTC=true ChangesEnvironment=true [Files] Flags: regserver regtypelib |
audiofeel, Спасибо, но уже сам разобрался. Оказалось нужно было с особенным параметром запускать программу после установки (запуск должен быть обязательным). Осталось узнать как её запустить с настройками выбора языка, а то в программе нету такой функции, она как-то при первом запуске появляется в оригинале.
|
Цитата:
Я увидел isgsg.dll. Не сомневался я что вы не проявите свою внимательность, а стоило бы: Прокрутите колёсиком мыши от себя на столько, на сколько это возможно - пока не упрётесь в первое сообщение т.е в шапку темы. Кликать кнопкой мыши (Левой кнопкой мыши (по умолчанию) для правши или правой кнопкой мыши для левши (для левшей - это уже зависит от настройки конфигурации мыши - т.е в настройках мыши, ставили вы ли ранее галочку "Обменять назначение кнопок" в конфигурации кнопок.)) Кликните: Показать/скрыть: Дополнительные программы для Inno Setup: Далее найдите: Цитата:
после того как кликните Inno Setup GameScript Generator - вас перенаправит на форум csmania. Находясь уже на форуме csmania, найдите: Цитата:
после того как кликните isgsg_1.1.0.62.7z, вас перенаправит на rusfolder находясь на rusfolder, будут зелёные циферки а напротив окошко введите указанные на картинке цифры в окошке напротив и нажмите "скачать" после того как нажмёте "скачать", вас перенаправит на следующую страницу Далее на странице найдите "Ссылка для скачивания файла:" (длинная такая) - кликните на неё, после начнётся скачивание файла isgsg_1.1.0.62.7z размером в 571КБ после того как скачаете, файл isgsg_1.1.0.62.7z распакуйте архиватором 7-Zip после распаковки увидите файл isgsg.exe - это и есть Inno Setup GameScript Generator И добавляйте им - заставку, фоновые рисунки и фоновую музыку в разных комбинациях. Достаточно подробно? Такими не сложными действиями - может за одно свою лень убьёте. Прямых ссылок на программу не будет (а то ещё не хватало себе карму испортить). |
Цитата:
1. Проект VCL Styles 2. Установщик с библиотекой; можешь просто распаковать в папку и использовать редактор без установки, dll-ка там же. 3. Рабочий пример 4. Как выглядит Файл 112154 P.S. Проверено на Unicode и Ansi версиях, пример-вложение перезалил, чтобы вопросов не возникало |
Всем привет возник такой вопрос. У меня на странице компонентов: окно компонентов и окно для показа изображение при наведении на компонент. Внизу остается немного места, собственно как сделать небольшое окно на странице компонентов на котором бы отображался текст когда наводишь на компонент. Идентично так как и с картинками. Т.е. пользователь наводит на компонент и видит окно в котором есть небольшое описание к данному компоненту. Заранее спасибо за ответ!
|
Stealthmax, Проект VCL Styles ,Использовать только Юникод версию Inno Setup на Анси ошибку выбивает...
Че за дела... :( |
Цитата:
Код:
// в данном случае при наведении курсора на странице wpWelcome на само привествие выводится описание компонента Цитата:
Почитай, если будет время |
Цитата:
|
Цитата:
|
Цитата:
Попробуй так и отпишись, чтобы другие не наступили на грабли, допишу исправление. У меня запустилось на обеих версиях Unicode и Ansi Код:
#ifdef UNICODE |
|
Цитата:
Цитата:
Код:
#define A = (Defined UNICODE) ? "W" : "A" |
Цитата:
|
Цитата:
Цитата:
И посмотри исправления в прошлом посте от Nordek или в моем(внес правку). Все работает без нареканий. P.S. Для тебя персонально перезалью пример в том же посте. |
Цитата:
А ошибка при ПКМ в VCL Styles версии 1.0.5.3 была, в VCL Styles версии 1.2.1.3 нет. |
Stealthmax, Где скины можно качнуть не подскажешь... :)
|
Сейчас заметил редактор скинов добавили VclStyleDesigner и просмотрщик VclStyleTest
|
|
Nordek, Интересно почему вверху крестик неактивен на инсталле не заметил случаем... :biggrin:
Установку отменить можно лишь кнопкой отмены... :beta: |
Цитата:
Установи программу или распакуй её программой UniversalExtraxtor и там увидишь папку Styles, в ней все скины доступные + сам редактор скинов + демо для просмотра скинов. Цитата:
|
Stealthmax, А как,чтобы подверждение было чет не допер... :(
|
Цитата:
Как всегда, что-то не так. В VclStyleTest при попытке перейти к Data Controls - выдаёт сообщение "Error loading MIDAS.DLL". Прикрепляю. Бибилиотеку MIDAS.DLL положить рядом с VclStyleTest (C:\Program Files\The Road To Delphi\VCL Styles Inno); Или установка: Код:
COPY midas.dll "%Windir%\System32" /Y Код:
regsvr32 /U /S "%Windir%\system32\midas.dll" Цитата:
Использую в инсталляторах: Код:
[Code] |
версия = 1.2.1.2 "крестик" работает :yes:
|
Цитата:
Код:
function FProc(h: hwnd; Msg, wParam, lParam: Longint): Longint; |
Цитата:
|
Цитата:
|
|
Цитата:
Чтобы было нагляднее и понятнее, открой этот код в расширенной версии Inno ResTools и увидишь что и куда, я специально оставил секцию ISFormDesigner, дабы сам посмотрел. Можно убрать действия для курсора мыши, чтобы не переполнять элементы. Для компонентов увидишь события- от этого можешь отталкиваться и писать свой код. Цитата:
|
Stealthmax, спасибо. Тут немножко не так как хотелось бы. Я пытался подстроить под себя, но не получилось.
Возможно ли сделать так? Изображение: Скрипт: |
Подскажите пожалуйста если кто знает,возможно ли сделать Edit прозрачным и выделяемым...
Как здесь сделано: http://rghost.ru/53801139 |
Подскажите, пожалуйста, можно такое создать в inno setup? (файл xml)
|
Цитата:
|
Цитата:
|
Ivan_009, у меня что ли видел? или нее...
|
Цитата:
А то через ботву только прозрачным можно сделать... |
Ivan_009, две формы. одна на переднем плане с вырезанием цвета, другая взади. какой прозразрачный эдит? :) Как в IsPicture короче говоря.
|
Цитата:
|
Ivan_009, Вот (это лишь пример как бы прозр эдита) :)
|
Цитата:
И упрощение для удобства за помощью sergey3695, за что отдельное спасибо: Код:
procedure OnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); |
Stealthmax,
Код:
0: begin |
Stealthmax, а можно ли какой то более легкий способ на описание компонента , т.к некоторые обозначения есть уже
|
Цитата:
Цитата:
По поводу некоторых обозначений. Я дал пример, который не подразумевает использовать в первозданном виде, меняй названия элементов как угодно, повторюсь, это всего лишь пример. |
Stealthmax, мда... я же написал текст лейбла. (поясняю как ты и написал в кепшане указывается текст, но так как я посчитал что DescritionText это лейбл,то написал текст лейбла (кепшан относится к лейблу)) :)
|
sergey3695, мего запутано (
|
Цитата:
Цитата:
|
Stealthmax, ну да забей короче...
|
Покажите пример пожалуйста если у кого имеется, на отображение сколько распаковано файлов...
Как тут: http://rghost.ru/53844067 |
Как исправить эту ошибку? Скрипт с Ultimate Test Black.7z в шапке...
|
Stealthmax, спасибо большое все просто супер. Как я понял на этом примере который вы мне скинули не только описание компонентов а еще и изображение? Т.е. мне убрать мой скрипт на показ изображений к компонентом?
|
Вложений: 1
По исправлял появилась следующая....
Я так понимаю что все дело в unicode? |
Dodakaedr, в описании ошибки кроется ее причина: "Не хватает знака ";" в строке 118". И таких ошибок, дальше по скрипту, будет тьма, так как юникодовая инно не допускает отсутствия точки с запятой, и после логической скобки end в особенности.
|
Здравствуйте, совсем недавно начал изучать тему создания репаков.
При создании и оформлении своего первого инсталятора сталкнулся со следующей ошибкой. После компиляции установочник не желает открываться, высвечивая статус "не отвечает". Долго пытался разобраться в чём дело, в итоге понял что конфликт идёт с частью скрипта отвечающем за всплывающее png изображение перед запуском установочника и с частью отвечающей за кликабельный логотип. Примечательно то что этот же самый скрипт прекрасно компелируется и без проблем запускается если в [Files] вместо всей папки игры запаковать "пустышку" из нескольких файлов. Уже кучу гайдов перерыл, решения так и не нашёл. Буду благодарен если кто сможет помочь разобраться. Вот собственно сам скрипт: |
Цитата:
|
Цитата:
|
PRAVIY Сначало временые файлы а потом все остальное
[Files] Source: PIC\logo.bmp; Flags: dontcopy Source: DLL\CallbackCtrl.dll; Flags: dontcopy Source: PIC\splash.png; Flags: dontcopy Source: DLL\isgsg.dll; Flags: dontcopy Source: D:\GAMES\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion ;Source: D:\GAMES\DOOM 3\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs |
Цитата:
PRAVIY, Вот пробуй: http://rghost.ru/53849516 |
Цитата:
Цитата:
|
PRAVIY, Кстати, если понадобится вдруг переместить папку "Скрипт репака Doom 3" в другое место - то Inno, например файл LMS4.bat уже не найдёт.
Поэтому, замени D:\GAMES Код:
Source: D:\GAMES\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion Код:
Source: ..\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion |
Цитата:
|
Как можно реализовать неоновые кнопки
|
Цитата:
|
Ivan_009, да
|
Цитата:
|
Ivan_009, спасибо
|
привет всем, а как "повесить" свой курсор и свой " Click.wav" и "WFEnter.wav" на
"BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', ............." может просто отказаться от BASS и использовать function sndPlaySound |
Цитата:
Так: Код:
BtnSetCursor(BASS_OnOffBtn,LoadCursorFromFile(ExpandConstant('{tmp}\cursor.ani'))) |
Как в примере из шапки в "Отображение процентов при (де)инсталляции" сделать показ процентов при инсталляции? Проверял при инсталляции не отображается
|
Ivan_009,
|
|
Ivan_009, не помогло ссылается и на неё с ошибкой
|
Цитата:
|
Dodakaedr, Не знаю у меня все нормально отображается, брал пример из шапки...
Может и за Юникодной версии Inno Setup... diman_21Ru, Дай скрипт в личку гляну... |
Цитата:
|
Цитата:
|
Ivan_009, теперь Duplicat identifer 'LOADCURSORFROMFILE'
может можно просто переименовать какую нибудь из них ?? |
Ivan_009, не получяеться чтоли мой скрипт ?
|
|
Цитата:
вроде работает так правильно ??? |
Цитата:
функцию function LoadCursorFromFile(FileName: String): Cardinal; external 'LoadCursorFromFileA@user32 stdcall';. Ты переместил BtnSetCursor(BASS_OnOffBtn,LoadCursorFromFile(ExpandConstant('{tmp}\cursor.ani'))) з procedure BASS_CreateOnOffButton(Parent: TWinControl; Image: String; Left, Top, Width, Height, ShadowWidth: Integer);???? |
Dodakaedr,
да не совсем вобщем вот это в "главном" скрипте procedure InitializeWizard; begin ............................. BASS_Init('{tmp}\Music.ogg'); BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', ScaleX(690), ScaleY(20), ScaleX(24), ScaleY(24), 4); BtnSetCursor(BASS_OnOffBtn,LoadCursorFromFile(ExpandConstant('{tmp}\cursor2.cur'))) а вот это осталось в модуле BASS BASS_OnOffBtn:= BtnCreate(Parent.Handle, ScaleX(Left), ScaleY(Top), ScaleX(Width), ScaleY(Height), ExpandConstant(Image), ShadowWidth, False) |
Цитата:
|
Имеется картинка формата .png с прозрачным фоном, как теперь сохранить эту прозрачность для сплеша?
|
|
Цитата:
Попробовал: сплеш вообще не появляется. В Ansi работает, как добиться этого в Unicode? |
Цитата:
Код:
procedure ShowSplashScreen(p1:HWND;p2:AnsiString;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload'; |
Как можно прикрутить Button кнопки если уже имеется музыка , заранее спасибо
|
diman_21Ru,
http://rghost.ru/53930424 |
TryRooM,
|
diman_21Ru, во первых скрин отличается от предоставленого скрипта, в скрипте этой грубейшей ошибки нет. у тебя блок создания SizeLabel почему-то вне какой-либо функции, и плюс еще завершен лишним end.
|
Gnom_aka_Lexander, Это не лишняя end , ошибка выходит как не крути (
|
diman_21Ru, эта лишняя end уже не играет роли, потому что главная ошибка выше нее, блок создания SizeLabel вне какой-либо функции или процедуры. и этого блока нет в скрипте, который тебе предоставлен, и сам по себе грубых ошибок, ведущих к неработоспособности кода не имеет.
|
diman_21Ru,
Скрипт который я дал рабочий, у тебя ошибка возникла по другой причине. Неправильно , или не туда интегрировал, как тебе написали выше. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
diman_21Ru, Мистер, у меня нет подобных примеров для теста что вы привели на скрине - да оно мне и нафиг ненужно. Больше скажу - оно никому не нужно кроме вас самого. Если хотите чтоб вам подсказали - будьте так добры предоставлять как можно больше информации. Нет - тогда сами. Вот, представьте: пришлось найти похожий пример чтоб наглядно показать. Вроде видно - или нет? Тут проблема одна: Лень, руки и мозги. |
Ребят а как прописать в скрипте так чтобы при создании ярлыка на рабочем столе в нём также прописывались дополнительные задачи (как например запуск модификации или пропуск вступительных заставок и тд)
Конкретно в моём случае цель сделать чтоб в свойствах ярлыка в графе "Объект" прописывалось так: "C:\GAMES\Half-Life\hl.exe" -game decay Если же просто в скрипте прописать {app}\hl.exe -game Decay; то в ярлыке в итоге ставится "C:\GAMES\Half-Life\hl.exe -game decay" (акцент на кавычках) И в таком случае ярлык вообще не видит файл. :( |
PRAVIY, справка, Секция [Icons], параметры:
Цитата:
|
Цитата:
|
Цитата:
далее: |
Подскажите, пожалуйста, что нужно написать, чтобы секции [INI]
Код:
Filename: {app}\filename.ini; Section: new; Key: date; String: ?????????????? |
Mat_y, можно так
Код:
[Ini] |
Ребята,что там в RUN дописать надо чтоб было по выбору чекбокса дополнительное ПО.
Сам скрипт - http://sendfile.su/966524 |
Подскажите как создать ярлыки в секции [code] через чекбоксы на странице выбора папки установки (SelectDirPage)? Нужно два чекбокса для ярлыка на рабочем столе и в меню пуск.... Стандартные секции не нужны.
Цитата:
Код:
[Run] |
Dodakaedr,
Там в скрипте я это и добавил,но оно ставится автоматом ,короче без выбора после установки игры. |
Dinvin4ester, Попробуй так Flags: postinstall nowait skipifsilent
Удали waituntilterminated |
Dodakaedr,
Сделал все что вы сказали ,но нету выбора,вот такое http://i58.fastpic.ru/big/2014/0411/...2a84c0d12d.jpg |
Dinvin4ester, а вам в какой момент чекбокс нужен (на скрине не слишком понятно, какая страница отображается)?
Флаг postinstall покажет чекбокс, когда установка уже будет завершена (на странице wpFinished). Если нужен чекбокс до начала установки, то кроме секции [Run] нужна еще секция [Tasks]. Код:
[Tasks] |
Shkutu,
Ага,чекбокс нужен до начала установки,чтобы можно было снять его ,точнее убрать или поставить галку.Щас попробовал ваш способ ,осталось также как и было . Получается уже чистый лист http://i58.fastpic.ru/big/2014/0411/...f4434ce6a5.jpg , а мне хотелось туда впихнуть. |
Dinvin4ester, http://rghost.ru/53991057
|
TryRooM,
Спасибо,попробую. |
возможно создать check для секции Run? Что-то типа этого:
Код:
[Run] |
Цитата:
Можно и при помощи тасков. |
Цитата:
|
Цитата:
Код:
[Tasks] |
При отмеченном чекбоксе после успешной установки выбивает ошибку что файл сценария не найден(( Как исправить?
Цитата:
|
Цитата:
Код:
[Files] |
Цитата:
|
Dodakaedr, http://rghost.ru/54002757
|
TryRooM, нет, нужно через секцию code
|
Dodakaedr, http://rghost.ru/54003620
|
TryRooM, тоже самое..... ошибка.
Цитата:
|
Dodakaedr, Скинь скрипт, посмотрю.
|
TryRooM, сейчас немного доработаю и скину
|
Dodakaedr,
закоментируй DisableFinishedPage=yes |
Цитата:
|
Dodakaedr, http://rghost.ru/54006194 пример от vit56 картинки
закоментируй и заработает vbs |
Цитата:
|
Dodakaedr, http://rghost.ru/54007600
по такому принципу, она будет , но её можно отключить и vbs будет работать. |
TryRooM, а как еще и installing page можно скрыть?
|
Dodakaedr, http://rghost.ru/54016893
|
TryRooM, Не скрывает(((
|
Dodakaedr, http://rghost.ru/54026093
|
TryRooM, тоже не идет( Ничто не может скрыть страницу InstallingPage (процесс установки)...
|
Dodakaedr,
из справки SILENT, /VERYSILENT Установка в ускоренном или очень ускоренном режиме. При установке в ускоренном режиме окно мастера и фоновое окно мастера не отображаются, отображается только окно прогресса. При очень ускоренной установке окно прогресса тоже не отображается. Остальная установка проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница приветствия (если ее отображение не отменено директивой DisableStartupPrompt или параметром '/SP-' командной строки). |
Цитата:
|
Цитата:
|
Цитата:
|
Ребят! А чем можно создать формы? inno setup form designer не работает под windows 8.
|
Можно ли реализовать видео ролик при запуске установщика чтобы ролик был посередине установщика,а затем пропадал , заранее спасибо
|
Цитата:
http://rghost.ru/54045880 |
Подскажите, пожалуйста, в чем может быть проблема. При использовании ботвы при запуске появляется два раза подряд такая ошибка и она же при переходе на страницу готовности (ReadyPage).
|
Вложений: 1
Скрипт
|
Ребята,помогите сделать процентный прогресс бар,поставил простой,но как-то не нравится.Что дописать нужно ?
Cкрипт - http://sendfile.su/967241. |
Dodakaedr у тебя нету Component.ID: страницы потому и ошибка
// ShowComponents(CurPageID); |
vint56, Спс. Вроде все норм стало))
|
Как теперь вывести картинку png на WizardForm при использовании библиотеки IsWin7?
пробовал так, не видно: Код:
ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\Logo.png'),ScaleX(24),ScaleY(327),ScaleX(150),ScaleY(25),True,True); |
Ivan_009, У вас получилось то что хотели?
|
Так никто не поможет составить процентный прогресс бар ?
|
привет всем, как "замедлить" анимацию кнопок на ботве ?? при наведении указателя и тд.
|
Как с помощью Inno Setup скачать архив с сервера для определённого компонента
|
Всем доброго времени суток!
Подскажите плиз, что за компонент выводит сообщение FinishedHeadingLabel ("Завершение мастера установки")? |
Shkutu, WizardForm.FinishedHeadingLabel
|
Всем привет как можно при установке мод-пака чтобы шрифты в модах устанавливались напрямик в папку Windows /Fonts
|
Цитата:
[Files] Source: Fonts\calibrili.ttf; DestDir: {fonts}; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: Calibri Light Italic как изменить размер шрифта для одной кнопки, (ботва) а не для всех ??? |
Цитата:
Код:
var |
audiofeel, Короче вот как я сделал :
Name: Fonts;Description:Fonts; Types: full compact custom; Flags: fixed Source:"Fonts\*"; DestDir: {Fonts};Components:Fonts; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: Calibri Light Italic установщик видит папку но не распаковывает не куда , что не так , заранее спасибо =) |
diman_21Ru, может попробовать запустить с правами админа?
|
Приветствую всех! Проблема образовалась, не могу сам разобраться, подскажите в чем глюк?!
Код:
function InitializeSetup(): Boolean; В реестре прописано: Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sandboxie |
Stealthmax,
Код:
[Setup] |
Цитата:
Тут непонятная проблема с извлечением строки реестра, которая идет с параметром "UninstallString"="C:\Windows\Installer\SandboxieInstall64.exe" /remove, а для Inno по аналогии идет просто "UninstallString"=C:\Program Files\MyApp_is1\unins000.exe, т.е. при вызове Exec('Path','/SILENT','') подставляем дополнительный параметр и все прекрасно работает. Скорей всего это и есть загвоздка. Не знаю как это обойти, получается что извлекает строку, но как-то не так её выполняет. При вызове из обычной командной строки данного фрагмента тоже все нормально, запускает стандартное удаление. |
доброе время суток. если отказаться от удаления программы нажав "нет", то появляется ошибка
и как сделать установку по пути из реестра т.е Код:
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1,InstallLocation|{pf}\My Program} |
с утра до вечера ни одного ответа на мое сообщение
|
Цитата:
Цитата:
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID") }_is1,InstallLocation|{pf}\My Program} Работает по следующему принципу: DefaultDirName={Если запись в реестре не найдена|Берем путь отсюда} Вывод напрашивается сам собой: записи в реестре нет, или указана она здесь не верно. ----------------------------------------------------------------------------------------- Цитата:
|
Парни почему при распаковки установщика не все шрифты ставятся , какова причина .
|
|
Цитата:
в этом скрипте устанавливаются два шрифта "Aniron" - это "TrueType" и "Proto Sans 56" - этот шрифт не "TrueType" после установки их видит Word и блокнот и они появляются в системной папке "шрифты", а также все записи в реестре http://rghost.ru/54285090 |
audiofeel, Немного не то , Короче вот как я сделал :
Name: Fonts;Description:Fonts; Types: full compact custom; Flags: fixed Source:"Fonts\*"; DestDir: {Fonts};Components:Fonts; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: Calibri Light Italic установщик ставит как надо шрифты но не все почему ? |
Цитата:
|
audiofeel, т.е я как понял сразу написав тока папку он так не определит , попытаюсь каждую тогда вписать
|
diman_21Ru,
Source:"папка где лежат шрифты\твой шрифт1.ttf"; DestDir: {Fonts};Components:Fonts; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: название шрифта1 Source:"папка где лежат шрифты\твой шрифт2.ttf"; DestDir: {Fonts};Components:Fonts; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: название шрифта2 |
audiofeel, вот гораздо удобнее ) спасибо
|
Можно одному элементу присвоить несколько caption? Например, имеется новый StatusLabel и нужно присвоить ему две-три надписи (caption) в течении установки.
|
Dodakaedr, по идее можно. Просто в каждый конкретный момент будет доступен последний присвоенный.
|
Shkutu, Как это можно осуществить?
А есть такая функция которая задает время показа элемента? |
Dodakaedr, задавать время показа - это вряд ли. Ну или я про такое не знаю.
Вообще, если речь о каких-то действиях после установки, то это все запихивается в CurStepChanged Код:
procedure CurStepChanged(CurStep: tSetupStep); |
Цитата:
|
Dodakaedr, вы как-то не слишком конкретно вопросы задаете:) Т е менять статусы надо во время стандартной установки, используя не стандартный статус-лэйбл? Ну можно попробовать так например
|
Цитата:
Shkutu, а на иконки (секция [Icon]) можно такое сделать? |
Можно эту процедуру оформить как функция, потому что мой статус-лэйбл уже используется в процедуре? По позже вырежу сам код покажу....Не могу ничего придумать(( В оригинале намного больше файлов...
Часть кода отвечающий за статус-лэйбл: |
Shkutu, Удалил свой статус-лэйбл, подставил ваш, но не знаю теперь как его вывести в процедуре MiniInstall? Если не выводить, то выбивает ошибку...Как это сделать?
|
Цитата:
Код:
function UninstallMyApp(): Boolean; А происходит следующее: указываем RemoveQuotes, т.е. убираем кавычки, а строка в реестре выглядит так: "C:\Windows\Installer\SandboxieInstall64.exe" /remove, то в итоге при выполнении получаем такой вид: C:\Windows\Installer\SandboxieInstall64.exe" /, т.е. обрезает начало и конец, и получаем явную ошибку. Пробовал играться с добавлением недостающих символов в строке, но результат снова 0. P.S. Все, решил вопрос снимается. Код:
Exec(ExpandConstant('{cmd}'), '/C ' + (Buff),'', SW_HIDE, ewWaitUntilTerminated, i); |
Какой самый простой способ в установщик добавить другую мышку ,заранее спасибо.
|
Цитата:
--------------------------------------------------- Касательно вашего вопроса, самое просто - использовать StringChange, а после вызывать исполняемый файл через Exec с параметром /remove Код:
[Setup] |
Цитата:
Код:
Exec(ExpandConstant('{cmd}'), '/C ' + GetPath+ ' /S','', SW_HIDE, ewWaitUntilTerminated, ResultCode); |
Цитата:
В своем первоначальном виде код работает как и надо. Цитата:
if not Result then Result := Возвращает Да, если нет искомого файла. Обрабатывается только если первое условие вернет Нет. Если условие возвращает Да работа функции прерывается. if not Result then if Отображает MsgBox, если условие выше возвращает Нет. Получаем своеобразную иерархию условий - если запись в реестре существует, ищем файл, если находим, выводим сообщение с предложением удалить и при ответе Да вызываем деинсталятор. |
Dodakaedr, надо было не удалять свой лейбл и менять его на мой, а немного подумать, вообще говоря.
|
Цитата:
Цитата:
У Inno "/SILENT" а в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall к Sandboxie дописывается хвост "_is1". |
Цитата:
|
Подскажите как в ISDone правильно указать пароль архива FreeArc ? Делаю как показанно в инструкции но во время распаковки вылетает ошибка:
Произошла ошибка при распаковке: Неверный пароль! Unarc.dll вернул код ошибки: -13 ERROR: wrong password Пароль указал тот же что и при архивации. Пример: if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-1.arc'), ExpandConstant('{app}\'), '', false, '1234', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
ROMKA-1977, Unarc.dll от фри арка ( тем чем сжимаеш) замени на тот что в скрипте
|
ROMKA-1977, Пакуй так:
Код:
start /wait arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -p1234 -m=lzma:a1:mfbt4:d128m:fb128:mc1000:lc8 data\data-1.arc packeddata\* Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '1234', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Цитата:
Код:
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppName}_is1','UninstallString', ExpandConstant('{app}\{#UninstallExeName} /VERYSILENT /NORESTART /SUPPRESSMSGBOXES')); Нашел код для определения локали в таком формате 1049 и добавил в свой код при деинсталляции: Код:
type |
Ребята как сделать процентный прогресс бар ?
|
|
Можно свои ключи для командной строки придумать в Inno?
|
Цитата:
|
Stealthmax, Как создать ключи для: Не создавать ярлык на рабочем столе, Не создавать ярлык в меню «Пуск»?
|
Цитата:
Код:
[Icons] В этом примере самый простой способ. Используются ключи из справки: /TASKS="startmenu,urlmenu,uninstallicon,desktopicon,quicklaunchicon", либо так /COMPONENTS="component1,component2", чтобы не создавать /TASKS="!startmenu,!urlmenu,!uninstallicon,!desktopicon,!quicklaunchicon"- восклицательный знак перед именем задачи Код:
[Icons] |
Stealthmax, Если предоставляешь код, то предоставляй рабочий вариант - чтоб за тебя никто не допиливал. Директив, CustomMessages и прочего тоже касается.
Например в Inno нет такого: |
Цитата:
P.S. Извиняй, если резко выразился. Человек не понял, не получилось, сразу мне отписал, решаем в личке. |
Stealthmax
Цитата:
Цитата:
Код:
[Setup] Это самый простой и стандартный пример: который компилится даже в том случае, если и вовсе не имеется секции [Languages] - быть точнее: Код:
[Languages] Цитата:
Цитата:
Цитата:
Представим что этот код может заинтересовать новичка (кодеру то понятно - это как семечки лузгать) - но при попытке воспроизвести этот код выдаст ошибку "[ISPP] Undeclared identifier: "MyAppName"" при исправлении, а точнее при добавлении директивы #define со значениями. Выскочит ещё одна ошибка, например "A custom message named "VisitSiteProduct" has not been defined. (и т.п.)" потом "Required function or procedure 'StartMenu' not found." наконец "Unknown identifier 'StartMenuRadioButton'" (и т.п.). и это вместо того, чтоб один раз - дать полный ответ. Сами же напарываетесь, а потом: "Не работает" или "Дали кривой код" и т.п. Заметь, не все понимают что половина ответов содержится в справке. Каждый по своему понимает. Каждый по своему делает. Но результат выходит один. Не важно каким именно способом проделан результат - важно что он работает правильно и без ошибок. Не сделали никакого вывода - "тогда Ой". |
Заметил такую особенность в ISDone: на странице распаковки файлов кнопка закрытия окна не работает хотя и кликабельна. Возможно ли наложить на неё функцию кнопки "отмена распаковки" или сделать неактивной как на странице завершения установки ?
|
Цитата:
Цитата:
|
Цитата:
ты попробуй запустить скрипт ISDone_Example2.iss, все работает!!! |
В скрипте используется такой msg
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Dodakaedr, попробуйте так
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Shkutu, Спасибо! Сработало.
|
Цитата:
|
Как правильно указать препроцессору такое имя
Код:
#define MyAppName "Programmer's Notepad" Код:
function ShowFinishedForm(): Boolean; |
Dodakaedr, для экранирования кавычки нужно дублировать
Код:
#define MyAppName "Programmer''s Notepad" |
А ключ /DIR="x:\dirname" служить только для изменения имя папки или и для указания нового места в целом?
И можно ли создать его аналог, а то в моем скрипте не работает? |
Цитата:
Читаем справку: ключ /DIR="x:\dirname" перезаписывает дефолтное (то, что по умолчанию выводится на странице wpSelectDir) имя папки установки, причем этот путь должен быть полным. Про задание своих ключей для командной строки вам уже отвечали |
Цитата:
По идеи как-то так должно быть, правильно? Но увы не работает. Код:
function DefaultDirParam: Boolean; |
Подскажите пож. прикрутил к скрипту с ISDone_Example2 кастомнай чекбокс "Запустить приложение" на странице завершения установки. Работает всё отлично но проблема в том что при нажатии кнопки "Отмена" на финишной странице с ошибкой установки чекбокс также отображается. Как его отключить на финишной странице с ошибкой установки?
|
Dodakaedr,
|
Ребята всем привет!
Мне нужна ваша помощь. Я собираю команду модостроителей для игры World of Tanks. На данный момент я известен в сообществом данной игры под ником Farser. Но дело не в этом сейчас я набираю команду людей в разных сферах деятельности. Так сказать для полный работы команды. И мне нужен человек который очень хорошо разбирается в Inno Setup и поможет написать очень хороший установщик со множеством функций. К сожалению моих умений в данной программе недостаточно много. Вот официальная тема набора в команду! Тык! Прошу откликнутся вас на мою просьбу! |
Цитата:
Цитата:
Код:
function InstallerCheckParam: Boolean; |
Dodakaedr,
|
Цитата:
|
Dodakaedr, вы как-то невнимательно читаете, по-моему.
|
Цитата:
Код:
[Setup] Даже так:
Код:
[Setup] Код:
[Setup] |
Цитата:
|
Объясните пожалуйста, что-то не доходит.
|
Цитата:
|
Shift85, мне надо чтобы иконка деинсталлятора была стандартною...
|
Подскажите пожалуйста пример скрипта с оснащением другого курсора при запуске установщика , заранее спасибо .
|
Вложений: 1
Цитата:
И еще пример: |
Имея сайт как можно реализовать в игру оповещение о новой версии установщика
|
Цитата:
Цитата:
Хотите, чтобы иконки были разные, укажите для деинсталятора свою иконку: Код:
[Setup] Цитата:
|
Цитата:
|
Подскажите: в скрипте использую descctrl.dll.
Проблема: при нажатии кнопки "Отмена" закрытие инсталятора происходит с небольшой задержкой при этом фаил descctrl.dll из временной папки не удаляется вместе с другими временными файлами, также фаил не удаляется после установки , но если установку запустить в Inno Setup Compiler после компиляции то всё норм проблем описанных нет. Пример кода: |
|
Здравствуйте. Есть вопрос по выбору языка. Как можно организовать выбор языка для секции [code]?
|
White Rabbit,
[Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "english"; MessagesFile: "compiler:Languages\English.isl" |
Доброе время суток. У меня есть 2 экзешник разной разрядности. Как сделать так, чтобы создавался один ярлык в панели упр win 7 в зависимости от разрядности win
Код:
[Code ] |
Цитата:
|
Цитата:
Пример:
Код:
[Setup] |
habib2302,
элементарно Код:
if (CurStep = ssPostInstall) and IsTaskSelected('taskbaricon') then |
White Rabbit, а зачем его в код засовывать пиши отдельно
|
Цитата:
|
Вложений: 1
Цитата:
|
White Rabbit, Я уже дал пример.
Вот ещё пример:
Код:
[Setup] diman_21Ru, Какая вам разница? Его установщик, пусть что хочет то и делает - вас это меньше всего должно волновать. Shift85, Код такой большой что сюда не влазит? Я к тому, что через неделю или месяц ссылка исчезнет - а код может кому нибудь пригодиться. |
Цитата:
|
Сэнкс. Второй вариант понятнее.
|
Цитата:
|
Nordek, Мне разницы нет я просто написал
|
Как обойти установку дополнительных компонентов (Inno Script Studio и другие) в "тихой" установке, если нет интернета?
ПС. Знаю, что есть параметр /COMPONENTS , но нигде не нашёл, какие у него подпараметры, то есть как называются. |
Mancoffee,
Параметры командной строки инсталлятора |
saurn, да вроде как написал, что про параметр /COMPONENTS знаю и про другие тоже. Есть так к примеру help, то есть /COMPONENTS="help"
А как поставить туда Inno Script Studio? Где это описано? |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Есть конвертор nsis скриптов в inno формат? Интересует как это сделать
|
Dodakaedr, интересно,а по какому принципу конвертер должен работать? я точно не встречал,даже не интересовался.
|
sergey3695, ну приблизительно как конвертор с inno в nsis.
|
Из справки:
|
Подскажите пож. как в Inno Setup переименовать папку Мои документы в Documents (My Documents)?
|
ROMKA-1977, хм..
Код:
procedure InitializeWizard(); |
Цитата:
|
как добавить прогресс бар показывающий установку допустим adobe flash player
|
Как можно добавить кнопку по переходу с En в Ru версию установщика, и как её можно двигать , вот скрин примера
|
|
habib2302, а как кнопку сделать больше размером,нашел где подвинуть,растянуть но не нашел размер увеличить.
И ещё можно ли как то иконку поставить под эту надпись |
Цитата:
Я же писал. Замени: Код:
SetBounds(10,WizardForm.CancelButton.Top,30,WizardForm.CancelButton.Height) Код:
SetBounds(10,300,80,23) Код:
// Слева | Сверху | Ширина | Высота |
Nordek, спасибо большое а может есть ещё функция картинки на эту кнопку ?
|
diman_21Ru, В первом сообщении: "Сборник скриптов в формате .chm от Krinkels;" скачай - там есть примеры "Текстурирование кнопок", "Текстурирование кнопок через botva2.dll".
|
Вложений: 1
Цитата:
|
ответьте пожалуйста на мой вопрос http://forum.oszone.net/post-2346336-534.html
|
Цитата:
Давайте поточней задавайте вопросы... |
Shift85, как вам объяснить? я дорабатываю свой репак adobe flash player. во время установки первый прогресс бар показывал состояние распаковки файлов, а второй показывал состояние установки самого adobe fl pl
|
habib2302, Не то пробуй:http://rghost.ru/54891448
|
habib2302, русский ,английский добавил спасибо огромное а как можно ещё украинский,работал с этим примером если можно добавьте туда же заранее спасибо http://rghost.ru/54895502
|
diman_21Ru, http://yadi.sk/d/CdooukGBP4J6T
|
Всем привет!!!
Подскажите пожалуйста скрипты на музыку, Слайдшоу и соответственно какие должны быть ещё dll-ки для этого |
Цитата:
|
|
habib2302, ну как первый прогрессбар сделать? ну думаю знаешь. загвоздка во втором.
1. второй активируется после первого. (думаю понятно) 2. проверка папки установки flash player (если там указывается папка установки,то способ не прокатит) 3. какой размер папки куда ставится и сколько займет устанавливаемое. 4. двигать прогрессбар второй проверяя размер папки куда ставится. 5. не парится. поставить скрыто установку а потом прогрессбар на 100 сразу двинуть и все. (ставится то недолго) я только не знаю как скрыто установить флеш. надо параметр смотреть. |
sergey3695, мой репак сделан на подобии от diakov.
вот как устроен мой скрипт и вот команда для тихой установки Код:
[Run] |
Цитата:
|
Shift85, в каком смысле напрямую?
|
habib2302, т.к. файлов нету,скрипта нету,то пример.
Сделал так Время таймера должно быть меньше времени установки флеша. Прогрессбар тупо двигается по таймеру,а в это время происходит установка, потом прогресс доходит до максимума и лейбл меняется на завершение установки,в то время как флеш еще ставится. хотел сделать ожидание установщика (если флеш установится), но тогда процесс зависает. Можно конечно создать еще процесс,но это извращенство. Вообщем так. Или файлы со скиптом и я по изгаляюсь ) |
Shift85, Благодарю!!!
Ребят, вот скрипт Инсталлятора http://sendfile.su/976358 не могу найти в скрипте код на кнопки далее, отмена, установка. Хочу кнопки передвинуть в другое место. Может кто посмотрит и подскажет в каком месте в скрипте это поменять положения этих кнопок. Заранее благодарю |
Цитата:
|
Цитата:
Код:
with WizardForm.BackButton do begin Код:
298,277,77,23 |
Shift85, Благодарю! А я искал в главном скрипте
|
Цитата:
|
Вот ещё одна проблема с кнопками :( после установки они появляются так же в центре где у них интересно менять положения кнопок
|
Цитата:
Код:
procedure ChangeLang(); |
Цитата:
|
Shift85, Подскажи пожалуйста если знаешь где. Во время установки чего либо кнопка отменить находится по середине. Так-же кнопка завершить тоже по середине. Где их менять? Всё вроде облазил все скрипты которые есть в этом инсталляторе.
|
Цитата:
Код:
hBackBtn:=BtnCreate(WizardForm.Handle,203,277,77,23,ExpandConstant('{tmp}\button.png'),18,False); Цитата:
|
Цитата:
Shift85, И обратите внимание что WizardForm.Caption соответствует выбранному языку, а кнопки нет. |
Вложений: 1
Dodakaedr, А так у меня на Юникоде работает.
|
Цитата:
|
Вложений: 1
Цитата:
|
Как из одного архива распаковывать только нужный компонент?
Например папка ru, en, ru\en находится в архиве data1 ru - полностью русский является компонентом 1 en - полностью английский является компонентом 2 ru\en - является компонентом 3 Не могли бы вы указать, где и как именно это прописывать? #ifdef Data1 if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ -cfg"{tmp}\arc.ini" -w"{app}" -p"password" -dp"{app}" "{src}\data1.bin"'), ExpandConstant('{tmp}'), '...',false) then break; #endif Или в if not ISExec это нельзя реализовать? (Как понял из справки за это отвечает ExtractedPath, а в этой функции её нету) Нужно именно через if not ISExec Если нельзя реализовать, то как это сделать через if not ISArcExtract, используя unarc.exe и arc.ini? |
Caratel, в справке про ISArcExtract это есть. поверь. надо лишь прочитать.
|
Цитата:
|
Цитата Антон_Мураткин@vk:
А где это менять? Если в Button'e то там всё уже изменено, но отмена и завершить всё равно по центру. В других что то такое и не нашёл » Нашёл где это менять. Только совсем почему то названия кнопок другие. Shift85: Благодарю за помощь. |
sergey3695 я знаю, что это есть.
Но мне нужно чтобы через if not ISExec было. Ибо у меня метод сжатия, который ISArcExtract не распаковывает. Вот я и спрашиваю как это реализовать. |
Caratel, а как пакуешь?
|
Ребят, на странице приветствия не появляется текст. Вас приветствует Мастер установки игры {#MyAppName} Рекомендуется закрыть антивирусные пакеты, а также все прочие приложения и т.п
Вот ссылка на скрипт http://sendfile.su/976358 |
Антон_Мураткин@vk, потому там нету этих лайбалов
|
Уважаемый vint56, вы не могли бы мне помочь с моим вопросом?
|
Антон_Мураткин@vk, добавьте это
|
Caratel вот пример по другому я не знаю http://dfiles.ru/files/it6gqqi9q
|
Цитата:
|
Антон_Мураткин@vk
http://rghost.ru/55019065 |
привет всем, помогите, как сделать , чтоб кнопка GroupBrowseButton (созданная через ботву) обновлялась "правильно" при нажатии на "штатный чек бокс" (не через ботву) "NoIconsCheck"
сделал так ========= procedure NoIconsClick(Sender: TObject); begin WizardForm.GroupEdit.Enabled:= not WizardForm.NoIconsCheck.Checked; BtnSetEnabled(GroupBrowseButton, not WizardForm.NoIconsCheck.Checked); end; ********************* procedure InitializeWizard; begin with WizardForm do begin NoIconsCheck.OnClick := @NoIconsClick; вроде все правильно, но при повторной установке, если при первой выбрал не создовать папку в меню пуск - кнопка активна, а чек бокс нажат а должно быть , кнопка тоже не активна , раз чек бокс нажат |
Цитата vint56:
http://rghost.ru/55019065 » Благодарю! :up Я просто код скрипта стандартый заменял на то что дал Dodakaedr вот из-за этого ошибка и вылазила. Всем огромное спасибо. Ещё одну проблему надо решить с этим скриптом! На счёт удаления игры и т.п :( Как туда вставить свою картинку и поменять положения текста. Может кто подскажет? Заранее благодарю. |
audiofeel, Пример скрипта скиньте
|
Цитата:
Код:
// Для чек боксов Цитата:
|
Цитата:
честно говоря ваще не понял как его ко мне прикрутить вот скачайте и попробуйте запустить установщик, при первой установке все норм, но если ее повыторить , то естественно инно прочитает в реестре все что делал пользователь и чек бокс "но айконс" будет активен, то есть нажат - НО КНОПКА ГРУПП БРАУЗЕР АКТИВНА http://rghost.ru/55026079 |
Цитата:
Код:
OnClick:= @NoIconsLabelClick; |
Цитата:
вот как у меня function NoIconsCheck: Boolean; begin Result:= not WizardForm.NoIconsCheck.Checked; end; procedure NoIconsClick(Sender: TObject); begin WizardForm.GroupEdit.Enabled:= not WizardForm.NoIconsCheck.Checked; BtnSetEnabled(GroupBrowseButton, not WizardForm.NoIconsCheck.Checked); end; |
audiofeel, ну все верно. Вы ведь обновляете статус чекбокса при создании формы мастера, а надо на странице, где расположен чекбокс.
Код:
procedure CurPageChanged(CurPageID: Integer); |
saurn,
все заработало, но как то странно, указал чек бокс WizardForm.NoIconsCheck.(nil); ошибка, - оставил как у вас NoIconsClick(nil); = работает :o ************************* wpSelectProgramGroup: begin WizardForm.SelectStartMenuFolderLabel.Show; WizardForm.SelectStartMenuFolderBrowseLabel.Show; WizardForm.GroupEdit.Show; WizardForm.NoIconsCheck.Show; BtnSetVisibility(BackButton, True); BtnSetVisibility(NextButton, True); BtnSetText(NextButton, ExpandConstant('{cm:NextButton}')); BtnSetVisibility(CancelButton, True); BtnSetVisibility(GroupBrowseButton, True); ImgSetVisibility(Image2, True); ImgSetVisibility(EditImage, True); NoIconsClick(nil); end; |
Цитата:
|
Цитата:
|
|
Подскажите как добавить значок программы в панель управления? Файл .cpl имеется?
|
Цитата Dodakaedr:
Профиль | Отправить PM | Цитировать Цитата Антон_Мураткин@vk: Может кто в примере подскажет? » пример c папки inno uninstall » Нет, всё тоже самое. Или ошибки вылазиют или не чего не меняется. Даже и не знаю где ещё что менять в uninstall. Кто что ещё подскажет? Заранее благодарю. Может даже быть что то где то не правильно делаю, вот из-за этого наверное и не получается. Даже не меняется положение текста и прогрес-бара |
Dodakaedr,
Код:
#define AppID "{2FCBA0AC-DA4C-4BC9-8FBC-D0C18A88C213}" |
Nordek, для чего вообще файл .cpl в составе программы?
|
Ребят всем привет! Подскажите как понять что за путь до ехе файла получается?
Цитата:
vcredist_x86.exe - сам ехе файл {src} - А вот это что? Папку делаю около скрипта Redist туда кидаю файл vcredist_x86.exe а установка не происходит. И надо ли писать в скрипте категорию Run для Redistа? Заранее благодарю!!! |
Dodakaedr, Код для общей нагрузки дал. А так, файл .cpl достаточно просто поместить в "C:\WINDOWS\system32".
|
Цитата:
|
Как можно создать дополнительную страницу чтобы можно было выбрать и установить дополнительные программы ,заранее спасибо
|
diman_21Ru,
Код:
[Tasks] |
Цитата:
|
Shift85, вы тупо взяли перенесли компоненты на др страницу, а страница компонентов осталась
|
Цитата:
|
Ребят а возможно ли сделать так чтобы распаковываемому файлу сразу задавалось оперделённое свойство.
Конкретно в моём случае необходимо сделать так чтобы текстовому документу присваивалось свойство "Только чтение" |
Цитата:
|
|
Цитата:
|
Цитата:
Код:
function ShouldSkipPage(PageID: Integer): Boolean; |
Как вручную можно создать такой компонент лист, как в секции [Components]?
|
Цитата:
|
saurn, Как в секции [Files] указывать компонент?
|
Вложений: 1
Пример
|
Доброе время суток.
Подскажите пожалуйста, есть проблемка в скрипте. Прописываю в скрипте код: Код:
[Run] Если эту секцию Run убрать то вообще установка этих программ не осуществляется. Как с этим бороться? ЗЫ. Разобрался в чём было дело. |
Цитата:
Код:
[Files] |
Помогите объединить:
|
Люди помогите пожалуйста, всю голову уже сломал как изменить удаление игры (Передвинуть прогресбар, вставить картинку и т.п) Только и нашёл в скрипте как поменять текст а где остальное не пойму Всё уже перепробовал в этом скрипте :sorry: А если чтото меняю в скрипте то какая нибудь ошибка вылазиет.
Вот ссылка на скрипт http://rghost.ru/55118585 Заранее благодарю!!! |
Возникла проблемка при добавлении в скрипт установки DirectX чезер [code]
При компиляции ни на что не жалуется, но при установке выдаёт такую вот ошибку: Цитата:
А вот весь скрипт целиком: Помогите пожалуйста если кто знает в чём может заключаться проблемма :blush2: ПС В папке лежит DXWEBSETUP.exe, но он переиминован в DXSETUP.exe |
PRAVIY, вэб-установщик директа не поддерживает параметр /silent, и вообще какие бы то нибыло параметры тихой установки.
|
|
|
Цитата:
Цитата:
|
Цитата:
|
saurn, Большое спасибо за помощь!
|
Как в этом коде указать HKU\{code:UsSID}\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts?
Код:
procedure BackupData(FileExt: String); |
Цитата Антон_Мураткин@vk:
Люди помогите пожалуйста, всю голову уже сломал как изменить удаление игры (Передвинуть прогресбар, вставить картинку и т.п) Только и нашёл в скрипте как поменять текст а где остальное не пойму Всё уже перепробовал в этом скрипте А если чтото меняю в скрипте то какая нибудь ошибка вылазиет. Вот ссылка на скрипт http://rghost.ru/55118585 Заранее благодарю!!! » Не ужели не кто не подскажет? И можно ли ещё сделать текст с глянцевым эффектом? |
Цитата:
|
Цитата:
|
Цитата:
Код:
ISDoneProgressBar1:=ImgPBCreate(WizardForm.Handle, ExpandConstant('{tmp}\pbbkg.png'), ExpandConstant('{tmp}\pb.png'),114,244,580, 39); |
Цитата:
|
Цитата:
Цитата:
|
Антон_Мураткин@vk, эта ошибка означает что нету файла botva2.dll во временной папке. Посмотрите по внимательней скрипт который я вам дал и я писал на что надо обратить внимание
Цитата:
|
Dodakaedr, Всё есть. Сейчас всё переделал Полоса прогресбара только изменилась и опять скрина нету
Dodakaedr, Вот это менять всё в главном скрипте? Цитата:
|
Антон_Мураткин@vk, У меня все работает
Цитата:
|
Цитата:
|
Цитата:
|
Dodakaedr, Всё изменил, но у меня выходит ошибка такая же как кидал скриншот
Dodakaedr, Обозначь в скрипте что и где менять пожалуйста |
Антон_Мураткин@vk, держите
|
Dodakaedr, я хз из-за чего но теперь ошибки нет но и скин не появляется а просто серый экран
|
Разобрался из-за чего такое было. Стандартные картинки работают которые 580-390 а вставляю свои картинки 700-400 не работает картинка кроме скина png.
Dodakaedr, Как изменить под свои скины и картинки? Разрешение в скрипте поменял так - же и картинки но это не помогает. Подскажи пожалуйста |
Всем привет ребята.
Возникла такая проблема. В установщике используется страница Components и Tasks. Но Components находится в нестандартном положении (т.е. по нажатию кнопки внизу) Но из-за этого страница компонентов переносится вниз. Возможно ли как-то. Иметь в установщике 2 страницы компонентов? Одна внизу при нажатии кнопки, вторая на странице Components. Прилагаю скрипт и скриншоты. Скрипт Скриншоты Прошу помочь мне решить эту проблему. Заранее спасибо! |
Цитата:
Код:
ImgLoad(UninstallProgressForm.Handle,ExpandConstant('{tmp}\Skin.jpg'),0,0,548,368,true,true); Код:
I1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\I1.jpg'),ScaleX(25), ScaleY(20),ScaleX(530), ScaleY(313),false,True); |
Цитата:
|
Dodakaedr, Это я знаю. Я всё это поменял, но при удаление игры фон больше чем картинка хотя и стоит 700x400 вот скрин http://i64.fastpic.ru/big/2014/0514/...9b0491f1ad.jpg
Dodakaedr, Может ты знаешь где разрешения удаления поменять т.к картинка в конце удаления 700-400 а фон под картинкой больше почему то. Где это ещё можно поменять? |
Еще небольшой вопросик. Хочу сделать на каждой странице установщика разную шапку. Ибо если использовать функцию BitImage то будет одна и та же на всех страницах. Какой код нужно прописывать чтобы для каждой страницы разную шапку.
Если не ошибаюсь то есть код на отключение изображения на определенных страницах. Вот именно это мне нужно. P.S. Dodakaedr благодарю за помощь в с компонент листами. |
Цитата:
Код:
procedure InitializeUninstallProgressForm; Цитата:
Значения PageID для определенных страниц мастера: wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished |
Dodakaedr, спасибо за помощь.
Есть еще вопрос по поводу компонент листов. Вообщем дело такое... Чтобы добавлять компоненты в нижний компонент лист можно пользоваться секцией Components. А чтобы добавлять на основной компонент лист который находится на странице Components нужно уже компоненты писать не в секции Components а в Code. Возможно ли заменить это местами? Т.е. чтобы в нижний компонент лист можно было добавлять компоненты через код (ибо там будет всего 3-4 файла, чтобы не заморачиватся). А на компонент лист который находится на основной странице компонентов, компоненты можно было бы добавить через секцию Components. Нужно это потому что в нижнем компонент листе нужно всего лишь 3-4 файла, а на основном около 100. А через секцию Components добавлять компоненты легче чем через секцию Code. Заранее спасибо за ответ! |
Цитата:
|
Цитата:
|
Цитата:
|
Dodakaedr, Всё разобрался. Только почему так получается фиг его знает. Сделал ширина - 693 высота 372 и всё стало нормально и разрешение исталятора 700x400.
Просто мистика какая та. Dodakaedr, Огромное спасибо за помощь. :up: Dodakaedr, И ещё вопросик, можно ли сделать текст с глянцевым эффектом? Может знаешь? |
Цитата:
|
Цитата:
|
Цитата:
|
|
Цитата:
Код:
procedure IsRegExport(); С восстановлением разобрался, а как больше путей добавить без понятия. |
Цитата:
|
Привет всем. Как сделать чтобы шапка установщика на каждой странице была разная. Разные шапки получилось поставить только на начальной и финишной странице. А на страницах: каталог, компонент лист и т.д. ставилась одна общая шапка.
Ставил изображения через Редактор форм в расширенном Инно. Добавлял BitmapImage. Возможно ли как-то сделать на этих страницах разные шапки. Если да, то как? Заранее спасибо! |
привет всем !!
не отображается StatusPanel.png и StatusPanel2.png подскажите что и где не так |
audiofeel, Юзай.http://rghost.ru/55188772
|
Shift85,
:cool: этот пример я и взял, только там "старая" ботва" а как быть с "новой", то есть b2p.dll и тд вот = http://file.sampo.ru/w8nrsk/ |
Цитата:
|
Цитата:
|
Dodakaedr, спасибо большое. Все получилось!)
|
Всем привет. А можно на текст наложить тень или эфект двойной контур или чего нибудь подобное? Заранее благодарю.
|
Цитата:
|
Цитата:
Код:
WelcomeLabel1:= TLabel.Create(WizardForm); |
saurn,
Цитата:
|
Всем привет у меня в скрипте есть установка модов на Мир Танков и автопоиск игры а как мне можно дополнительно программы устнавливать чтобы программы в конце установки вышли а не рспаковывались , скрипты все есть каков пусть лишь нужен ,заранее спасибо
|
Всем привет. Как добавить фон для установщика. Если делать это через Редактор форм, а точнее BitmapImage то её закрывают такие элементы как компонент лист, блок с текстом и т.д. В итоге получается что видны только края картинки. Я видел, в справке есть другой вариант, но он более трудоемкий. Если ли способы полегче. Как залить фон для установщика! Заранее спасибо за ответ!
|
Цитата:
|
Shift85, спасибо, но немножко не то.
Как сделать эти серые окна прозрачные? |
Цитата:
Код:
const |
Shift85, весь установщик стал прозрачный.. А мне нужно чтобы внутри серые блоки были прозрачные.
|
Подскажите пожалуйста. Применяю архивы FreeArc, для отображения размера установленной проги в окне "Удаление программ" в секции [Setup] указываю: UninstallDisplaySize=3176374272. Как правильно указать чтобы размер отображался в зависимости от выбранных компонентов?
|
Здрасте.может кто-то помочь если не трудно,не выходит не как в данный код добавить чек-бокс в завершение,для запуска игры после установки.
Код:
var MainImage : TBitmapImage; |
Shift85, Всё нормально, но второй текст (типа тени) появляется на всех остальных страницах. Как это исправить?
|
saneksanek,
|
Ребят ну подскажите как тень сделать для текста? По примеру Shift85 тень появляется на всех страницах. Заранее благодарю.
|
всем привет. как выполнить установку драйверов .sys разной битности?
|
|
ne-dm,
Код:
[Messages] |
ROMKA-1977, Поспешил с выводами,работать работает без данного кода.
|
habib2302, а IsWin64 и not IsWin64 не подходит?
|
Цитата:
Код:
WelcomeLabel1.Hide; |
Shift85, Да они и так скрыты. Открытия тоже не чего не даёт
|
Вложений: 1
Цитата:
|
ne-dm, можно и так
Код:
[Setup] |
А Inno может ставить расширения в браузеры... в Хром там, Оперу или огнелиса? Если да, то где код бы посмотреть?
|
Всем привет.
Как сделать эти серые окна прозрачные? Чтобы было видно задний фон. Но при этом прозрачные оставались только серые окна, а текст на них и все остальное было видно. |
Kashtan007, Зайдите в папку Inno Setup Ultra\Dll Examples\IsWin7 [dwmEnabled] и там найдете подходящий (так думаю) вам пример.
Mat_y, пример ассоциация файлов формата .ext1, .ext2, .ext3 с программой notepad.exe: |
Dodakaedr, к сожалению. По данному пути такого нету. Не могли бы вы скинуть пример? Буду очень благодарен.
|
Цитата:
Пробуйте |
Вложений: 1
Цитата:
|
Имеется скрипт на переключения языков с русского на английский , украинский но есть одна проблема обратно не возвращает на русский , получается как бы баг вот скрипт посмотрите : http://rghost.ru/55424206
|
diman_21Ru,
|
Уважаемые форумчане! подскажите пожалуйста.
При компилировании происходит ошибка: CallBack:=WrapMyCallback(@ProgressCallback,2); Cancel:=0; OveralPct:=0; Ошибка в первой строчке, т.е тут: CallBack:=WrapMyCallback(@ProgressCallback,2); С чем это может быть связано? Буду рада, если кто то подскажет)) Напишу, что мне вообще нужно. Пытаюсь научиться создавать установщики. Сейчас пробую сделать установщик игры Panzar. Я совсем новичек в этом деле. В общем, читала различные уроки, которые нашла в инете. Скачала видео-урок, по примеру этого урока создала скрипт, вроде бы все делаю, как там сказано, но вот почему то при компиляции появляется ошибка. Возможно кто нибудь поможет разобраться что не так? Может у кого то есть возможность через TeamViewer все показать? Буду очень благодарна, так как каждый день пытаюсь создать этот установщик, но пока не получается. Мой скайп irenna-85. Спасибо тому, кто откликнется)) |
Irenis, Скрипт покажите. (Залейте куда нибудь на файлообменник)
|
Irenis, компилятор дает описание ошибки, его нужно прикрепить к сообщению, а еще лучше, как сказали выше, прикрепить к сообщению скрипт с минимальным набором файлов. Ибо гадать на пальцах, почему в вашем скрипте происходит ошибка в обратном вызове можно до бесконечности.
|
|
Irenis, найдите в коде секцию типов type и замените первую строку в ней на вот эту:
Код:
TCallback = function ( Pct: integer; CurrentFile: AnsiString ): longword; Цитата:
|
Irenis лутше используй версию ISDone0.6final потому как есть SrepInside и PrecompInside а не ISDone 4 она очень старая там этого нету
вот сылка http://rghost.ru/55431699 Вот для сжатия Precomp+Srep+Arc и Srep+Arc и так далее все в архиве для сжатия http://rghost.ru/55431917 |
Вложений: 1
Irenis,
|
Цитата:
Компиляция прошла успешно! Цитата:
Единственное, все вроде хорошо, все скомпилировалось и игра даже установилась и запустилась :yahoo: , только при распаковке не отображается, что именно распаковывается. То есть идет строка распаковки, а ниже написано "Распаковка файлов:????????????????" В общем много знаков вопросов. В принципе, это не столь важно, но все равно лучше было бы, если бы там отображалось то, что должно. Цитата:
Кстати, меня вот еще что интересует. Как сделать так, чтобы по завершению установки игры, автоматически открывалась страница в браузере по той ссылке, которую я укажу? Это, я так понимаю, нужен какой то скрипт или код? Может кто подскажет, где взять такое? Пока нашла только код, в котором можно прописать необходимую ссылку и в процессе установки в нижней части установщика будет отображаться кликабельная ссылка. Но хотелось бы именно, чтоб эта ссылка открывалась автоматически по завершению установки :) |
Цитата:
|
Цитата:
Код:
[Run] |
Всем доброго времени суток!
На картинке видно, что когда наводишь на компонент то появляется картинка и описание к ней в окошках. Как реализовать данное чудо? И можно будет как-то расширить эти окошки? Заранее спасибо! |
Цитата:
|
Dodakaedr, спасибо все работает!
Как место этих серых окон поставить фон? Т.е. мне нужно, чтобы место серого окна было изображение (фон)! |
Dodakaedr, если на компонент не наводишь, то там блок с надписью наведите на компонент и появится картинка. Возможно ли сделать так, чтобы изначально там стола картинка, а уже при наведении на компонент она заменялась на картинку компонента.
Пробовал ставить через редактор форм (BitmapImage), но тогда картинку просто закрывает, окно для картинок компонентов. Есть какой-то другой способ? Хотелось бы что-бы выглядело вот так. А уже соответственно при наведении на компонент фон менялся на картинку компонента. Возможно есть способ, чтобы там изначально стояла картинка? Заранее спасибо! |
Цитата:
|
Dodakaedr, А если уже есть картинки на модах,можно лишь только на текст скрипт а то можно запутаться там у меня )
|
Вложений: 1
Цитата:
Цитата:
|
Shift85 и Dodakaedr, спасибо за помощь!)
P.S. Ребята выше писал, но так и не получилось сделать. Как место серых окон (Inner Notebook и Inner Page) на страницах установщика поставить изображение (фон)? Буду благодарен за помощь! |
Цитата:
|
Dodakaedr, спасибо.
А легче способа нету? Вот нашел выглядеть должно примерно так. |
Цитата:
|
Доброе время суток! Подскажите в чём ошибка. Это ошибка на музыку появляется. Когда вкл установку игры.
На скрине показывается ошибка. Этот файл есть который на скрине http://i64.fastpic.ru/big/2014/0521/...28f444074e.png |
Цитата:
|
Цитата:
|
Нафиг вообще используете эту библиотеку? В расширенной Inno давно уже есть CallbackAddr - не надо с собой ни InnoCallback.dll, ни CallbackCtrl.dll таскать.
|
Всем привет. Мне нужно реализовать 2 чекбокса на странице "Каталог" в установщике.
Т.е. у нас есть полоска выбора пути (куда устанавливать наши компоненты) и нужно чтобы под ней было 2 чекбокса. 1 чекбокс: Удаление старых компонентов. Т.е. у меня есть папка res_mods... Нужно чтобы при выборе этого чекбокса очищало папку res_mods от всего содержимого. 2 чекбокс: Бекап файлов. У меня есть папка res_mods, но допустим в ней нужные компоненты и я хочу их сохранить. То при выборе этого чекбокса будет создана копия папки res_mods которая будет называться old_res_mods. Вот это должно выглядеть примерно так: Буду благодарен за помощь! |
Shift85, Dodakaedr, Благодарю! Сам разобрался, просто удалил в скрипте строчку CallbackCtrl.dll и всё заработало.
|
всем привет. хочу доработать свой репак adobe flash player и допустим если выбрать тихую установку перед установкой запускался деинсталлятор, а если устанавливать в ручную, то деинсталлятор не запускался.
|
Kashtan007, как-то так
|
habib2302, примерно так
Код:
function InitializeSetup(): Boolean; |
Доброе время суток! Помогите пожалуйста.
Вот этот текст: Код:
procedure InitializeWizard(); Код:
procedure InitializeWizard; З.Ы. Вставлял в другой скрипт всё нормально было. А в другом вот ошибки вылазиют. Заранее благодарю. |
Антон_Мураткин@vk, Так пробовали?
|
Shkutu, добавил это в свой скрипт. Чекбоксы появились, но функции не работают.
|
Dodakaedr, ДА пробовал, ошибка уже получается на
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash piratbit.png',700,1000,700,0,255,False,$FFFFFF,10); |
Приветствую всех!
Ситуация следующая: в коде используется функция из dll. Выглядит примерно так Код:
[Files] Не подскажете, в чем может быть проблема? Антон_Мураткин@vk, Kashtan007, |
Shkutu, спасибо.
Я указывал, что мне нужно не только чекбоксы а еще чтобы они выполняли функции. Удаления и бекапа. Есть ли полный код на бекап папки и удаление папки. Заранее спасибо! |
Shkutu, Если было бы так просто я бы не написал чтобы помогли. Пробовал я так ошибка идёт на end;
|
Kashtan007, у меня к сожаление полного кода на подобные вещи нету. Попробуйте поискать по форуму, потому что, насколько я помню, подобный вопрос уже обсуждался.
http://forum.oszone.net/post-2307050-2242.html - здесь что-то похожее, но можно еще поискать. Антон_Мураткин@vk, |
Shkutu, ок спасибо поищу.
|
Всем привет)) Вроде бы немного научилась создавать установщики. Но опять возникли трудности. Объясню на примере. Есть игровая компания Game Net. При установке их игр, сначала устанавливается игровой клиент GameNet, а через него уже грузится игра. Подскажите пожалуйста, как создавать такие установщики? Пробовала отдельно делать установщик GameNet и установщик нужной мне игры. Но они естественно друг друга не видят. То есть, если зайти в клиент GameNet, то он просто начинает загружать игру снова. Клиент же самой игры так же работает не корректно.
Другой пример. Игры от компании Game XP. Тут в принципе так же, сначала устанавливается клиент Game XP, а из него уже–игра. Сделала установщик самой игры. Игра запускается только если запускать ее из папки с игрой. Если же запускать с рабочего стола, то постоянно не хватает какого то файла ***.dll и игра не запускается. Если поместить этот ***.dll на рабочий стол, то требует какого то другого ***.dll. В общем как то так :sorry: И как с этим бороться не знаю, и в инете что то ничего не могу найти по этому поводу. |
Цитата:
Цитата:
параметр = WorkingDir: {app} указывает на то, что рабочая папка для создаваемого ярлыка будет как и по умолчанию, то есть это папка приложения, но во многих играх особенно на движке unreal, папка где хранится файл запуска находится в подпапке, обычно Bin, Binaries и тд [Icons] Name: {userdesktop}\Название игры; Filename: {app}\файл запуска игры; WorkingDir: место где расположен файл запуска игры |
audiofeel, спасибо :) Только вроде бы и понятно, но не совсем. Я честно говоря, обычно создаю установщик через мастера, а в получившемся скрипте уже дописываю то что мне нужно, точнее копирую и вставляю необходимые коды. У меня сейчас вот так
[Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon То есть ничего не убирать, а просто ниже дописать эту строчку? Игра World of Dragons. Значит просто написать World of Dragons? Не совсем поняла, что писать там, где файл запуска игры. Место где расположен файл запуска игры: "C:\GameXP\AccessPoint\installed\World of Dragons\WOD.exe". То есть так и прописать путь? |
если игра устанавливается по умолчанию в C:\GameXP\AccessPoint\installed\World of Dragons\, а файл запуска "лежит" по пути
C:\GameXP\AccessPoint\installed\World of Dragons\WOD.exe, то и "рабочая папка у него находится там же = C:\GameXP\AccessPoint\installed\World of Dragons а что у вас указанно в #define {#MyAppName} ????? http://file.sampo.ru/nkz7n3/ |
Цитата:
Цитата:
|
вот честно, про эту игру я ни чего не знаю, иногда достаточно указать один ключь, иногда необходимо наличие пристутствия определенного файла в какой нить папке, чаще скрытой
давайте сперва разберемся почему ярлык не работает, а потом уже нужно разбираться почему не видит веб установщик что игра уже установленна выложите скрипт на файлообменник |
Цитата:
Цитата:
|
Irenis, audiofeel, рабочая папка указывает на то, какая папка будет сделана текущей при запуске приложения, в которой рассположены определенные файлы. И это не всегда та папка, в которой находится ексишник.
|
Вложений: 1
Цитата:
|
Dodakaedr, спасибо большое)
|
Уважаемые форумчане.Может кто-то помочь из данного кода вырезать код плеера.Как не ковырял все с ошибкой идет
Что требуется Сам код:http://yadi.sk/d/wSVC64JhR47hf |
saneksanek, Выложите все файлы необходимые для работы вашего скрипта, потому что никто не будет сам искать всякие dll-ки, mp3 файлы и т.д.
|
|
saneksanek, Есть вот такой пример по вашему вопросу:
|
Цитата:
1. Самый распространенный способ - скрыть OuterNotebook, влепить фоновую картинку на форму, сверху создать аналоги скрытых статиков (TNewStaticText -> TLabel), менять родителя остальных контролов (TBitmapImage, TEdit, TNewCheckListBox и т.д.) в нужное время для имитации перехода между страницами. 2. Сабклассинг. Переопределить оконные процедуры WizardForm, страниц OuterNotebook (включая вложенные) на свои и отрисовывать фон самому. В TWizardForm и TNewNotebookPage фон рисуется с помощью системной кисти цвета clBtnFace, которую можно представить как узорчастую кисть цвета clBtnFace размером в 1х1 пикселя. Имея картинку, можно создать узорчастую кисть на ее основе, и рисовать фон ею вместо системной в своей оконной процедуре. В примере создается кисть на основе картинки (я не стал создавать кисть на основе картинки с размерами клиентской части формы, взял WizardSmallBitmapImage, чтобы увидеть воочию как система заливает фон кистью), переопределяются оконные процедуры для TWizardForm и TNewNotebookPage, в оконных процедурах фон рисуется созданной кистью при получении сообщения WM_ERASEBKGND. Цитата:
|
El Sanchez, в каком смысле напутала?) Библиотека моя, и в качестве параметров там pchar, который в инно как раз pansichar. А в самой библиотеке (она на fpc) юзать стринги не получается
|
Shkutu, залейте скрипт с дллками. Гляну.
|
saurn, вот, несколько обрезанный, а то там много было
http://www.ex.ua/290099597218 |
Shkutu
Код:
[Files] |
Приветствую всех! Уважаемые, подскажите как реализовать задачу:
Вообщем инсталлятор двуязычный: русский/английский (выберается сразу). Необходимо как-то определить какой язык был выбран и в соответствие с этим выбором дать знать инсталлятору какой из файлов грузить в "InfoBeforeFile" Код:
#ifdef InfoBefore |
altef_4, вместо files {tmp} указать? Так я уже пробовала, не помогает
Alloc, попробуйте так Код:
[Languages] |
Shkutu, смотрите в сторону библиотеки, что то вы напутали, при ее создании.
|
|
saurn, была у меня такая мысль. Хотя с fpc приложением библиотека работает, это я проверяла. Ладно, буду разбираться
|
Ребят подскажите пожалуйста!
Вот в эту панель можно добавить прозрачность? Код:
Panel1 := TPanel.Create(WizardForm); |
Shkutu, спасибо большое, это именно то, что надо. Есть еще вопросик.. не могли бы Вы мне помочь?
помогите грамотно (логично) переделать мою писанину: Код:
[Languages] при раскомментирование должен грузится соответствующий файл : InfoBeforeFile: InfoB_* / InfoAfterFile: InfoA_*, при этом необходимо как то сообщить инсталлятору какой язык был выбран, и исходя из этого выбора грузить русскую версию или английскую "InfoBeforeFile/InfoAfterFile"... никак не могу реализовать.... |
El Sanchez, спасибо, буду смотреть
Alloc, для "спасибо" есть "полезные сообщения":)) |
Цитата:
Код:
procedure InitializeWizard(); |
Shift85, Что то так и не понял как это применить в текст который выше
|
Антон_Мураткин@vk, Попробуйте так
Код:
Panel1 := TPanel.Create(WizardForm); |
Есть несколько вопросов :)
1.Подскажите, как в скрипте прописать, если нужно, чтобы установщик распаковал два arc архива. Вот если нужно распаковать один архив, в скрипте идет такая строчка: if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Reborn.arc'), ExpandConstant('{app}\'), А чтобы распаковать два архива, просто добавить такую же строчку, только с названием второго архива? Или как? 2. Вот пример скрипта. Скрипт. При установке игры внизу надпись "требуется как минимум 5.1 Мб свободного дискового пространства". Где в скрипте прописать, сколько места требуется на самом деле, например 5.4 Гб? 3. Уже задавала вопрос по поводу создания установщиков, которые состоят из веб-загрузчика и самой игры. Как совместить? Мне уже писали, что нужно найти записи из реестра. А что делать с этим реестром? Как правильно вставить в скрипт? И достаточно ли будит этого, чтоб игра и загрузчик видели друг друга? Буду рада любым советам :yes: |
Цитата:
Цитата:
Код:
[Setup] |
Dodakaedr, нет не работает.
З.Ы. Или хотя бы полу прозрачность в(%) как нибудь добавить в этот текст? Очень надо, а у самого что то не получается З.Ы.Ы. И ещё вопросик. Установил музыку в скрипт она работает всё нормально но картинки нет чтобы вкл выкл песню (звук). Точней картинка есть но она под другой. Как мне картинку с вкл выкл музыки на передний план сделать? Заранее благодарю!!! |
Dodakaedr,
Мой косяк,извиняюсь.http://yadi.sk/d/_H8RyqgdR7VUj |
saneksanek, Вы этот пост смотрели? Оно или нет?
|
Dodakaedr,
С вашим предоставленным кодам выдает ошибку "Could not call proc." в чем может быть проблема? |
saneksanek, а файлы скачали которые прилагаются в посте?
|
Dodakaedr,
Нет,проглядел.Добавил ваши модули все заработало спс |
Dodakaedr, все отлично работает, но есть небольшой баг.
При открытии установщика проскакивает синий фон с названием установщика. С чем это может быть связано? Вот видео, на нем все видно http://youtu.be/iRQXMh1y7g0 |
Вложений: 1
Цитата:
Попробуйте вот это |
|
Подскажите как освобождать процесс программы из системы перед удалением?
|
Dodakaedr,
Если правильно понял вас, |
saneksanek, Почему не убивает процесс?
|
Dodakaedr, Код рабочий,в чем-то у вас косяк.Может компилировали без данного кода?
Если не коммерческая тайна,можете выложить скрипт с файлом я посмотрю |
При создании установщика через мастера Inno Setup в окне "файлы приложения" нужно выбрать главный исполняемый файл приложения. При этом ярлык, который появится на рабочем столе после установки игры, автоматически берется из этого запускного файла. Как поставить другой ярлык? То есть что нужно прописать в скрипте, чтобы самой задать иконку ярлыка, которая должна появится на рабочем столе после установки игры, при этом не меняя главный исполняемый файл? Спасибо))
|
Irenis,
[Icons] Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" ; IconFileName: "{app}\твоя иконка.ico."; |
Цитата:
|
Этого процесса изначально нет,потому и нет диалоговых окон.Закройте программу и запустите снова,сама программа весит на USBSafelyRemove.exe
|
Dodakaedr, он не будет работать на юникоде. Тут для юникодовой. Или пример от El Sanchez в шапке.
|
Всем привет. Дайте пожалуйста скрипт на создание txt файов
|
Скажите пожалуйста, а как делать установщики, в которых был бы сам setup, а под ним остальные файлы в формате .bin. Сейчас я просто создаю установщик, создаю arc архив, и при установке распаковывается этот архив и игра устанавливается. А как сделать, чтобы вместо arc было bin? Тоже сначала архивировать FreeArc-ом, а потом как то в bin переделывать или там вообще по другому все делается? Может кто объяснит или подскажет, где об этом почитать можно :)
|
Irenis, просто переименуй расширения файла с arc на bin можно сразу во фриарке там есть выходной архив там есть расширения arc можеш поставить любое только в скрипте на распаковку укажи названия архива и расширения файла
Пример if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.Irenis), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
vint56, Спасибо большое :wink:
То есть (например в игре Karos) если раньше у меня была такая строчка: if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Karos.arc'), ExpandConstant('{app}\'), false,CallBack, '', '', '') then break; То теперь вот так: if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Karos.bin), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; ? И больше в скрипте ничего не нужно менять? |
Irenis, Да
|
Цитата:
Код:
[Code] |
Цитата:
|
Цитата:
Цитата:
|
Irenis,
Код:
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; IconFileName: "{app}\{#MyAppName}"; Tasks: desktopicon з.ы. т.к. без файлов, то не компилил. |
Что то я уже совсем запуталась с этим ярлыком. Как сделать ярлык со своей картинкой? Постом выше выложила скрипт. Там есть строчка :
SetupIconFile=E:\Karos\MainIcon.ico Вот мне нужно эту же картинку поставить и на ярлык. А у меня ярлык получается либо пустой (просто белый), либо с логотипом GameXP Код, который мне дали выше. Куда в нем вставить свою картинку? |
Тут необходимые файлы для скрипта (не знаю, может еще что надо). Картинку с названием "3" мне нужно сделать ярлыком.
|
Irenis, http://rghost.ru/55845692
|
Цитата:
Цитата:
Цитата:
Его наверно нужно добавить в секцию [Files] т.е: Код:
[Files] hidden system - сделаем значок скрытым и системным, для того чтоб не было видно в каталоге установленной программы. Если хотите видеть этот значок в каталоге установленной программы, то hidden system можно не применять т.е Код:
[Files] Код:
[Icons] |
Поделитесь кто-нибудь библиотекой ISTaskU.dll.
|
Всем привет.
Как в установщике ставятся приоритеты на установку. Ну вот допустим у меня компоненты в такой структуре Программа -1 -2 -3 Патч для программы -1 -2 Сначала же будет ставить программу, а потом устанавливать на неё патч? Либо же нужно ставить какой-то приоритет? Чтобы патч устанавливался после программы. |
Kashtan007, файлы устанавливаются в том порядке, в котором указаны в секции Files, сверху вниз.
|
Kashtan007, из справки - "All entries are processed by the installer in the order they appear in a section", т е все элементы обрабатываются установщиком в том порядке, в каком они указаны. По идее, чтобы патч ставился после программы, вам надо указать файлы, элементы секции Run и прочее в правильном порядке.
|
Вложений: 1
Цитата:
|
Цитата:
|
|
|
Цитата:
Код:
[Code] |
saurn, Спс! Сработало. Скажите, пожалуйста, правильно ли я указываю код на удаление файла при деинсталяции? Потому что он не удаляется ни через код ни через [UninstallDelete]:
Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
Dodakaedr, это же системный файл. По вопросу: надо указывать абсолютный путь к файлу.
|
всем привет. дайте пожалуйста скрипт на распаковку запароленных arc архивов. (не весь isdone т.е без всяких оформлений инстайла, без лишних файлов и т.д)
|
Цитата:
Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
Dodakaedr,
[Files] Source: Dll\msimg32.dll;DestDir: {app}; Flags: ignoreversion; Attribs: hidden system; Source: Dll\IsTaskU.dll;DestDir: {app}; Flags: ignoreversion; Attribs: hidden system; |
Dodakaedr, блин гугл еще робит (сам проверил :) ). (насчет что такое абсолютный путь).
По сути дела: msimg32.dll - системная библиотека, не удалять! IsTaskU.dll - как у тебя, удалять! habib2302, справку дать? saneksanek, это как файлы скрыть. Установка атрибута. |
sergey3695, а скрипт?
|
Цитата:
Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
Dodakaedr, Вы пробовали что я дал? добавьте флаг и секция унистал не нужна будет
|
saneksanek, Это не то. Мне нужно их удалить, а вы предлагаете их сделать скрытыми и системными...
|
habib2302, мда, например это не пример.
Password - пароль для распаковки архива(ов); function ISArcExtract (CurComponent: Cardinal; PctOfTotal: double; InputFile, OutputPath, ExtractedPath: string; DeleteInFile: boolean; Password, CfgFile, WorkPath: string; ExtractPCF:boolean):boolean; Например: Код:
if not ISArcExtract (0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}\data'), '', false, 'Password', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY) then break; Dodakaedr, хочешь сказать что так не удалит Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); также можно флаг Код:
Flags: uninsremovereadonly Это из справки. ignoreversion Не сверять версии; перемещать существующие файлы не обращая внимание на номера версий. Этот флаг применим только к файлам вашего приложения, но не к общедоступным файлам. Вы проверяете код или так спрашиваете? |
Цитата:
Цитата:
Код:
Source: "InstallFiles\ISTaskU.dll"; DestDir: {app}; Flags: ignoreversion Цитата:
|
|
Dodakaedr, Этот лишний мусор не выйдет удалить сразу вместе с программой,по крайне мере когда я интересовался этим вопросом мне ответили так.Так что проще будет как я написал до этого.
|
Dodakaedr, был бы скрипт с файлами, я б посмотрел. А то так гадать.
Так по-любому все удалится в папке, чтобы там не было. Код:
// Удаление каталога с содержимым Это пример использования IsDone.dll (файлы не нужны же). Функция описана выше в сообщениях. |
Цитата:
|
Dodakaedr, кинь лучше скрипт с файлами в лс. Я гляну че-как и сделаю. А то я половину не понял что ты написал.
Если я правильно понял, то есть такой код. (После деинсталяции удалить оставшиеся файлы) |
|
habib2302, omg. ISDone 0.6 final
|
Всем доброго дня!
У кого сейчас есть немного времени и желание, может заинтересует вот эта программа - Ashampoo Burning Studio Free 1.14.5 [Multi Ru] Разобрать ее, убрать все лишнее, готов помогать. https://www.ashampoo.com/ru/usd/pin/...ng-Studio-FREE |
Всем привет.
Как в установщике заменить кнопки? Существует ли на это скрипт? У меня сейчас такие: Как сделать такие: Заранее спасибо за помощь. |
Вложений: 2
Цитата:
|
Shift85, спасибо.
Хотелось бы узнать как изменить именно кнопки, а там меняет фон. Есть ли скрипт только на изменение кнопок? |
Вложений: 1
Цитата:
Еще |
Shift85, спасибо этот вариант подошел. Button 2 состояния.7z
У меня установщик нестандартного размера из-за этого кнопки не в том месте и не видно текста. Как изменить их расположение и добавить текст? Заранее спасибо! |
Цитата:
Там эти параметры просто меняй как надо. Код:
Left-8,Top-8,Width+16,Height+16 Код:
BtnSetText(hAboutBtn,'О релизе'); |
Всем Доброго время суток.
Может всё таки кто подскажет? Вот в эту панель можно добавить прозрачность в %? Чтобы менять можно было её. Сам что то не додумаюсь не как. Подскажите пожалуйста можно и в примере. Код:
Panel1 := TPanel.Create(WizardForm); |
Антон_Мураткин@vk, фотошоп в помощь. больше никак. там в процентах.
|
Всем привет, как убрать это окошко в установщике.
Заранее спасибо за ответ! |
Kashtan007,
Код:
[Setup] |
Dodakaedr, спасибо.
Но есть проблема, у меня вообще пропускает страницу каталога. А мне нужно только это окошко о существующей папке убрать. |
|
А можно ли в сделать скрипт для поиска ключей в реестре? Имеется ввиду не конкретное расположение а, например, в ветке какой-нибудь. Допустим есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\, ключ находится здесь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E978-E325-11CE-BFC1-08002BE10318}\0000. Но дабы не утруждать себя, поиск, чтобы проходил просто в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\.
|
White Rabbit, RegKeyExists, в справке посмотришь.
|
Сэнкс. Пользую его, но не могу понять. Я его использую для конкретного параметра, а не для всей ветки. Но ладно посмотрю. Просто наткнулся на проблему, сути которой не понимаю. Упомянутая мною ветка "работает" нормально. Я пытаюсь следить за параметром в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ и здесь проблемы. В Windows XP SP3 x86 всё работает чётко, но на Windows 7 Ultimate SP1 x64 траблы. Не работает контроль параметра. В:
[code] ...... if not RegKeyExists(HKLM,'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\A360E2EA788FFC586113AFE1F2AAB F01EBE7A248') then ..... |
Цитата:
Цитата:
|
Во-первых. Нет не уверен, но и на обратное не натыкался... Пока что. Во-вторых, для варианта HKLM\SYSTEM\CurrentControlSet\Control\Class\ это почему-то не критично. А вот для Uninstall-а - да. В-третьих, я смотрел Regedit-Ом - там ничего про HKLM64 не упоминается. В-четвёртых, проверил. Вы правы. Так и есть. Но эта фишка критична только для анинсталла.
|
Знающие люди могут подсказать в чем может быть проблема?
|
saneksanek, удалите процедуры HideComponents и ShowComponents(CurPageID: Integer), все что в них указывается укажите в CurPageChanged(CurPageID: Integer)...
|
Собрал скрипт с Показам картинок и описанием мода , как можно чтобы если не наводишь на текст все равно пустое место было закрыто картинкой ,заранее спасибо
|
diman_21Ru, посмотрите вот это может поможет.
|
Dodakaedr, Не помогло даже картинки не выходят почему то
|
diman_21Ru, без скрипта не разобратся
|
Dodakaedr, в личку кину
|
Подскажите пож как решить следующую проблему:
1) На InnerPage прописал Bevel2 2) Необходимо чтобы он отображался ТОЛЬКО при отображении страницы SelectDirPage |
Цитата:
Код:
procedure CurPageChanged(CurPageID: Integer); |
saurn, СПС. Всё ОК!
|
Dodakaedr, Все тоже самое
|
saneksanek,
Код:
if CurPageID = wpWelcome then Код:
procedure InitializeWizard; |
sergey3695, Тогда пропадет картинка,на в начале и конце.
|
saneksanek,
Код:
procedure CurPageChanged(CurPageID: Integer); |
Dodakaedr, Без толку,приветствие становится стандартное,а то что должно быть вместо него идет на остальных вкладках .Может проще будет дать скрип с файлами?
|
Цитата:
|
Dodakaedr, Лс.
|
Ктонить может дать пример скрипта в котором компоненты по умолчанию выбираются в зависимости от языка интерфейса винды?
|
Raf-9600,
Код:
if GetUILanguage = $0419 then |
|
Помогите пожалуйста , не вставляется картинка ,в эти места , потом надо чтобы она сменевалась на картинки уже наводящие на моды.
Используется скрипт Source: Images\Внешний вид\3.bmp; DestName: "WizardForm.BitmapImage1.bmp"; Flags: dontcopy solidbreak , до появления функции теста картинка появлялась сейчас пропала . |
diman_21Ru, Много букв и мало связи.
Если понял правильно вот держи http://rghost.ru/private/56276751/41...e24d205893aabc |
Всем привет! Не могу понять почему не ставится картинка. Использую ботву, надо заменить стандартный WizardForm.WizardSmallBitmapImage...
Код:
ImgLoad(WizardForm.MainPanel.Handle, ExpandConstant('{tmp}\1.png'), ScaleX(0), ScaleY(0), ScaleX(160), ScaleY(50), True, True); |
Как можно добавить чистую страницу для вторых компонентов
|
Цитата:
Код:
[Setup] |
Цитата:
Откройте "Inno Setup Compiler" Перейдите во вкладку "Дизайнер диалогов" С левого бока выберите страницу (Welcome Page, License Page, Password Page и т.д) под которой хотите разместить новую чистую страницу. Вверху, где "Файл, Правка" найдите "Дизайнер" Кликните "Дизайнер", затем "Добавить диалог" Всё, новая страница добавлена. |
Dodakaedr, Мне вариант с нажатием на кнопку и спустить в низ больше понравился но с размерами запутался можете помочь скрипт вышлю , http://rghost.ru/56348041 , жду ответа =)
|
Ребята,делаю выбор таблеток - http://i61.fastpic.ru/big/2014/0613/...420b833cf4.png ,от али все нормально,а вот от кодекса присутсвуют такие файлы http://i64.fastpic.ru/big/2014/0613/...21ddbf1.png,но при установке exe этот не заменяется,только ини файлы пеносяться.Как быть? Пожскажите пожалуйста..
|
Цитата:
Код:
[Setup] |
Цитата:
|
Подскажите мне ?
|
Цитата:
|
Dodakaedr,
Вот скрипт - http://multi-up.com/980008 . Не получается при установке заменить сами файлы,таблетка не встает,так как не заменяется сам ехе,буду рад помощи. |
Dinvin4ester, В секции [Files]
Код:
Source: "D:\Games\NoDVD\ALI213\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: SPINTIRES\ru; Код:
Source: "D:\Games\SPINTIRES\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; т.е вот так: Код:
Source: "D:\Games\SPINTIRES\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; |
Nordek,
Спасибо. |
Dodakaedr, А как туда ввести компоненты не получается
|
|
Цитата:
|
valyok666, в примерах там ничего нету
|
Ребята,как собственно сделать такое оформление инсталла - http://i64.fastpic.ru/big/2014/0614/...41552e7e9b.jpg , http://i62.fastpic.ru/big/2014/0614/...4a45a36d0.jpg?
|
Цитата:
|
Цитата:
|
Shift85,
Спасибо и еще можете подсказать .. и у меня получается пустое окошко http://i64.fastpic.ru/big/2014/0614/...3e86319c10.png как побороть ? |
|
Dodakaedr, почти.
я просто хотел чтобы эта страница появлялась после запуска инсталлятора, а не деинсталлятора |
Цитата:
|
Dodakaedr, но мне все таки хотелось чтобы при выборе remove запускался деинсталлятор через реестр и наложить изображения через ботву
|
Всем привет ребята. Возник такой вопрос...
Как сделать это: Мне нужно, чтобы на странице компонентов, справа от компонента был допустим значок динамика и при его нажатии воспроизводился звук. Т.е. допустим я листаю компоненты: Прога 1 Прога 2 Прога 3 Возле проги 3 я нажимаю на маленький значок динамика и мне 1 раз воспроизводится звук заданный для проги 3. И так к каждому компоненту. Заранее спасибо за помощь! |
Цитата:
|
valyok666,
http://multi-up.com/980365 вот сам скрипт.. |
Цитата:
|
Dodakaedr, Я пытался сделать с нижней панелью открывающейся по кнопки компоненты не вставляются можете ли мне помочь http://rghost.ru/56396960 и ваша тема :http://forum.oszone.net/post-2351548-650.html
|
|
Dodakaedr,
Все так же одна картинка,может что-то не то вписываю ? |
Цитата:
|
Dodakaedr,
Да,что-то не так и выходит эта ошибка - http://i61.fastpic.ru/big/2014/0615/...a4145e6222.png Указываешь любую папку и не пускает дальше. |
Цитата:
Dinvin4ester, Исправление ошибки: в секции [Setup] удалите пробел в строке DefaultGroupName=Games \{#app}. |
Dodakaedr,
Ага. все ясно мой косяк, и так я понимаю могу добавлять теперь в скрипт компоненты и оно будет ставить ? И еще не подскажите ,прогресс бар двойной,нельзя как-то на 1 перейти или стандартный поставить ? Если не использовать сторонние архиваторы,то его вовсе не видно. |
|
Dodakaedr,
Можете хоть набросок кинуть как вручную делать..? Или что-то типо этого ? Source: "D:\Games\Buh\ALI213\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: Buf\ru; Source: "D:\Games\Buf\Reloaded\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: Buf\en; |
Цитата:
|
Dodakaedr,
Буду ждать. |
Цитата:
Код:
Source: "D:\Games\Buh\ALI213\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: RuCheck; |
Dodakaedr,
Оооо,прям как надо.Спасибо оромное за все.Осталось только с прогресс баром проблемку решить.. |
Цитата:
|
Dodakaedr,
Заменил,но только не видно его http://i61.fastpic.ru/big/2014/0616/...5b96446056.png ,как я писал ранее без сторонних архиваторов он не идет. |
Цитата:
|
Dodakaedr,
Неа,только инно. |
|
Dodakaedr,
Гуру , спасибо вам. Все как я и хотел... |
Dodakaedr, а как тут поставить чисто галочки без кружочков
ComponentsList := TNewCheckListBox.Create(WizardForm); with ComponentsList do begin Parent := WizardForm; SetBounds(ScaleX(120), ScaleY(545), ScaleX(417), ScaleY(100)); AddCheckBox('Версия', '', 0, True, False, False, True, nil); AddCheckBox('Озвучка', '', 0, True, False, False, True, nil); AddRadioButton('Russian', '', 1, True, True, nil); AddRadioButton('English', '', 1, False, True, nil); end; |
diman_21Ru,
|
Dodakaedr, А как можно в файлах указать путь ?
|
Цитата:
|
Dodakaedr, На файлы которые будут
|
diman_21Ru, У вас в скрипте используется функция IsComponent(CompIndex: Integer): Boolean; это ваша чекова функция которая работает по индексу. Расчет индекса идет с первого компонента и начинается с 0 тоесть:
|
Dodakaedr, Не правильно что ли указал путь ,проверьте пожалуйста !
Source: {win}\Mods\Программы\Отображение облаков\*; DestDir: {app}; Check: IsComponent(0); Flags: external recursesubdirs AddCheckBox('Отображение облаков', '', 0, True, True, False, True, nil); //индекс №0 |
Цитата:
|
|
Всем привет ребята. Возник такой вопрос...
Как сделать это: Мне нужно, чтобы на странице компонентов, справа от компонента был допустим значок динамика и при его нажатии воспроизводился звук. Т.е. допустим я листаю компоненты: Прога 1 Прога 2 Прога 3 Возле проги 3 я нажимаю на маленький значок динамика и мне 1 раз воспроизводится звук заданный для проги 3. И так к каждому компоненту. Заранее спасибо за помощь! P.S. Допустим у меня есть папка audio в папке res, и папка res_mods. В установщике я устанавливаю компоненты в res_mods, как сделать так, чтобы при выборе определенного компонента папка audio из папки res копировалась в папку res_mods? |
Dodakaedr, Вроде все указал верно а обьем файла не пишет можно как то включить ?
|
Всем привет вроде указал верно а размер мода не показывает, а мод работает ,просто так сложно предугадать без обьема какой работает какой нет и как по умолчанию убрать галочку на мод ,заранее спасибо =)
AddCheckBox('Отображение облаков', '', 0, True, True, False, True, nil); //индекс №0 Source:"Mods\Программы\Отображение облаков\*"; DestDir: "{app}"; Check: IsComponent(0); Flags: ignoreversion recursesubdirs createallsubdirs |
Ктонибудь помогите! Вот такая ботва!
http://hkar.ru/tv46 И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает) |
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
Source: res\audio\*; DestDir: {app}\res_mods; Components: указываете компонент; Flags: ignoreversion recursesubdirs createallsubdirs Цитата:
Деинсталятор запускается, но по реестру я не очень... не уверен что все правильно прописал и еще я не понимаю смысл этого кода... ругается на константу {app}: Код:
if PerformPreviousUninstall(UninstallProgressBar) then |
Цитата:
|
Ктонибудь помогите! Вот такая ботва!
http://hkar.ru/tv46 И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает) скрипт http://rghost.ru/56443753 и помогите избавиться: такая хня на смалл аймаге вылетает на пару сек при установке (у меня арк без прекомпа) http://hkar.ru/tv46 |
Всем привет можно скрипт на музыку с прибавлением и убавлением звука
|
скрипт на музыку с прибавлением и убавлением звука
http://rghost.ru/56447740 |
Slivvki, а dll-ки, сплэш и прочее мне самому искать? Как я могу проверить скрипт?? Скиньте все что необходимо для работы вашего скрипта.
|
Извиняюсь, http://rghost.ru/56452216
|
Цитата:
|
Dodakaedr, большое спасибо за помощь. Именно это я искал)
P.S. как этот значок динамика прикрепить к определенному компоненту? На данный момент 3 динамика не прикреплены к компонентам, у меня много компонентов и соответственно когда прокручиваю бегунок то динамики двигаются вниз, а не остаются возле компонента. |
Ну а с смайл аймагом чего делать?
|
|
Добрый день! Подскажите пожалуйста, что нужно прописать в скрипте, чтобы во время установки игры ярлык на рабочем столе создавался автоматически (без запроса "создавать ярлык на рабочем столе"). Спасибо))
|
Цитата:
Код:
[Tasks] Код:
Name: "{commondesktop}\Моя программа"; Filename: "{app}\MyProg.exe"; |
Нужна еще помощь. Как сделать так, чтобы по завершению установки, приложение запустилось автоматически? Что поправить в скрипте? Спасибо :)
|
Цитата:
Код:
[Run] |
Привет ребят. Подскажите почему никак не могу подключить isgsg.dll, можно пример посмотреть, буду благодарен.
Скриншот ошибки компиляции: http://hostingkartinok.com/show-imag...0ba575e12e569a Файл библиотеки isgsg.dll и картинка лежат рядом со скриптом. Код:
[Files] |
dinis.grek,
http://rghost.ru/56533384 |
День добрый!
Есть задача удалять все файлы определенного формата перед установкой приложения. Файлы располагаются в папках типа {app}\aaa\aaa1, {app}\aaa\aaa2 и тд, и таких пронумерованных папок может быть любое, заранее неизвестное количество. Пробовала так: Код:
[InstallDelete] |
Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); Цитата:
|
Dodakaedr, дык вся проблема-то как раз в этом неизвестном количестве папок. само по себе удаление и секция installdelete прекрасно делает
|
И еще такой вопрос, а вернее два:)
Можно ли как-то достучаться до файлов, которые упакованы в инсталлятор? Ну какая-нибудь системная константа или типа того что-нибудь, чтобы можно было скопировать файл, запакованный в инсталлятор, руками, а не через секцию [files]. И можно ли как-нибудь руками выставить значения выбранных компонентов? Ну т е компоненты есть, но пользователь страницу с компонентами не видит. А сами выбранные компоненты определяются программно, в коде. |
Shkutu, если нужно извлечение файлов из секции Code - ExtractTemporaryFile
|
Habetdin, спасиб, что совсем про ExtractTemporaryFile вылетело из головы:)
А для выбора нужных компонентов можно заюзать WizardForm.ComponentsList, вроде работает) |
Добрый день!
Я совсем новичок в программе, только начинаю разбираться. Немного сложно конечно. Хотел бы попросить о помощи. У меня есть файл допустим 1.jpg мне нужно найти в определенной папке такой же файл и заменить его. Пожалуйста помогите (если конечно не лень :). Заранее спасибо :) |
через секцию [Files]
Код:
Source: 1.jpg; DestDir: {app}; Flags: ignoreversion DestDir: {app}; - папка установки (здесь можете указать определенную папку) Flags: ignoreversion - заменить. |
Я неправильно выразился. Есть папка, и подпапки. Мне нужно найти этот файл, и тогда только заменить...
|
Цитата:
Код:
[Files] |
Привет всем. Прошу помощи в таком деле. Как сделать копирование файлов из одной папки в папку с приложением при выборе определенного пункта инсталлятора?
|
Цитата:
Код:
[Files] |
пример.
В папке {app} находится папка audio, ее надо скопировать по следующему адресу {app}\files. Как такое реализовать? |
Ребята,можно ли поменять цвет прогресс бара ?
|
roman_kudin@vk, для начала нужно вырезать папку audio и поставить рядом с папкой {app}.
далее добавьте эту строку в раздел [Files]: Код:
Source: audio\*; DestDir: {app}\files; Flags: ignoreversion recursesubdirs createallsubdirs; |
Еще мне надо вырезать с скрипта видео - http://sendfile.su/994651 ,просто в конце установки идет видео ненужное.. Если вам не сложно будет,то хотелось убрать его.
Спасибо. |
спасибо, усовершенствовал немного первый код получилось то, что мне надо. Еще раз спасибо)
|
Dinvin4ester, как-то так
https://yadi.sk/d/-xatyvr1Ut33i |
habib2302,
Спасибо,но получается стандартный инсталлятор( |
Dinvin4ester, sorry
https://yadi.sk/d/udm_jLu_UtBhC |
habib2302,
Спасибо,а с остальными,они одинаковые,просто разные ,там доп.по и т.д.Не могли бы вы и там убрать? |
Dinvin4ester, в смысле? удалить видео в других скриптах выбор озвучки по центру и На 2 ярлыка
|
habib2302,
Ага. |
Dinvin4ester, https://yadi.sk/d/udm_jLu_UtBhC
|
Всем привет. Я хочу сократить команды например для тихой установки. . . т.е убрать
Код:
Components= Код:
AIDA64.v4.50.3000.exe /VERYSILENT /Components=AIDA64\P\3 Код:
AIDA64.v4.50.3000.exe /VERYSILENT /AIDA64\P\3 |
Цитата:
Код:
[Setup] |
|
habib2302, оно так и есть
Или куда надо? Зразу как нажимаешь Пуск? Попробуйте это Код:
[Setup] |
|
Цитата:
|
|
Цитата:
|
спасибо. уже видел на форуме krinkels)))
|
Dodakaedr, как в этом же скрите сделать так, чтобы ярлыки создавались в зависимости от битности файлов и системы
|
Цитата:
|
Dodakaedr, я так и сделал
Код:
#define MyAppExeNamex86 "CCleaner.exe" |
Цитата:
|
Dodakaedr, не то
|
как организовать вот так же как на скрине (при помощи b2p), пробЫвал при помощи CreateBitmapRgn, края получаются какие то рванные, пример был, "потерял"
|
habib2302, Что не так?
|
Dodakaedr, все не так
|
Всем привет. Мне давали код для изменения пути установки в зависимости от компонента и не работает команда /DIR
Код:
procedure CurPageChanged(CurPageID: Integer); |
Цитата:
При использовании стандартного компонент листа: |
Цитата:
|
Куда все подевались? Кто нибудь ответит на мой вопрос? http://forum.oszone.net/post-2369579-989.html
|
Цитата:
|
Цитата:
|
audiofeel, Попробуйте это:
|
Dodakaedr, вот скрипт
|
habib2302, и модули с dll-ками тоже.
|
Dodakaedr, https://yadi.sk/d/aOOMnzcaVGBvn
|
habib2302, Так у вас ж работает смена пути в зависимости от типа установки
|
Dodakaedr, я знаю, но почему не работает команда /DIR
|
habib2302, Пробуйте:
|
Dodakaedr, спасибо
|
Добрый день! Возник такой вопрос. Допустим, есть уже готовый установщик (не мной созданный) и к нему 4 архива .bin. В общем обычный установщик. Нельзя ли что нибудь придумать, чтобы к этому установщику прикрутить свою ссылку, которая бы открывалась автоматически (в начале установки, в конце или в средине установки–тут уже не важно)?
|
Irenis, нет, насколько мне известно.
|
Dodakaedr, спасибо))
|
Цитата:
|
Dodakaedr,
добавьте #define MyAppExeName "CCleaner64.exe" удалите определение разрядности файлов not IsWin64; IsWin64; и еще много чего |
|
Цитата:
Цитата:
Код:
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeNamex64}; Components: CC\I; Tasks: icons\group; Check: IsWin64 |
habib2302, Правильно я понял? Должно установится два екзешника(CCleaner и CCleaner64), а ярлык только в зависимости от битности системы для соответствующего екзешника....(32-bit - CCleaner, 64-bit - CCleaner64)
|
Dodakaedr, yes
|
Цитата:
|
Dodakaedr, я говорил пример. т.е экзешники остаются, а иконки создаются в зависимости от битности экзешников. Значит функцию нужно указать в коде для скрипта на закрепление ярлыка
примерно так Код:
procedure CurPageChanged(CurPageID: integer); |
Цитата:
|
Dodakaedr, Thank You!!!
|
Ребята все привет, помогите полностью извлечь (выковырять) IsDone из этого скрипта? Заранее спасибо!
http://rghost.ru/56652966 |
Kashtan007, Советую лично изучить Пример IsDone
|
Доброго времени суток!
В расширенной версии IS есть возможность использовать ресурсы. Но если ресурсов много, то прописывать их в одну строку очень неудобно. Хотелось бы автоматизировать этот процесс. Подскажите, как это сделать используя пропроцессор? То есть, что нужно, что бы препроцессор нашел все файлы в заданной папке и забил их в директиву. То есть привел к виду Код:
#define Reources = "Filename.ext: Files\Filename.ext | Filename2.ext:Files\Filename2.ext..." Знатоки, умеющие работать с препроцессором, помогите пожалуйста С уважением |
Всем привет, возник такой вопрос. Можно ли создать внешний вид установщика в Inno Setup на основе изображений (это реализовано в репаках), без библиотеки IsDone? Или же с помощь. этой библиотеки создаются данный установщики?
Возможно ли сделать такой установщик без использования библиотеки IsDone. Заранее спасибо за ответ! Вот пример установщика. |
|
http://sendfile.su/995934 ребята,можно-ли сюда добавить музыку и сделать чтоб инсталлятор был на русском и на англ,ну как бы сделать переключение.
Спасибо. |
Цитата:
|
Цитата:
Код:
#define FileHandle Цитата:
|
El Sanchez, спасибо, то что нужно. Скажите, а как правильно прописать несколько директорий? К примеру файлы находятся в папках Files1 и Files2
|
Цитата:
|
Всем привет. Помогите мне решить проблему. Мне давали код на закрепление ярлыков в панеле задач и в меню пуск 2 в1. при выборе этих двух заданий (Tasks), то закрепляется только на панеле, а в меню нет. вот скрипт
https://yadi.sk/d/mVOJwGQZVqMQw |
Цитата:
|
|
habib2302, компилятор говорит, что вы передаете неправильное количество параметров. В функции у вас два параметра, а вы передаете 3. Уберите ненужный булевый параметр.
Код:
if IsTaskSelected('icons\taskbaricon') then |
YURSHAT, как я понимаю должно быть так?
Код:
Procedure CurPageChanged(CurPageID: Integer); |
Как себя будет вести этот код если ярлык перед установкой уже будет существовать?
|
Dodakaedr, а что?если по поводу создания 2 копии, то этого не происходит
|
Цитата:
|
Цитата:
|
Dodakaedr,
Ага,спасибо,там сделаю..,апд заметил что в русс,что в енг все черным .. я имею ввиду выбор - http://i61.fastpic.ru/big/2014/0703/...de2fe6008f.png ? Как побороть ? |
Цитата:
|
Цитата:
|
Dodakaedr, да. тоже проверил
|
habib2302, Отлично!
|
Цитата:
|
habib2302, у вас этот код закрепляет ярлык? У меня не хочет...
|
Dodakaedr, да. а вы не забыли еще прописать этот код
Код:
Procedure CurPageChanged(CurPageID: Integer); |
Цитата:
|
Всем привет,может кто-то подсказать как в добавить в данный код еще одну аудиозапись.Как не старался выходит что они играют вместе да и только
И еще вопроси,есть-ли у кого код для окна инсталлятора поверх всех окон |
Dodakaedr,
Cпасибо. |
http://i64.fastpic.ru/big/2014/0704/...6b61a97b2f.png
Не видно % и табличка с языком по центру линии,как и это побороть ? |
Цитата:
Цитата:
Код:
BASS_Init('{tmp}\1.mp3') Код:
BASS_Init(ExpandConstant('{tmp}\*.mp3')) Цитата:
Код:
procedure InitializeWizard(); Цитата:
|
YURSHAT, С музыкой разобрался теперь выходит другая проблема,при добавление "поверх все окон" становится кнопки от батвы прозрачными но кликабельными у басс модуля
|
Цитата:
Если что альтернативный вариант Код:
const |
YURSHAT,
извините за тупой вопрос,но как изменить ? |
|
YURSHAT, +10 за найопку)
Так у меня не получается,скажите что поменять пожалуйста. |
Всем привет, как сменить рамку в установщике? Заранее спасибо!
|
Kashtan007, https://yadi.sk/d/VLf-0U4IVyz59
при помощи SkinBuilder можно извлечь (экспортировать в формате .cjstyles) оформление из тем для Win XP и так же их можно применить. |
habib2302, спасибо. Так здесь же не только рамка а полностью дизайн установщика, как оставить только рамку?
P.S. Где взять SkinBuiler? Не могу найти( |
Цитата:
Код:
langBtn:= TButton.Create(WizardForm); ScaleY(360) - отступ сверху ScaleX(30) - ширина кнопки ScaleY(30) - высота кнопки Цитата:
|
Kashtan007, данная программа есть в сборке Inno Setup Ultra или в шапке Дополнительное ПО -> ISSkin
http://youtu.be/3AF6s59YaWQ |
habib2302, спасибо) Сейчас попробую свою рамку добавить.
|
Kashtan007, пожалуйста
|
Dodakaedr,
как всегда - спасибо. |
YURSHAT, Не знал как яснее выразить данную проблему,но второй вариант мне подошел спс.
|
Ребята,это опять я. Мне Dodakaedr, помог за что ему и спасибо,но есть одно но,перевел все на англ,но в некоторых частях все-равно проскакивает русский текст http://i61.fastpic.ru/big/2014/0706/...3a10d1e1b3.jpg и http://i63.fastpic.ru/big/2014/0706/...c0dd028ea6.jpg
Скрипт - http://multi-up.com/984517 . |
Цитата:
Код:
procedure ChangeLang(); |
Dodakaedr,
Да вроде перевел нормально и добавил,но как было так и осталось,что я делаю не так ? |
Вы в процедуру procedure ChangeLang(); что-то пишите?
|
Dodakaedr,
Ага,SelectGroupLabel.Caption := CustomMessage(lang+'SelectGroup'); ну и т.д. ___________ Вроде все получилось и показывает,но вот на этом выдает ошибку http://i64.fastpic.ru/big/2014/0706/...249d5d0513.png И еще заметил где присутсвуют цифры ,например SelectGroupLabel1,то выдает ошибку,что не так ума не приложу. |
Dinvin4ester, то что вы прописали у вас не используется. Возможно вы хотели вот это прописать
Код:
InstallSpacelabel1.Caption := CustomMessage(lang+'Install1'); |
Dodakaedr,
ок,попробуем. |
Всем доброго времени суток, в данный момент в установщике "Удаление старых компонентов" и "Бекап компонентов" реализовано вот так: Скачать скрипт.
Но есть одна проблема, функция удаление старых компонентов работает не корректно. Получается, что когда выбираешь этот чекбокс, то он удаляет компоненты уже после их установки. Т.е. если, что-то устанавливаешь и выбираешь это чекбокс, то в итоге ничего не установится так как он удалят компоненты уже после установки. В идеала сначада должно удалить старые компоненты, а потом установить модификации. А в данный момент получается, что с начала идет установка а потом удаление и в итоге получается как-будто ничего не устанавливал. Спасибо, что помогаете) Заранее огромное спасибо! |
Kashtan007, если я правильно понял то вам нужна секция [InstallDelete].
Пример: Код:
[InstallDelete] |
Dodakaedr, походу, что да) Эта секция только для удаления компонентов? А, что делать с бекапом? Как мне это совместить?
|
|
Kashtan007, Пример,дальше сам играйся https://yadi.sk/d/CP9bnROEW3iYq
|
|
Dodakaedr, спасибо огромное за помощь) Передай Sergey3695 тоже спасибо)
P.S. Пойду тестировать) |
Dodakaedr, к сожалению не работает(
Пробовал много раз, нету ни удаления, ни бекапа( |
Цитата:
P.S. Если вы копипастом вставляли, то надо в строчке [ Code] удалить пробел. Вы это сделали? |
Ребят,может кто-то подсказать можно как-то решить чтобы антивирус не блокировал dll?
Можно как-то добавить сертификат подпись и вообще возможно-ли его создать и прикрутить |
Цитата:
В Inno Setup Compiler задумано ещё проще. Знакомьтесь с настройками Inno Setup Compiler повнимательней: Откройте Inno Setup Compiler Инструменты » Настройки редактора Перейдите во вкладку Копирование текста Найдите: При копировании текста как UBB код, переключите на Использовать тег [Code] и нажмите ОК На этом всё. А дальше, копируете код который хотите вставить: Выделяете содержимое; Жмёте правую кнопку мыши и выбираете Копировать как UBB код. И всё, вам при вставке, даже не придётся здесь нажимать т.к при копировании код будет со всеми необходимыми тегами: [code][Code] [/code] Цитата:
|
Цитата:
|
Подскажите как реализовать эту строку в секции [code]?
Код:
Source: "{Settings}\FSSettings,eng,reg.db"; DestDir: "{app}"; DestName: "FSSettings.db"; MinVersion: "0.0,5.0"; Check: PortableCheck and RegCheck and EngCheck; Flags: ignoreversion Все разобрался в чем был косяк, но все равно интересно реально ли такое через секцию [Code] сделать. Кто знает подскажите, пожалуйста. |
Dodakaedr, может как-то так?
|
Добрый день! Подскажите, в чем может быть проблема. Делала установщик одной игры. Все было отлично. Потом вышло обновление игры, я обновила её. Передела архив .bin (FreeArc-ом запаковываю). В самом скрипте изменила только версию игры. Больше ничего не трогала. Так вот, теперь во время установки, распаковка доходит до 85.9 % и дальше никак, стоит на месте. Уже несколько раз и архив .bin переделывала, и скрипт заново создавала. Ничего не помогает, доходит до 85.9 % и останавливается :( Что это может быть?
А, и игру заново переустанавливала с офсайта, результат тот же. |
Всем привет, как в установщике сделать прозрачный фон под надписями, чтобы было видно картинку?
Заранее спасибо за ответ! P.S. у меня установщик большого размера, как сделать так, чтобы когда открываешь его он был по центру монитора, а то получается нижняя часть прячется за панель задач. |
Irenis, а в скрипте поменяла расширение файла?
|
Доброго времени суток!
А нет ли в инно возможности сравнивать строки по маскам или использовать регулярные выражения? Нужно проверять, что директория, задаваемая пользователем является действительно валидной директорией (с буквой диска вначале или в форме UNC). Т е нужна реализация чего-то типа стандартной проверки инно при задании директории установки. Может кто помочь советом/кодом?:) |
Цитата:
|
|
Цитата:
|
Irenis, Попробуйте сжать и распаковать вот небольшой примерчик.
1- В папку packeddata закиньте файлы какие необходимо сжать. 2- Запустите lzma.bat. 3- В папке data получите готовый архив. |
Shift85, спасибо, попробую))
|
Shift85, спасибо большое), а куда эту строку засунуть?
|
Цитата:
Код:
FreeSpaceLabel:=TLabel.Create(WizardForm); |
Shift85, прости что достаю, но я никак не пойму куда эту запихнуть? Уже везде в коде пробовал вставлять... одни ошибки.
|
Kashtan007, Код скрипта покажи.
|
Shkutu,
Цитата:
|
Johny777, спасибо, похоже то, что надо. А может еще подскажете, как этим правильно пользоваться? Там просто параметр - это вроде указатель. Пробовала объявлять функцию как
Код:
function PathFileExists(Path: pansichar): boolean; |
Shkutu, И правильно ругается. Т.к. в библиотеке нет имени функции под названием "PathFileExists".
дело в том что все WINAPI функции и процедуры где во входных аргументах есть "строка" функция задаётся двумя типами: имя_функцииW - сокр. Wide - стока символов в который каждый символ лежит в Word-е имя_функцииA - сокр. Ansi - стока символов в который каждый символ лежит в Byte-е PWideChar, PAnsiChar - типизированный указатель на первый байт строки. сама по себе типизация - это приблуда языков для упрощения адресной арифметики, скажем адрес первого байта 1000000 и он лежит в переменной типа типизированного указателя P: PWideChar получаешь значение по адресу в P так: P^ чтоб получить след. символ нужно прибавить к P единицу ( P + 1 ). При этом числовое значение указателя становится 1000002 тк SizeOf(WideChar) = 2 байта, Те компилятор знает благодаря типизации на сколько байт нужно сместиться можно и так NativeUInt(P) + SizeOf(WideChar) в PAnsiChar смещение (или шаг) на 1 байт соответственно при это String это самый обычный указатель попробуй если интересно в нормальном языке сделать так: и ты увидишь что и адреса и символы равны :) если мне память не изменяет, то в Ansi версии инно все String по дефолту AnsiString , а в юникодной версии WideString и так как мы выяснили что (Wide/Ansi)String = P(Wide/Ansi)Char = Pointer, то канает следующее: |
Цитата:
А можно поинтересоваться, как это вы так сделали? Как оно работает? |
Irenis, Документация на FreeArc 0.40
|
Johny777, спасибо за подробные объяснения.
Однако, я видимо не совсем правильно поняла значение слова "valid", когда читала описании функций. Ибо оказалось, что эти функции работают для существующих папок и файлов :(, с которыми как раз проблем вообще нет (если папка существует, очевидно, что ее имя валидно)) Мне же нужно проверять валидность как раз в случае, если такого пути не существует |
Всем привет, как в установщике сделать прозрачный фон под надписями, чтобы было видно картинку?
P.S. У меня установщик большого размера, как сделать так, чтобы когда открываешь его он был по центру монитора, а то получается нижняя часть прячется за панель задач. P.S.S. Как сделать иконку включения\отключения музыки поверх BitMapImage? Т.е. когда я использую BitMapImage то иконки включения\отключения музыки прячется по ним, как сделать эту иконку поверх всего. Заранее спасибо за помощь! |
Вложений: 1
Kashtan007, :butcher: :moderator :offtopic:
Вот юзай. |
Shift85, спасибо). Это к какому из вопросов?
|
|
Shkutu, ну тогда нужно писать свою проверку
типа первый символ - буква диска, второй - двоеточие итд путь не должен содержать запрещённых символов: < (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk) http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx ещё думаю нужно учесть сетевые пути и фиг знает что ещё прости, но у меня сейчас сессия и я не могу писать даже такую небольшую функцию. Попробуй сама! Ok? UPD: вот тут есть сишная имплементация подобной проверки Изучай :) http://codereview.stackexchange.com/...-your-critique |
Johny777, собственно уже пишу.:)) Пока сделала чисто в инно, парингом как раз на запрещенные символы и буквы диска проверяю. Но думаю все-таки, что может лучше свою библиотеку и регулярку там заюзать)
А за пример спасибо, посмотрю:) З.Ы. Удачи на сессии! :) |
Kashtan007, В юникодной версии Inno можно в редакторе форм задействовать прозрачность.
Пример (На ANSI код работать не будет): Код:
[Setup] |
Цитата:
|
del
|
Ребята, что здесь нужно изменить, чтобы добавить стиль на Inno Setup Unicode?
На Ansi работает с этим кодом: Код:
#ifdef UNICODE P.S. У меня установщик большого размера, как сделать так, чтобы когда открываешь его он был по центру монитора, а то получается нижняя часть прячется за панель задач. P.S.S. Как сделать иконку включения\отключения музыки поверх BitMapImage? Т.е. когда я использую BitMapImage то иконки включения\отключения музыки прячется по ним, как сделать эту иконку поверх всего. Заранее спасибо за помощь! |
Цитата:
Пример Цитата:
Пример: Код:
[Code] Цитата:
Пример: Код:
[Code] |
Пытаюсь реализовать следующие:
Код:
[UninstallRun] |
Nordek, спасибо большое за помощь. Все работает!)
|
Можно-ли как-то добавить в басс стартовую громкость?
То есть чтобы играло при запуске не на все 100% а только на 10% к примеру,порылся в модулях нечего не нашел. |
boss911,
Код:
[UninstallRun] |
Еще возник такой вопрос, я использовал Transparent для того чтобы сделать текст без фона, но теперь я не могу изменить цвет шрифта и размер. Пробовал уже и через код и через редактор форм, но цвет остается черный, но когда я возвращаю фон то цвет текста меняется. Можно ли как-то сделать текст другого цвета? Заранее спасибо за помощь!
P.S. Как в юникоде сделать кликабельные иконки? например: на нижней панели есть значок ютуба на него нажимаешь и открывается канал на ютубе. А анси работало это: Код:
begin Заранее спасибо за помощь! |
Nordek
Если бы это было так просто, я бы так и поступил. Мне важно запустить приложение так, как это прописано в параметре "ModifyPath" в вышеуказанной ветке реестра, а там может быть что угодно, чего я предусмотреть (нужный параметр) не могу. Сдается мне, что константа {reg} слегка убога, не умеет читать строку (значение параметра) с пробелами. Может и умеет, но я не знаю как, собственно и как по-другому пояснить эту ситуацию. Видимо без [code] тут не обойтись. |
El Sanchez, спасибо, похоже на то, что нужно. Но такой момент есть. Для того, чтобы узнать, что вводимый путь был корректным, его можно сравнить с тем, что получается в результате функции и кладется во 2й параметр. Однако, для корректной работы функции, надо чтобы размер второй строки был больше длины изначальной. В итоге получается, что 2 одинаковые по содержанию (текстовому) строки, по факту отличаются и сравнение не проходит. Не подскажете, что с этим можно сделать?
|
Kashtan007, Скрипт покажите!
|
Цитата:
Выбирайте какой больше нравится:
Код:
#define Bitmap "Logo.bmp" Код:
#define Bitmap "Logo.bmp" Код работает на обеих версиях. |
Доброго времени суток, наткнулся на такую проблему.
Как сделать эти 2 строки прозрачные? В редакторе форм они не отображаются... Пытался через код: ModCheck.Transparent := True;, выдает ошибку (Версия Unicode). Как можно по другому сделать эти 2 строки прозрачные? Заранее спасибо за ответ! P.S. Dodakaedr, Nordek, Shift85, habib2302. Большое спасибо за помощь! Благодаря вам я наконец-то сделал практически все, что хотел в своем установщике) |
Цитата:
Код:
SoftLabel:= TLabel.Create(WizardForm); |
Shift85, спасибо, но так и не получилось применить. Выдает ошибку.
Вот эти 2 строки, которые я хочу сделать прозрачными: Код:
begin |
Kashtan007, а если так
Код:
begin |
habib2302, пробовал уже так(
Ошибку выдает, хотя компилирую на юникоде |
Цитата:
|
Kashtan007, а если просто так
Код:
Transparent:=True http://forum.oszone.net/post-2374802-1103.html |
Shift85, на анси та же ошибка.
|
Kashtan007, Тогда попробуй переделать. Заменить чекбоксы на лейблы. Как у меня в примере выше.
|
Цитата:
|
Цитата:
Цитата:
Цитата:
Но, как я уже сказал, функция не годится, слишком корявый у нее принцип работы, тут нужно парсить путь с помощью регулярных выражений. У меня пока не получилось написать регулярку, учитывающую все варианты, а существующие решения далеки от идеала. |
El Sanchez, видимо недостаток образования, но не знала, что С:\\\\\\test - это корректный путь. Думала, функция как раз убирает лишние слеши и точки/запятые. На недопустимые символы, типа *,<,> и т д там проверки нет. Впрочем в комментариях сказано, что среди Вин Апи функций вообще нет ни одной для валидации пути, вводимого пользователем. Так что видимо и правда из вариантов только свою делать.
Цитата:
Цитата:
|
Цитата:
Код:
#define A = (Defined UNICODE) ? "W" : "A" |
Народ спасайте помогите прикрутить страницу компонентов к этому скрипту с выбором компонентов и отображение картинки и описание компонента
Скрипт - Ссылка Скрипт (примера компонентов) - Ссылка Скриншот примерно как должна выглядит страницы https://yadi.sk/i/l8EtFfw3WcADH Заранее большое спасибо, мучаюсь очень долго не могу понять как правильно прописать вывод компонентов страницы |
El Sanchez, пробовала тримить, хвост не убирается, ни если длину строки setlength'ом задавать, ни с помощью StringOfChar.
А вот еще вопрос. Можно как-то на страницу компонентов к этим самым компонентам хинты прикрутить? |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
|
habib2302,
Код:
[Registry] |
Добрый день! Подскажите пожалуйста. Вот создала я установщик. Но мне нужно, чтобы этот установщик был в формате iso. Как это сделать попроще? Скачать любую программу для создания образов, закинуть туда файлы установщика и создать образ? А потом для установки нужно будет просто как то размонтировать этот образ и установить игру, как обычно? Или же я неправильно понимаю весь процесс? Если все верно, то какой программой лучше создавать этот образ iso? Спасибо :)
|
Вложений: 1
Всем доброго дня или вечера!
Подскажите пожалуйста как написать код деинсталлятора чтобы при удаление было так |
Цитата:
|
Цитата:
|
Ребята помогите со скриптом. Как всё таки сделать что бы путь указанный не менялся при выборе другой папки? Я имею в виду Installer и Portable в одном файле.
|
AlekseyPopovv, Если вас вообще правильно понял
Код:
[Setup] |
|
habib2302, Ботвой походу пользуешься да. :)
|
Shift85, да. а что?
|
Цитата:
Нужно без ботвы попробовать. |
habib2302, нельзя напрямую запускать msi-файл, нужно запускать
Код:
msiexec.exe /i файл.msi |
Вложений: 1
|
habib2302,
Цитата:
Код:
function InitializeSetup(): Boolean; |
|
habib2302, msiexec не находит msi-файл. Если честно, то я тоже не вижу где он распаковывается в скрипте :)
Вот пример из базы знаний Inno Setup, в Run указан полный путь к файлу (с кавычками на случай наличия пробелов в пути) и распаковкой в секции Files: Код:
[Files] |
Ребята,подскажите чтоб инсталлятор ставил в стим что нужно прописать ?
|
Dinvin4ester, для большинства игр достаточно папки игры в папке %steamapps%\common и файла appmanifest_%GameID%.acf в папке %steamapps%.
Правда для облегчения первого запуска можно прописать компоненты в ветке реестра HKLM\SOFTWARE\Valve\Steam\Apps\%GameID% (как - зависит от игры, лучше экспортировать ветку) - например, DirectX и библиотеки Visual C++, которые и так почти с каждой игрой в стиме идут :not-me: %GameID% - ID игры в магазине стим. %steamapps% по умолчанию - параметр InstallPath из HKLM\SOFTWARE\Valve\Steam + "\steamapps". |
Можете кто-нибудь подсказать? В данном куске секции [Registry] есть чековые проверки RUPTracedRegExclExists, RUPJFCExcludeExists, RUPTracedProcInclExists, RUVerIs2. Как их можно реализовать? Спасибо!
Код:
Root: HKCU; Subkey: "Software\VS Revo Group\Revo Uninstaller Pro\Uninstaller\Traced\RegExclude"; ValueName: "HKEY_LOCAL_MACHINE\SYSTEM\*\services\Tcpip\Parameters"; ValueType: Dword; ValueData: "$C"; Check: "RUPTracedRegExclExists"; MinVersion: 0.0,5.01.2600 Service Pack 1; Flags: createvalueifdoesntexist |
Цитата:
Код:
[code] |
R.i.m.s.k.y., ну это как-бы понятно. "..." - что там нужно указывать? Вот что интересует.
|
Цитата:
И если вы сами не представляете, что там проверяется, то тут у автора скрипта надо спрашивать, я думаю:) |
Shkutu, у меня мало опыта в этом и для этого я кусок секции показал, может кто и знает что там за проверка осуществляется, может кто более опытен в таких делах.
|
Помогите как в скрипте сделать так чтобы в ярлыки были в пуске и на рабочем столе
Помогите как в скрипте сделать так чтобы в ярлыки были в пуске и на рабочем столе
вот скрипт Код:
#define NeedSize "6315" |
Цитата:
Код:
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeWorkingDir}{#MyAppExeName}"; Workingdir: "{app}\{#MyAppExeWorkingDir}"; IconFilename: "{app}{#UninstallFolder}\Game.ico"; Check: "NoIcons"; Код:
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" |
Shift85, Это делать в разделе:[Icons] ?я так понял?
|
Цитата:
|
Shift85, нет ошибку пишет
|
Вложений: 1
Shift85, сделал вот так
Name: {userdesktop}\{#MyAppName}; Filename: {app}{#exeName}; Check: CreateIcons Name: "{group}\{#MyAppName}"; Filename: "{app}\{#exeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#exeName}"; Tasks: desktopicon но выдает ошибку: |
Сделал вот так
[Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#exeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#exeName}"; на рабочем столе появился ярлык а в пуске появились но без картинки но запускаются как картинки поставить? |
Люди добрые помогите накидать срипт в распаковке 7z под паролем рядом с инстал.
чтоб вот так было. |
bosenkov5, он у тебя ругается на секцию tasks, скорее всего desktopicon не определен в секции tasks
|
Цитата:
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#exeName}"; IconFilename: ""{app}\{#exeName}"; IconIndex: 0 но вообще че-то мне кажется что кеш иконок у тебя глючит, перегрузи комп |
строчка
Код:
if ('1.0.0.6' < '1.0.0.20') then MsgBox('www', mbInformation, MB_OK); Код:
--------------------------- даже if ('a' < 'b') - та же ошибка. что я делаю не так? ведь инно должен сравнивать текстовые строки расширенный юникод компилятор |
R.i.m.s.k.y., да вроде работает
Код:
[Setup] |
Цитата:
|
Цитата:
этот if ('a' < 'b') был в initializeSetup Код:
Function InitializeSetup : boolean; |
R.i.m.s.k.y., так тоже работает, и на юникоде
Код:
[Code] |
R.i.m.s.k.y., saurn, неужели '1.0.0.6' "больше", чем '1.0.0.20'? Обсуждалось ведь уже, что так сравнивать версии в виде строк некорректно.
|
El Sanchez, нет, конечно 1,0,0,6 меньше 1,0,0,20
это просто эксперимент по сравнению строк в инно от выхлопа GetVersionNumbers как тогда правильно сравнивать версии? |
R.i.m.s.k.y.,
Код:
function CompareTextI(const str1, str2: String): Boolean; |
sergey3695,
спасибо, но кмк пример эль санчеза более изящный //////////////////////////////////////////////////// function FormatVersion(const szVer: String): String; var i: Integer; begin with TStringList.Create do try StringChangeEx(szVer, '.', ',', True); CommaText := szVer; for i := 0 to Count-1 do Strings[i] := Padz(Strings[i], 5); Result := CommaText; StringChangeEx(Result, ',', '.', True); finally Free; end; end; ///////////////////////////// procedure InitializeWizard(); begin if FormatVersion('10.0.0.6') < FormatVersion('10.0.0.20') then MsgBox('True', mbInformation, MB_OK) else MsgBox('False', mbInformation, MB_OK); end; |
R.i.m.s.k.y., ну там просто не было ответа на твой вопрос.
Интересно то, что подобный вопрос ты уже задавал http://forum.oszone.net/thread-278998-3.html и StringChangeEx(Result, ',', '.', True); можно удалить. |
Вложений: 1
Помогите разобраться вот такая ошибка...
|
Добрый вечер! Подскажите пожалуйста, при создании установщика я архивирую необходимые файлы при помощи FreeArc. Там есть разные степени сжатия (нормальный, высокий и т.д.) Вопрос, как можно заархивировать файлы тем же FreeArc-ом, но чтобы без сжатия, т.е. чтобы размер архива был такой же, как и размер архивируемых файлов?
|
Irenis,
батник. Код:
arc a data -m0 -ep1 -r -s -dsp "packeddata\*" |
Ребята что делаю не так ? Не видно прогресс бара,скрипт - http://rghost.ru/57061315
|
Не нашёл на скорую руку такой момент, хочу проконсультироваться. Есь секция [icons]. С её помощью создаю значки/ярлычки на столе и меню "Программы". Так вот мне нужно в зависимости от языка системы (региона) чтобы некоторые из них были на русском языке для русскоязычной винды и на английском для англоязычной. Можно это как-то лёгким движением руки сделать?
|
Всем привет, как сделать прозрачными эти окна?
И это Заранее спасибо за помощь. |
Вложений: 1
Уважаемые гуру подскажите пожалуйста.нашол скрипт и при компиляции выдаёт вот это:
|
Цитата:
bosenkov5, скрипт то покажи скорее всего путь не туда прописан |
Цитата:
|
bosenkov5, Не знаю что у вас, но у меня такая ошибка появилась на проверенном скрипте при использовании Inno Setup 5.5.5
|
R.i.m.s.k.y., там ответ есть от nik1967. (в самом конце).
Dinvin4ester, function SevenZipCommand(const hWnd: HWND; szParams: AnsiString; White Rabbit, то есть в зависимости от языка винды, указывались на нужном языке надписи. если так, то есть GetUILanguage. в справке почитай. bosenkov5, Kashtan007, кидай-те скрипты с файлами. |
R.i.m.s.k.y.,
[code]#define GameName "Mafia II" /*Навзание игры*/ #define PathGameName "Mafia II" /* Название папки игры (без /:*?"<>|)*/ #define GameEXE "launcher.exe" /*Название экзешника*/ ;#define GameEXE2 "Data2.exe" /*Название экзешника 2*/ #define GameVersion "1.0.0.1u5" /*Версия Игры*/ #define InstallVersion "1.0.0.1" /*Версия Инсталла*/ #define RePacker "Unknown" /*Имя Репакера */ #define NeedSize "7343" /*Необходимое св.место для Игры */ #define NeedInstallSize "7353" /*Необходимое св.место для установки */ #define NeedMem "512" /*Необходимое ОЗУ для установки */ ;#define Components /* Компоненты */ #define Tasks /* Задачи */ #define Splash /* Сплешь */ #define Russophobia /* Русофобия (Запрет русских символов в пути установки) */ ;Папка сохранений. Если нету, то перед "#define" поставить ";" ;#define SAVES1 "{userdocs}\Euro Truck Simulator 2" ;Вторая и третья папки сохранений. Если нету, то перед "#define" поставить ";" ;З.Ы. Если таки есть, то начинать обязательно с SAVES1 ;#define SAVES2 "{userdocs}\BioWare\Mass Effect" ;#define SAVES3 "{userdocs}\BioWare\Mass Effect" ;Настройка ISDone #define records /* Раскомментировать после "тестового прогона" */ ;#define PrecompInside /* Распаковка PRECOMP'а "на лету" */ ;#define SrepInside /* Распаковка SREP'а "на лету" */ #define facompress /* Ускоряет распаковку FreeArc-архивов */ ;#define precomp "0.38" /* Указать какую версию precomp'а использовать. */ ;#define unrar /* Раскомментируйте, если необходима распаковка rar-файлов */ ;#define XDelta /* Раскомментируйте, если необходима распаковка diff архивов, созданных с помощью xdelta3. */ ;#define PackZIP /* Раскомментируйте, если необходима поддержка упаковки файлов в архивы zip. */ [Setup] AppName={#GameName} AppPublisher=RePack by {#RePacker} AppVerName={#GameName} AppCopyright=© RePack by {#RePacker} DefaultDirName={pf}\{#PathGameName} DefaultGroupName={#PathGameName} VersionInfoDescription=Installer - {#GameName} VersionInfoTextVersion={#GameVersion} VersionInfoVersion={#InstallVersion} InternalCompressLevel=ultra64 SolidCompression=true SetupIconFile="Output/icon.ico" ShowTasksTreeLines=Yes Compression=lzma/ultra64 OutputBaseFilename=Setup UninstallDisplayIcon={app}\{#GameEXE} UninstallFilesDir={app}\Uninstall [Files] //////Файлы графики и инсталлятора/////////// Source: InstallFiles\*; Flags: dontcopy Source: dllFiles\*; Flags: dontcopy //////////////файлы сплеша///////////// #ifdef Splash Source: Splash\*; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression #endif ///////////////////////////Файлы ISDone\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Source: Include\russian.ini; DestDir: {tmp}; Flags: dontcopy Source: Include\unarc.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\ISDone.dll; DestDir: {tmp}; Flags: dontcopy #ifdef records Source: Include\records.inf; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PrecompInside Source: Include\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef SrepInside Source: Include\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef facompress Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef precomp #if precomp == "0.38" Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.4" Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.41" Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy #else Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy #endif #endif #endif #endif #ifdef unrar Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef XDelta Source: Include\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PackZIP Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packZIP.exe; DestDir: {tmp}; Flags: dontcopy #endif [Icons] Name: {commondesktop}\{#PathGameName}; Filename: {app}\{#GameEXE}; Parameters: "lng>russian"; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE}; Tasks: Icons\DesktopIcon; Check: CheckError #ifdef GameEXE2 Name: {commondesktop}\{#PathGameName}.(Настройки); Filename: {app}\{#GameEXE2}; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE2}; Tasks: Icons\DesktopIcon2; Check: CheckError #endif Name: {group}\{#PathGameName}; Filename: {app}\{#GameEXE}; WorkingDir: {app}\; IconFilename: {app}\{#GameEXE}; Tasks: Icons\QuickLaunchIcon; Check: CheckError Name: {group}\{cm:UninstallProgram,{#PathGameName}}; Filename: {uninstallexe}; IconFilename: {app}\{#GameEXE}; Tasks: Icons\QuickLaunchIcon; Check: CheckError #ifdef Components [Types] Name: full; Description: Полная установка; Flags: iscustom [Components] Name: InterfaceLanguage; Description: Язык Интерфейса:; Flags: fixed; Types: Full; Name: InterfaceLanguage\Russian; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000 Name: InterfaceLanguage\English; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000 Name: SoundLanguage; Description: Язык Озвучки:; Flags: fixed; Types: Full; Name: SoundLanguage\Russian; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000 Name: SoundLanguage\English; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000 ;Name: Crack; Description: Таблетка:; Flags: fixed; Types: Full; ;Name: Crack\ALI213; Description: ALI213(Рекомендуется); Flags: exclusive; ExtraDiskSpaceRequired: 5000520 ;Name: Crack\THETA; Description: THETA; Flags: exclusive; ExtraDiskSpaceRequired: 5000900 ;Name: Crack\Reloaded; Description: Reloaded; Flags: exclusive; ExtraDiskSpaceRequired: 6000842 #endif #ifdef Tasks [Tasks] Name: Icons; Description: {cm:Icons}; Flags: unchecked; Name: Icons\DesktopIcon; Description: {cm:CreateDesktopIcon}; #ifdef GameEXE2 Name: Icons\DesktopIcon2; Description: {cm:CreateDesktopIcon2}; #endif Name: Icons\QuickLaunchIcon; Description: {cm:CreateQuickLaunchIcon}; Name: Soft; Description: {cm:Soft}; Name: Soft\DirectX; Description: DirectX.; Name: Soft\VCCheck; Description: Microsoft Visual C++ 2010.; Flags: //Name: Soft\Net; Description: Microsoft NET Framework 4.0 ; Flags: Name: Soft\PhysXCheck; Description: NVIDIA PhysX //Name: Soft\UbisoftGameLauncher; Description: Ubisoft Game Launcher; Flags: //Name: Soft\WinLive; Description: Установить Windows Live; Flags: #endif [Run] Filename: {src}\Soft\DirectX\DXSETUP.exe; WorkingDir: {src}\Soft\DirectX\; Flags: waituntilterminated; Tasks: Soft\DirectX; StatusMsg: Установка DirectX...; Check: CheckError Filename: {src}\Soft\Redist\vcredist_x86.exe; StatusMsg: Устанавливаем Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and not IsWin64; Filename: {src}\Soft\Redist\vcredist_x64.exe; StatusMsg: Устанавливаем Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and IsWin64 [UninstallDelete] Type: filesandordirs; Name: {app} Код:
#ifdef Splash |
Цитата:
|
bosenkov5, Захватите ваше произведение искусства в тег [code][/code] (информация по обработке тегов) и скройте под спойлер.
|
Всем доброго времени суток. Возникла проблема, я использую библиотеку ISSkin.dll, но после установки компонентов, мой скин skin.cjstyles распаковывается в ту же папку куда и компоненты. Т.е. у меня есть папка "Программы"я устанавливаю туда компоненты и помимо этих компонентов, там каким-то непонятным образом появляется мой скин skin.cjstyles. Как решить эту проблему? Заранее спасибо за ответ!
|
Цитата:
щито неясно? bosenkov5, а) проверь пути чтобы по ним все лежало б) extractTemrorrayFileSize у тебя вызывается раньше чем объявляется, ищи его во вторичных iss (которые #include...) и ставь botva2.iss ниже iss с extractTemrorrayFileSize в) компилятор какой? у нас тут у всех расширенный китайский :) (юзаем innoultra) |
R.i.m.s.k.y., В том и дело, что я не распаковывая в папку программы этот файл. Файл скина находиться у меня в [Files], но для того, чтобы он работал. Тем более, я выбираю компоненты.
|
Kashtan007, c такой постановкой вопроса лучше обращаться сюда
|
R.i.m.s.k.y., скинул скрипт в ЛС, посмотрите пожалуйста.
|
Kashtan007,
на тематику в личке не отвечаю, для этого есть форум зы: тем более что в скрипте ничего экстраординарного зыы: флаг dontcopy пропущен или раскидывай по папкам как нужно Код:
//--------// Рамка и кнопки [Начало] //--------// зыыыы: про оформление смотри подпись |
R.i.m.s.k.y., а можно сделать, чтобы при удалении рамки не было и соответственно стиль не копировало?
|
Цитата:
|
nik1967, мда, еще и издеваетесь..
Нет бы помочь.. |
Kashtan007, а) можно удалять в стандартном скине (т.е. без него)
б) хз как выкрутиться, я делал дистры со шкурками но не заморачивался на "тайну" скина, в папке назначения делал "свою" папку куда клал что нужно и как-то проблемы не возникало, только по коду растыкивал "IfFileExists (шкурка)" чтобы работало хотя бы в стандартном виде и без ошибок вощем смотри подпись :) |
R.i.m.s.k.y., спасибо, а куда вписывать путь к своей папке, чтобы туда добавлялся скин?
|
Kashtan007, ищи поиском и сам поймешь, у тебя по всему скрипту раскиданы вызовы шкурки
ну и заменяй на какую хочешь папку если хочешь сделать хороший дистр поставь перед вызовом шкурки проверку на наличие файлов, а то может антивирь блочить при установке и тогда не поставится, или при удалении - тогда не удалится |
|
nik1967, да там ничего особенного
"примерный" скрипт не понимаю чего из него тайну делать Ну, каштан007 захочет - ссылку выложит |
R.i.m.s.k.y., пытался сделать, чтобы скин распаковывался в отдельную папку, но не получилось. Как можно это сделать?
Заранее спасибо! |
Цитата:
Код:
Source: InstallFiles\*; DestDir: {app}\Skin; Flags: ignoreversion; Attribs: hidden system; |
Shift85, спасибо.
Есть еще проблема, как сделать прозрачными эти окна? И это Заранее спасибо за помощь. P.S. Как можно максимально сжать размер установщика? |
Вложений: 1
|
bosenkov5, Я так и понял что вы это сообщение не читали.
Это прочтите на досуге. bosenkov5, 1. В скрипте не хватает: Messages.iss, botva2.iss, PB.iss, botva2u.iss, Header.iss, ISDone.iss и связанных с ними файлов. В секции [Files], хорошо видно то, что присутствует это: Код:
Source: InstallFiles\*; Flags: dontcopy Далее видно то, что в скрипт включены файлы: russian.ini, unarc.dll, ISDone.dll, records.inf, CLS-precomp.dll, packjpg_dll.dll, packjpg_dll1.dll, precomp.exe, zlib1.dll, CLS-srep.dll, facompress.dll, precomp038.exe, precomp040.exe, precomp041.exe, Unrar.dll, XDelta3.dll, 7z.dll, packZIP.exe Сами посудите: Если вам лень что либо читать, то каково тем кто может вам помочь: создавать картинки, искать аналогичные скрипты, подставлять скины, музыку - в общем полностью подстраиваться под ваше чудо-творение. Поверьте, тем кто вам может помочь - это абсолютно ненужно. Помогать таким людям не будут: Будут просто игнорировать. Ведь перед выкладыванием чего либо нужно проверить, чтоб не было ошибок. Правильно? Тогда нужно представлять все файлы. И ещё раз: вы не читаете. Это: Цитата:
Нужно понимать разницу между: помощью и сделать все за вас. Так ещё вы заставляете страдать геморроем - которого без вас хватает. Ещё один нюанс: Старайтесь чтоб размер был максимально мал. Не нужно выкладывать скрипты с файлами под 100мб (что там, щебёнки насыпали или пару кубов песка?). Смотришь: вес картинки 5 мб (порой их бывает много 10-20 шт, а то и больше) + аудио-файл 10-15 мб + скин от 1 до 5 мб = итого: от 20 до 100 мб. Вот уместил в 375 кб (картинки, аудио файл, скины) bosenkov5, Выше написано не только для вас, но и для всех - кто решил повторить ошибку. Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Dinvin4ester, 90 строка.
Kashtan007, скинь с файлами. на картинке у тебя одно. а скинул. одни белые картинки. если размер большой, то заливай. не принципиально. я скачаю. |
sergey3695, скинул скрипт в ЛС.
Спасибо за помощь) |
Доброе время суток! Подскажите пожалуйста как в скрипте прописать 2 шт Splash'a чтобы показывались по очереди? Заранее благодарю!
|
Цитата:
Добавь свои файлы. (isgsg.dll,Splash1.png,Splash2.png) |
Shift85, Не показывает Splash. Есть ещё какие нибудь способы?
|
Цитата:
|
Цитата:
Код:
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); Вот так: Код:
procedure ShowSplashScreen(p1:HWND;p2:AnsiString;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); |
Цитата:
|
Dinvin4ester,
Код:
function SevenZipCommand(const hWnd: HWND; szParams: AnsiString; const lpArchiverCallback: Longint): Longint; |
sergey3695,
Хоть убейте,но не найду этого. |
Gnom_aka_Lexander, Благодарю, это слово всё исправило.
|
sergey3695,
Или я что-то не то смотрю или вы скачали другой скрипт. Я не использую внешние упаковщики,а скрипт расчитан на них и из-за этого не видно прогресс бара,пользуюсь только средствами инно. Поэтому и прошу помощи и подсказки. |
Цитата:
Цитата:
|
Цитата:
|
Доброе время суток! Подскажите пожалуйста установил в скрипт музыку, всё играет нормально кнопка вкл выкл есть работает. Но при отмене или завершение установки, музыка ещё играет секунд 3-4. Как с этим бороться? Может кто знает! Заранее благодарю!!!
|
El Sanchez,
убрал и поменял , но все-равно не видно прогрессбара,помогите! |
Цитата:
Код:
procedure DeinitializeSetup; |
Dinvin4ester, вот что вы кидали http://www.oszone.net/go.php?url=htt...1&d=1406151895
там 90 строка. кусок скрипта отсюда. да и в шапке тот же скрипт для работы с zip архивами. прям незнаю. потерялся что-ли. |
Цитата:
3) На стартовой странице ему делать нечего, поэтому там, где задавали координаты, скрываем его, пишем ProgressGauge.Hide. Где он должен быть показан в первый раз? Правильно, на странице InstallingPage. В какой стандартной процедуре можно что-либо делать в зависимости от того, какая в данный момент текущая страница? Правильно, в CurPageChanged. Пишем условие любыми способами, при котором на странице InstallingPage ProgressGauge будет показан, а на FinishedPage (либо InfoAfterPage, если используется) будет скрыт, например, if CurPage = wpInstalling then WizardForm.ProgressGauge.Show; if CurPage = wpFinished then WizardForm.ProgressGauge.Hide; |
Добрый день!
Для меня программа Inno Setup еще незнакомая. Пытаюсь использовать ее для создания дистрибутива своей программы. Возникла проблема, что при записи в дистрибутив файлов в папку, они не инсталируются, если использовать следующий тэг: Код:
Source: "C:\Science\Equilibrium\Code\Crono_sources\Modeling scenarios\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Код:
Source: "C:\Science\Equilibrium\Code\Crono_sources\Modeling scenarios\Test.ini"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
Dodakaedr, Такие строчки были только чуть-чуть в другом месте. Благодарю за подсказку!
|
С задачей описанной выше я справился (прописал загрузку каждого файла в специальную папку), но столкнулся с другой проблемой. В системной папке с программами, куда я предполагаю по умалчанию устанавливать свою программу, у нее ограниченная функциональность. Если то же самое просто перекопировать в любую другую папку, то все работает, а в этой системной происходят разные ошибки. Как это исправить?
Если права не администратора, то в Program Files разрешено только чтение, а мне нужно делать создание и удаление файлов. Это вообще можно релизовать? |
Цитата:
ставь туда |
Цитата:
Например: Программа создаёт файл конфигурации ini Условие: Файл конфигурации ini создаётся рядом с программой. Если в Windows 7 запустить программу из под администратора, то файл может перезаписываться. Если в Windows 7 запустить программу обычным способом, то файл не перезапишется а далее может последовать ошибка. В лучшем случае если файл конфигурации ini будет создан в "C:\Users\%UserName%\AppData\Local\VirtualStore". Цитата:
По этому поводу с El Sanchez-ом можно так сказать уже обсуждали примерно отсюда. Тогда, либо меня не поняли, либо я не правильно написал - что в итоге ни к чему хорошему не привело. В справке написано, про Permissions почитайте. alenov, В вашем случае: если будете применять Permissions, то чтобы избежать проблем с нарушением безопасности системы, нужно либо Запретить пользователю менять место установки приложения Код:
DisableDirPage=yes либо жёстко привязывать папку: Код:
[Files] Код:
[Dirs] |
Доброе время суток. В моем репаке AIDA64 присутствуют 4 редакции т.е 4 программы и дело в том, что если использовать параметр установки
Код:
[Setup] Код:
procedure CurPageChanged(CurPageID: Integer); было так а после выбора другого каталога стало так http://rghost.ru/57153259 |
Доброе время суток!!
Возможно ли добавить в категорию [Tasks] без создания нового лейбла, пару слов? И что бы они были без чекбокса? Заранее благодарю. |
Всё спасибо. Решение нашёл сам.
|
мне хоть кто-нибудь ответит на мой вопрос http://forum.oszone.net/post-2382860-1242.html
|
Доброе время суток. Ребят кто знает как прописать путь главной папки и под-папок вот в этом примере.
Код:
-ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\ -msrep+delta+lzma:a1:mfbt4:d32m:fb273:mc10000:lc8#@Data1.lst#Setup-1.bin Заранее благодарю! |
Цитата:
это были habib2302, секция компонентов идет после выбора директории, вызов некорректен |
R.i.m.s.k.y., как раз таки нет. мой скрипт изучи (ссылка в моем прошлом посте http://rghost.ru/57153259).
|
R.i.m.s.k.y., А вы тут находитесь по поиску ошибок орфографии?
|
habib2302, кмк ошибка в том что ты жеско задаешь путь, я бы попробовал AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}'
Антон_Мураткин@vk, http://www.bfm.ru/news/261172 Цитата:
|
R.i.m.s.k.y., причем тут это. я говорю, что при выборе другого каталога установки изначальный путь сбивается (посмотри скриншоты в этом посте http://forum.oszone.net/post-2382860-1242.html)
в коде прописано так Код:
AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}' Код:
DefaultDirName={pf}\FinalWire Код:
AppendDefaultDirName=yes |
Цитата:
я видел AddBackslash(ExpandConstant('{defaultdirname}')) + '{#AIDA641}' (по памяти, пишу с работы) это и смутило |
Цитата Антон_Мураткин@vk:
Какие тут ошибки, кто знает? » это батник. темой ошибся. может так? Код:
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\ -msrep+delta+lzma:a1:mfbt4:d32m:fb273:mc10000:lc8 Data-1.bin packeddata\* Цитата R.i.m.s.k.y.: секция компонентов идет после выбора директории, вызов некорректен » я б руки оторвал за то что ботву туда запихнул.... Цитата R.i.m.s.k.y.: кмк ошибка в том что ты жеско задаешь путь, я бы попробовал AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}' » да не задает он путь как нужно. а тупо меняется надпись в эдите. а выбор папки так не сделать. Цитата habib2302: мне хоть кто-нибудь ответит на мой вопрос » Вот... |
|
Цитата:
|
sergey3695, огромное спасибо. хоть один человек меня понял
|
saurn, там нужно было сделать чтобы и при нажатии "обзор" измененялась прибавляемая часть пути.
|
sergey3695, один нюанс появился. не работает команда /DIR
|
Доброго времени суток уважаемые пользователи.
Хотел бы попросить у опытных пользователей помощи: Возможно ли добавить на страницу выбора заданий (tasks) небольшое окошко и чтобы в нем выводилась дополнительная информация (инструкция) из .rtf файла? |
Цитата:
Внешний вид можно отредактировать с помощью FormDesigner'а в расширенной версии Inno Setup |
Подскажите еще один момент.
DefaultDirName=MyApplication И пры выборе папки, оно везде лепит .../MyApplication Пример: Я вы бираю папку с программой куда нужно установить файлы, то есть я выбираю уже папку MyApplication, но выходит:"C:/Soft/MyApplication/MyApplication". Буду очень благодарен если поможете новичку. |
Цитата:
Код:
DefaultDirName={pf}\MyApplication |
Всеравно выходит:"C:/Soft/MyApplication/MyApplication"
|
roman_kudin@vk, В секции [Files] в "DestDir:" нужно указать {app}.
Пример: Код:
Source: "icon.ico"; DestDir: "{app}"; |
Я понимаю, у меня стоит.
Код:
[Setup] |
roman_kudin@vk, в секции [Setup]
Код:
AppendDefaultDirName=no |
Цитата:
Еще одна проблемка. Как вообще убрать выбор типа установок? То есть выбор "Полная, выборочная". Через редактор форм не выходит. |
Цитата:
|
Цитата:
|
Цитата:
Уже получилось. Просто оставил один тип установки и оно ищезло. Еще раз пасибо за помощь. |
Как разблокировать все формы в IS Form Desiner?
|
Raz3r, Справку откройте, там все расписано.
|
Dodakaedr, у меня Inno Setup Ultra я не знаю где там в справке искать
Я правда не могу найти, там нету!! |
|
saurn, да знаю я где справка))) Где там написано про то как разблокировать формы в Form Desiner?
|
Raz3r, о каких формах идет речь?
|
saurn, ну в редакторе форм лежат стандартные формы типо "Установка программы ...". Они не удаляются, их надо удалить.
|
Raz3r, удалить предустановленные страницы мастера нельзя. Можно лишь исключить(пропустить)
Код:
function ShouldSkipPage(PageID: Integer): Boolean; Код:
wpWelcome = 1; |
Как конвертировать .reg в .iss в большом объеме.
Надеюсь видео будет полезным! |
Цитата:
|
Raz3r, У меня жуткая лень перепечатывать, предоставлю ссылки: Сообщения: #2115, #1665.
Поиск конечно не работает. Когда-то надо начинать пользоваться фильтрами и поиском. А ещё в помощь заглядывать. Для поиска: растянуть форму, расширить форму, увеличить форму, растянуть страницу, расширить страницу, увеличить страницу, удалить форму, скрыть форму, спрятать форму, исключить форму, пропустить форму, удалить страницу, скрыть страницу, спрятать страницу, исключить страницу, пропустить страницу. |
-delete-
|
Nordek, вводил в поиске и перерыл всё что можно не нашел
|
Цитата:
|
И ещё параллельно возникло два вопроса: Как сделать, чтоб во время установки была кнопка, нажав на которую можно было бы поставить на паузу распаковку, а потом вновь запустить?
Как сделать, чтоб во время установки было +два прогресс бара, которые отображали бы установку компонентов(установка компонентов должна проходить одновременно с основной установкой и только по завершению всех установок выводилось окно завершения)? |
Неужели никто не может подсказать? С WelсomePage наконец-то разобрался, а вот что делать с остальным?
|
Цитата:
Цитата:
|
nik1967, просто если на паузу поставить это как-то посолиднее выглядит, допустим приостановить, чтоб временно отключить нагрузку на систему. Как при копирование в Windows 8.1 неплохо реализована задумка.
Цитата:
|
Отлично, теперь SelectDirPage не изменяется, зажимаю я shift+мышка на SelectDirPage, затем отпускаю Shift и пытаюсь изменить размер, а ничего не получается( Капец, Inno Setup убивает уже такими выходками.
|
#1283, #1284, #1285, #1286
#1288, #1289 Raz3r, Может хватит уже? Это форум а не чат - Об использовании конференции в качестве чата.. Используйте функцию редактирования: Могу ли я редактировать свои сообщения? Цитата:
Код:
[Code] |
Nordek, лучшеб помогли мне чем 100 раз одно и тоже копировать вставлять.
В дизайнере форм в Inno Setup Ultra 5.5.1 во вкладке SelectDirPage есть такой лист, на котором лежат все остальные элементы. Называется он SelectDirPage. Он заблокирован, то есть я не могу его не удалить не растянуть, когда удаляю пишет "Компонент SelectDirPage или его части заблокированы". Ваш код я прописывал 100 раз, он не помогает, в ручную растягивать тоже не помогает. Ссылки, которые вы мне кидаете, я уже изучил наизусть и они тоже не помогают! Я растянул основное окно и мне очень нужно растянуть этот SelectDirPage, потому что все остальные элементы дальше его границ не выходят. |
Цитата:
Если так, то это всё делается в редакторе форм. Цитата:
Цитата:
|
Доброго времени суток. Пожалуйста, помогите найти решение. Как отменить автоматическое закрытие страницы с процессом установки InstallingPage после завершения установки?
|
nik1967,
Цитата:
Благодарю за IsDone, но можно написать отдельно куда вносились изменения, просто у меня уже задействован по своему измененный isdone? Цитата:
|
Цитата:
Цитата:
|
Доброе время суток. Помогите мне со скриптом для удаления других версий приложения при старте.
дело в том, что во время тихой установки появляется Код:
MsgBox('Перед установкой необходимо удалить все старые версии приложения, вызвать программы удаления сейчас?') Код:
[Setup] |
habib2302, сделайте в нужном месте проверку:
Код:
if Pos('silent', Lowercase(GetCmdTail)) = 0 then |
Цитата:
|
Цитата:
Цитата:
Цитата:
Кроме всего прочего есть просто ленивые люди: в этом неоднократно был убеждён. Это ещё раз доказывает: Цитата:
Что удивительно. Когда говоришь или пишешь человеку о том что он "ленивый" - то этот человек обижается и считает за оскорбление. Либо пытается доказать обратное. |
Nordek, думаешь мне в прикол сидеть 3 дня и пытаться растянуть это дурацкую забагованую форму в дизайнере, вместо того, что бы перерыть все твои сообщения сначала, до конца? Это по твоему говорит о моей лени? Если не работает, значит ты чего-то недописал там, либо какой-то баг. И я тебе в лс писал просил сразу помочь, чтобы тут не превращать форум в чат, потому что проект, который я задумал большой, а я один, помочь мне кроме вас некому. Но ты решил проигнорить мою просьбу, а теперь говоришь, что мне лень, молодец!
P.S: Я уже 3 месяца обновляю свою сборку толком не отрываясь от работы, это называется лень мне да? Цитата:
|
Перейдите в Дизайнер диалогов:
Выберите SelectDirPage (хотя, не обязательно т.к действует для всех форм): Кликните левой кнопкой мыши в область WizardForm: Ухватите левой кнопкой мыши, правый нижний край основной формы: и не отпуская левой кнопкой мыши, растяните основную форму: Теперь: в зависимости от размера основной формы, вам понадобится перенести нужные вам элементы (если имеется в этом необходимость). Например: "Кнопки" и "Bevel". Для того чтоб перенести сразу несколько элементов: на клавиатуре зажмите клавишу SHIFT. Не отпуская клавиши SHIFT, левой кнопкой мыши выберите нужные вам элементы; Ухватите левой кнопкой мыши элемент и передвиньте в нужную вам область: Как видите на рисунке, элементы перенесены: Теперь: справа из списка выберите OuterNotebook: ухватите за правый нижний край выбранной формы, левой кнопкой мыши: и не отпуская левую кнопку мыши, растяните форму: Вот что получилось: Теперь, из списка выберите InnerNotebook: ухватите за правый нижний край выбранной формы, левой кнопкой мыши: и не отпуская левую кнопку мыши, растяните форму: Полученный итог: |
Nordek, вот теперь получилось! Пока не начал выделять их именно в правом окне. До этого нажимал на окно мышкой и пытался передвинуть. Сразу бы написали, что в самом окне их выделять не нужно, иначе они не разблокируются. Откуда мне было знать, что есть разница.
|
Добрый день! Подскажите пожалуйста, в чем может быть причина. Я делаю установщики игр, файлы запаковываю FreeArc-ом в формате bin. Но последнее время что то пошло не так. Практически любой созданный установщик при распаковке зависает на определенном проценте и все, дальше никак не хочет распаковываться. Уже и саму программу FreeArc переустанавливала, не помогло. Не могу понять, в чем может быть причина, ведь раньше все делала точно так же и все было отлично. Может подскажите.
И посоветуйте, пожалуйста, какую еще программу можно использовать для создания архива с расширением bin? И если использовать другую программу, то тогда получается и скрипт нужен другой? |
Irenis, укажи метод сжатия
|
Да метод обычный. Захожу в папку с игрой, выделяю все файлы–>добавить в архив, arc меняю на bin и жму ОК. Запаковка происходит нормально, но при распаковке зависает.
Если же делать другим методом Файл 115892, то все получается. Этот файл мне тоже тут на форуме дали, за что огромное спасибо. Но так запаковка происходит намного дольше. Поэтому и спрашиваю, альтернативные методы создания этих bin. :blush2: |
Подскажите как сделать аналогичный чекбокс?
Какой ключ указать в командной строке, чтоб автоматический запустилась установка DirectX с отображением прогресс-бара. Ввожу /SILENT установка проходит полностью скрытой. Как узнать где в реестре Steam прописывает пути к файлам игр? Собираюсь сделать автоустановку в эту библиотеку. Извините что вопросами засыпал, но я лазил в гугле и ничего вразумительного не нашел, мож здесь кто знает? |
Irenis, но там есть профили по методу сжатия
пример Максимальное (требует 1 гб ОЗУ для распаковки): -mx -ld800m Ультра (требует 2 гб ОЗУ для распаковки): -mx -ld1600m Высокое: -m5 Нормальное: -m4 Быстрое: -m3 Нормальное: -m2 Со скоростью HDD: -m2 |
Вот возник вопрос еще один.
К примеру в системе масштаб шрифтов - 100% Есть выставить 125 - 150% то некоторые элементы масштабируются а вот фоновое изображение нет. Кнопки, лейболы, полоса прокрутки - масштабируются: Фоновое изображение не масштабируется: Какие параметры можно добавить для изображения что бы фоновый рисунок масштабировался с остальными элементами? |
Цитата:
|
Irenis,
1 что за игра 2 как я понял ты сжимаеш Нормальное: -m4 3 через распаковываеш файлы пример через isdone Можеш использовать вот эту строчку для сжатия это чистый lzma без внешних External compressor такие как precomp и srep Требуется 512 мегабайт для сжатий и также для распаковки lzma:512mb:normal:128:mc64:lc8 |
Всем привет, посоветуйте несколько способов, как правильно использовать собственный скин в установщике (.cjstyles) на юникоде.
Заранее спасибо за ответ. |
Прошу помочь с вопросами.
|
Цитата:
Если нету другого способа сделать архив bin, то может кто поможет сделать такое же Цитата:
|
Irenis, вообще то зависит не от памяти а от процессора но у lzma можно поставить всего 2 потока тогда используй 7zip там есть lzma2 можно поставить все потоки isdone 7z тоже поддерживает
|
vint56, Спасибо большое, что помогаете, но мне все равно не все понятно. Если использовать 7zip, то тогда и скрипт нужен другой? Где его можно взять?
И вот еще Цитата:
Цитата:
Извините за сумбур, просто мне тех элементарных знаний по созданию установщиков было вполне достаточно, больше как бы и не нужно. А сейчас столкнулась с проблемой и даже не знаю, как это все правильно объяснить :unsure: |
Доброе время суток. Как сделать паузу между двумя функциями пока 1 первая функция не завершит свою работу?
Код:
function UninstallMyApp1(): Boolean; |
Irenis, ты просиш чтобы быстре сжимать ну 7 zip есть режим lzma2 что дает использовать не 1 ядро если есть 4 или 8 соответственно значит и сжатие будет быстрее
еслиты используеш isdone скрипт менять не надо когда будет паковать смениш просто расширения файла 7z на bin if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), false, '') then break; И еще тебя интересует хорошое сжатие или просто немного пожать Быстрое: -m3 или Нормальное: -m4 |
Ладно, всё ясно с вами, игнор включили, в падлу помочь значит. Пускай Nordek и дальше тут несёт всякую чушь про "лень"и копипастит это каждым сообщением, вместо того, чтобы адекватную помощь оказать. Проще самому всё сделать! Нахера этот форум нужен...
|
Цитата:
|
Raz3r,
я ответа на вопрос "зачем использовать фриарк если такие же алгоритмы 7зип использованы в инно" не знаю и на остальные тоже дирекс ставится только так, можешь еще попробовать с параметром /Q но это теже фаберже Цитата:
к тому же выше же ответили Цитата:
а флаг ewWaitUntilTerminated у тебя уже стоит Цитата:
все есть в инноультра |
Raz3r,
|
Всем привет, посоветуйте несколько способов, как правильно использовать скин в установщике (.cjstyles) на юникоде.
Заранее спасибо за ответ. |
Цитата:
|
|
И можно сделать так чтобы после нажатия кнопки запускались два деинсталлятора. 1 это деинсталлятор который был создан моим инсталлятором и 2 это деинсталлятор от flash player т.к через реестр не очень
Код:
procedure RedesignWizardForm; |
vint56, Спасибо за скрипт. Вроде бы разобралась, пока единственный вопрос остался. Во время распаковки ниже процесс бара две надписи: прошло времени и осталось времени. И вот с надписью осталось времени что то не то, вместо минут там вот так "осталось времени: тестовый прогон". И в конце установки тоже надпись "время установки: тестовый прогон". Можно ли это как то исправить?
|
Цитата:
Т.е у вас например всё готово к завершению. Имеются архивы bin.arc1, bin.arc2, bin.arc3 и т.д. Делаете первую установку для того, чтоб рядом создался файл records.inf - где будут прописаны значения для архивов "bin.arc1, bin.arc2, bin.arc3 и т.д.". после того как файл records.inf создался, то для окончательной компиляции раскомментируйте в скрипте #define records. Если захотите пережать или добавить какое либо содержимое в свои архивы bin.arc1, bin.arc2, bin.arc3 и т.д., то понадобиться опять закомментировать #define records. Сделать тестовый прогон и раскомментировать. Цитата:
Я даже процитирую (а то не поверите, скажите там такого нет или не нашли): ISDone » Описание скрипта: Цитата:
ISDone » Работа с библиотекой: Цитата:
|
Irenis, я же в скрипте сделал комментарий справка в архиве называется readme.CHM
; описаний в справке там все описано ;#define records |
Nordek, Ясно, спасибо большое. А чтобы не делать эти тестовые прогоны, можно ли в скрипте просто удалить какие то строчки, чтобы надпись "осталось времени" вообще убрать? Ну и в конце чтобы убрать "время установки"?
vint56, Ну да, теперь поняла)) Но все таки хотелось бы как то убрать эти строчки. |
vint56, Nordek, Спасибо огромное за участие, спасибо за помощь :) Конечно, в первую очередь нужно читать инструкции, а потом уже спрашивать, что не понятно. Но когда не знаешь, где в инструкции находится именно то, что тебе нужно, чаще всего до инструкций не доходит дело, а с маленьким ребенком еще сложнее найти время на инструкции :blush: Поэтому уж не судите строго, если потом как нибудь еще обращусь за помощью :)
|
Как решить эту проблемку - http://i68.fastpic.ru/big/2014/0802/...3b6aa26fc3.png ?
http://rghost.ru/57234254?r=3678 - сам скрипт вот где три кнопки,нужно чтоб из трёх выбор один был,а так выходит два. Название скрипта - выбор озвучки по центру.iss |
Цитата:
|
nik1967,
Огромное спасибо вам. |
Здравствуйте, нашел код прогресс бара для isdone:
Модуль ProgressBar.iss Модуль ISDone: Тестовый прогон сделал, проценты загрузки идут как положено, однако не отображается полоса загрузки прогресс-бара. Прогресс-бар отображается, но нету загрузки? В чем может быть проблема? |
Ребята помогите решить проблему: скрипт собирается, но файл не запускается пишет ошибку. Ошибка возникает из-за if Installer.Checked then и if Portable.Checked then. Как решить эту проблему?
procedure LangClick(Sender: TObject); begin case TNewRadioButton(Sender) of LangBus: begin if Installer.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf32}')) + '{#MyAppName} Business'; begin if Portable.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Business Portable'; end; end; LangEng: begin if Installer.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf32}')) + '{#MyAppName} Engineer'; begin if Portable.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Engineer Portable'; end; end; LangExt: begin if Installer.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf32}')) + '{#MyAppName} Extreme'; begin if Portable.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Extreme Portable'; end; end; LangNet: begin if Installer.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf32}')) + '{#MyAppName} Network Audit'; begin if Portable.Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Network Audit Portable'; end; end; end; end; Решение нашёл! |
Всем доброго времени суток. Есть задача, сделать прогу, которая будет ставить очень маленький и легкий софт. В программировании не шарю, поэтому решил воспользоваться программой InnoSetup.
Прошел по мастеру, в общем установщик все делает как надо, за 1 исключением. Не добавляется ярлык в автозагрузку на Win 8\Win 8.1. (на "Семерке все работат как надо"). Вот скрипт, который у меня получился: Код:
; Script generated by the Inno Setup Script Wizard. |
odminius, попробуй так:
[Icons] Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" {userstartup} - Путь к папке Автозагрузка меню Пуск |
Imperor, спасибо. Жаль потестить сразу не получается, в наличии только win7... Так что помогло или нет, расскажу завтра.
|
odminius, между 7 и 8 особых различий нету и константы подходят и туда, и туда.
|
Imperor, и тем не менее, предыдущий скрипт, который я описал, на 7 работает, а на 8 нет.
|
odminius, на stackoverflow пишут, что данный способ не работает из-за отсутствия меню "Пуск" в Windows 8 (что логично) и рекомендуют прописывать программы в реестр.
Код:
[Registry] |
Habetdin, хз, я думал в этом причина. Все константы, которые прописывал работали одинаково и на 7 и на 8.
Вы разбираетесь в прогресс барах для isdone? Несколькими сообщениями ранее я выложил код, можете подсказать почему прогресс бар отображается, но не движется? Что там нужно исправить? Уже всё перепробовал, ничего не помогло. Цитата:
Вся работа на этом встала, перерыл весь инет в поисках решения - ничего. Isdone 0.6 final. Не понимаю, всё ведь правильно прописано, почему не работает? :shot: |
Habetdin, Imperor, Спасибо огромное, за помощь, зря Вас потревожил. Наши криворукие "тестировщики" просто не смогли найти ярлык в папке автозагрузки (или саму папку) на win 8, и сказали что нифига не работает. Сюрприз был сегодня утром, когда программулина как надо, после старта винды показала всем приветственные окошки :biggrin: .
Всем еще раз спасибо за помосч) |
Ребята помогите решить проблему: скрипт собирается, файл запускается всё устанавливается. Ошибка возникает при удалении после окошка "Нажмите кнопку "OK" и удалите не нужные Вам параметры программы {#MyAppName} {#MyAppVersion}.". Скрипт на две программы (Beauty.Checked и Brightness.Checked). Как решить эту проблему?
[Messages] UninstalledAll=Нажмите кнопку "OK" и удалите не нужные Вам параметры программы {#MyAppName} {#MyAppVersion}. procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'bmp_auto_file\shell\Beauty Guide'); if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'jpegfile\shell\Beauty Guide'); if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'pngfile\shell\Beauty Guide'); if Beauty.Checked then RemoveDir(ExpandConstant('{group}')); end; begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Удалить Ваши настройки Beauty Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Beauty.Checked then DelTree(ExpandConstant('{userappdata}\BeautyGuide'), True, True, True); end; begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Удалить плагины Beauty Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Beauty.Checked then DeleteFile(ExpandConstant('{pf32}\Tint Guide\Photo Plugins\BeautyGuidePlugin.8bf')); DeleteFile(ExpandConstant('{pf}\Tint Guide\Photo Plugins64\BeautyGuidePlugin64.8bf')); RemoveDir(ExpandConstant('{pf32}\Tint Guide\Photo Plugins')); RemoveDir(ExpandConstant('{pf32}\Tint Guide')); RemoveDir(ExpandConstant('{pf}\Tint Guide\Photo Plugins64')); RemoveDir(ExpandConstant('{pf}\Tint Guide')); begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Программа {#MyAppNameBeauty} {#MyAppBeautyVersion} удалена!',mbconfirmation, mb_ok) = IDYES then end; end; end; end; end; end; end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'bmp_auto_file\shell\Brightness Guide'); if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'jpegfile\shell\Brightness Guide'); if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'pngfile\shell\Brightness Guide'); if Brightness.Checked then RemoveDir(ExpandConstant('{group}')); end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Удалить Ваши настройки Brightness Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Brightness.Checked then DelTree(ExpandConstant('{userappdata}\BrightnessGuide'), True, True, True); end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Удалить плагины Brightness Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Brightness.Checked then DeleteFile(ExpandConstant('{pf32}\Tint Guide\Photo Plugins\BrightnessGuidePlugin.8bf')); DeleteFile(ExpandConstant('{pf}\Tint Guide\Photo Plugins64\BrightnessGuidePlugin64.8bf')); RemoveDir(ExpandConstant('{pf32}\Tint Guide\Photo Plugins')); RemoveDir(ExpandConstant('{pf32}\Tint Guide')); RemoveDir(ExpandConstant('{pf}\Tint Guide\Photo Plugins64')); RemoveDir(ExpandConstant('{pf}\Tint Guide')); begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Программа {#MyAppNameBrightness} {#MyAppBrightnessVersion} удалена!',mbconfirmation, mb_ok) = IDYES then end; end; end; end; end; end; end; end; |
Помогите! Второй день сижу в ожидание чуда( Не отображается ход прогресс бара...
Модуль ProgressBar.iss Модуль ISDone: Это часть скрипта, в котором я уверен сидит ошибка! :lamer: |
Imperor, возьмите ваше сообщение в тег [code] и занесите под спойлер.
|
Dodakaedr, вы не правильно меня поняли. Прогресс бар отображается, но загрузка в нем не отображается. Сама установка идет как положено.
Прогресс бар Isdone'ий, такие хитрости с ним не прокатят. Модуль ProgressBar.iss задействует модуль Isdone.iss b всё это под командованием основного скрипта, на который смысла смотреть нету. так как там только прописаны две строки, которые задействуют эти модули. В ProgressBar лежат ссылки на png файлы прогресс бара, первый отображает его шаблон, второй ход процесса загрузки. Второй почему то не отображается. Я голову ломаю над этим, никак не помогу выяснить причину. Могу скинуть весь скрипт целиком, если есть желание помочь разобраться. Так то скрипт закончен, только вот эта визуальная неувязочка не даёт мне покоя( |
Imperor,
Цитата:
|
nik1967, нету ошибок, есть только проблема с прогресс баром. Вот весь мой скрипт(с файлами). http://rghost.ru/57434129
Есть отдельно модулем прогресс-бар, думаю там где-то что-то не так прописано. Если лень оказать услугу за просто так, то просто сразу так и скажите, я могу и заплатить(в пределах разумного конечно) раз уж на то пошло. |
Цитата:
Ненужно давить. (Как это говориться?): "Брать на понт" (Если не ошибаюсь) - тоже ненужно. Раз на то дело пошло: мистер, вы темой ошиблись. Нужно учитывать то, что не все пользуются "ISDone", а значит в идеале - с этим мало знакомы (т.е ISDone использовали как есть с меньшими изменениями) или не знакомы (т.е не пользовались). Так же нужно учесть что у людей может не быть как времени, так и желания. На сколько известно, автор: Profrager. Довольно позволительно предположить что автор более грамотен в данной сфере. Проявите терпение. Не хотите ждать, нужно срочно » сами сообразите куда направить вопрос. Не знаете? Google. Не получается найти или скажете что "не находит ничего"? Ложь. "Поиск всегда и везде работает - это просто вы не умеете пользоваться". Как называется архив который вы скачали, не "ISDone0.6final"? Почему его название не использовать в поиске? Исследовав ссылки в поисковике, пришёл к выводу:
|
Nordek, вас не понять, то вы про лень пользователей говорите, то за просто так вам лень помогать, ну я и предложил оплатить работу. В ответ я получаю сообщение, что я типо на вас "наезжаю" и "беру на понт")) Спасибо за тему, которую дали, там последнее сообщение в июне было. Может туда уже никто и не заглядывает с того месяца. Да и вообще сложно найти то, не зная чего. В моём случае нужна реальная помощь человека, который в этом разбирается. Если не можете помочь, лучше промолчите или найдите того, кто поможет. Это вам не в реестре стринги прописывать.
|
очень нужна помощь в создании инсталлятора, похожего нигде не нашел, сам тоже слабоват в написании скриптов, ни разу не программист, готов заплатить, напишите кто хорошо разбирается ICQ 693128042 или в личку
|
Цитата:
|
Imperor, забыл добавить, что ещё и на ботве - а это важно. Как уже написал El Sanchez нужно поменять значение в модуле ProgressBar.iss с True на False:
с Код:
if Length(pb)>0 then Result.img1:=ImgLoad(hParent, pb, Result.Left, Result.Top, 0, Result.Height, True, True) else Result.img1:= 0; Код:
if Length(pb)>0 then Result.img1:=ImgLoad(hParent, pb, Result.Left, Result.Top, 0, Result.Height, True, False) else Result.img1:= 0; Ты видимо взял вариант с прогрессбаром из скрипта, где использовался прозрачный pbbkg.png. В таком случае (если pbbkg.png прозрачный) можно оставить значение True. Цитата:
zaza5, попробуй спросить в этой теме. |
|
Ребята, порекомендуйте как лучше организовать следующее.
В программе около 20 компонентов (опций) каждая из которых не зависит от остальных. И каждая из этих опций добавляет в программу определенный функционал который бы хотелось отобразить в виде скриншота, т.е чтобы пользователь в выборе компонентов для установки мог увидеть текстовое описание и скриншот программы детализирующий эту самую опцию. Сам выбор я уже давно сделал, интересует именно текстовое и графическое описание к компонентам, как это можно реализовать? |
andy.zubov@vk, здесь. А так то про это много писали и в данной ветке. Пользуйтесь поиском.
killer000, не понял вопроса. |
|
Цитата:
|
El Sanchez, nik1967, Спасибо парни вы лучшие, особенно Ник! Который не поленился перелопатить мой скрипт и найти источник всех бед)) Без вас бы я ещё месяц мучался, так бы и не смог ничего сделать, даже еслиб все форумы перерыл по Inno Setup, что я собственно почти и сделал)) Вообщем всех вам самых лучших пожеланий и поменьше проблемных новичков вроде меня, которые задумывают проект, который им не по силам)
|
Ребята помогите решить проблему: скрипт собирается, файл запускается всё устанавливается. Ошибка возникает при удалении после окошка "Нажмите кнопку "OK" и удалите не нужные Вам параметры программы {#MyAppName} {#MyAppVersion}.". Скрипт на две программы (Beauty.Checked и Brightness.Checked). Как решить эту проблему?
[Messages] UninstalledAll=Нажмите кнопку "OK" и удалите не нужные Вам параметры программы {#MyAppName} {#MyAppVersion}. procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'bmp_auto_file\shell\Beauty Guide'); if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'jpegfile\shell\Beauty Guide'); if Beauty.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'pngfile\shell\Beauty Guide'); if Beauty.Checked then RemoveDir(ExpandConstant('{group}')); end; begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Удалить Ваши настройки Beauty Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Beauty.Checked then DelTree(ExpandConstant('{userappdata}\BeautyGuide'), True, True, True); end; begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Удалить плагины Beauty Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Beauty.Checked then DeleteFile(ExpandConstant('{pf32}\Tint Guide\Photo Plugins\BeautyGuidePlugin.8bf')); DeleteFile(ExpandConstant('{pf}\Tint Guide\Photo Plugins64\BeautyGuidePlugin64.8bf')); RemoveDir(ExpandConstant('{pf32}\Tint Guide\Photo Plugins')); RemoveDir(ExpandConstant('{pf32}\Tint Guide')); RemoveDir(ExpandConstant('{pf}\Tint Guide\Photo Plugins64')); RemoveDir(ExpandConstant('{pf}\Tint Guide')); begin if (CurUninstallStep = usDone) then begin if Beauty.Checked then if MsgBox('Программа {#MyAppNameBeauty} {#MyAppBeautyVersion} удалена!',mbconfirmation, mb_ok) = IDYES then end; end; end; end; end; end; end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'bmp_auto_file\shell\Brightness Guide'); if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'jpegfile\shell\Brightness Guide'); if Brightness.Checked then RegDeleteKeyIncludingSubkeys(HKCR, 'pngfile\shell\Brightness Guide'); if Brightness.Checked then RemoveDir(ExpandConstant('{group}')); end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Удалить Ваши настройки Brightness Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Brightness.Checked then DelTree(ExpandConstant('{userappdata}\BrightnessGuide'), True, True, True); end; begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Удалить плагины Brightness Guide?',mbconfirmation, mb_yesno) = IDYES then begin if Brightness.Checked then DeleteFile(ExpandConstant('{pf32}\Tint Guide\Photo Plugins\BrightnessGuidePlugin.8bf')); DeleteFile(ExpandConstant('{pf}\Tint Guide\Photo Plugins64\BrightnessGuidePlugin64.8bf')); RemoveDir(ExpandConstant('{pf32}\Tint Guide\Photo Plugins')); RemoveDir(ExpandConstant('{pf32}\Tint Guide')); RemoveDir(ExpandConstant('{pf}\Tint Guide\Photo Plugins64')); RemoveDir(ExpandConstant('{pf}\Tint Guide')); begin if (CurUninstallStep = usDone) then begin if Brightness.Checked then if MsgBox('Программа {#MyAppNameBrightness} {#MyAppBrightnessVersion} удалена!',mbconfirmation, mb_ok) = IDYES then end; end; end; end; end; end; end; end; |
AlekseyPopovv,
|
Можно ли сделать так, чтобы Description одного из компонентов брался из определённой переменной?
|
Подскажите, как через секцию [code] провести регистрацию OLE-сервера (он же ActiveX control), по иному как сделать через секцию [code] тоже самое что и флаг regserver в секции [Files]?
|
Dodakaedr,
Exec(ExpandConstant('{sys}\regsvr32.exe'), ' /s ' + 'полный_путь_до_файла', ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, ResultCode) Raf-9600, # define SVPDefDir "SVP 3.1.6" [Components] Name: SVP; Description: {#SVP}; |
R.i.m.s.k.y., А как на счет встроенной процедуры RegisterServer? Не подскажите как правильно её использовать для регистрации для 32bit и 64bit? И как с помощью regsvr32.exe дерегистрировать?
|
Dodakaedr,
(un)registerServer (False для х86 true для х64, 'полный_путь_до_файла',True) Exec(ExpandConstant('{sys}\regsvr32.exe'), ' /u /s ' + 'полный_путь_до_файла', ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, ResultCode) кнопка F1 западает? :gigi: |
Цитата:
|
Цитата:
|
Raf-9600,
Код:
[Setup] |
Всем привет.
Нужна ваша помощь! Первый вопрос: На странице каталога нужно 2 чекбокса. 1 чекбокс - будет удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс - должен делать бекап папки res_mods, по пути IB\old_res_mods, а после удаление репака возвращал бекап в папку res_mods. Как это реализовать? Второй вопрос: Как сделать, чтобы файлы unins000.exe помещало по пути IB\Uninstall\* ? Третий вопрос: У меня в репаке есть файл "bin" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "bin" из папки куда ставишь репак копировался по пути IB\BackUp, а после удаление возвращался на свое место. P.S. Пользуюсь юникодом. Всем заранее спасибо за помощь! |
Всем привет!
Вопрос 1: Как дать пользователю возможность выбирать произвольную папку для установки(т.е. не дописывать к пути папку по умолчанию)? Пример: Папка по умолчанию "{pf}/myapplication" Нужно что бы пользователь мог поставить приложение в папку "c:\app" |
amohax, можно. В секцию Setup добавить строчку AppendDefaultDirName=False. Только это очень опасно - при безответственном подходе пользователя можно похерить системные файлы. А безответственный подход последнее время замечен не только за пользователями, но и за производителями, то-есть теми, кому безответственное отношение просто запрещено. эт я к чему - при таком подходе к выбору пути, нужно обязательно проверять, что конечная папка приложения не является никакой из множества системных папок.
|
Разобрался с описанием и картинками к компонентам. Но понял что такого размера изображения мне просто не хватает для детального пояснения пользователю, нужен полноценный скриншот размером хотя бы в разрешении 1024*768.
Появилась идея сделать опции с описанием в виде текста в котором размещена гиперссылка на изображение лежащее на внешнем сервере в интернете (это уже есть). Но как полноценно отобразить html в описании компонента? попробовал richview, но он ссылки некорректно отображает, есть какие-то доп. модули под это дело или что можете посоветовать? |
andy.zubov@vk, IsWebCtrl поможет.
|
Ребят подскажите пожалуйста как добавить WizardForm.TasksList 2-ую штуку? Что то не пойму как это сделать! Желательно на примере Заранее благодарю
|
Добрый день! При создании установщика, я все необходимые файлы запаковываю программой 7zip, но запаковываю все одним архивом (то есть в итоге получается один архив .bin), иногда этот архив получается слишком большой. Уважаемые форумчане, подскажите пожалуйста, как тем же 7zip запаковать файлы так, чтобы в итоге получилось несколько архивов bin? И что нужно прописать в скрипте, чтобы потом при установке все правильно распаковалось и установилось? Спасибо.
|
Irenis, даю наводку: многотомный архив
|
Irenis, либо самому разделить файлы на архивы
|
Спасибо, с созданием многотомного архива разобралась :) А в скрипте что добавить? Вот например, при распаковке одного архива:
Цитата:
client.bin.001 client.bin.002 client.bin.003 В скрипте так должно быть? Цитата:
|
Цитата:
указывать для распаковки первый файл многотомного архива .001 |
Irenis, только первый остальные он сам подхватит немного опоздал R.i.m.s.k.y. уже ответил тебе
|
Спасибо большое :)
|
Вложений: 1
Что то я наверное рано радовалась. При распаковке ошибка
Файл 116212 |
Irenis, покажи строчки на распаковку и названия архивов
|
Строчка распаковки:
if not IS7ZipExtract ( 0, 100, ExpandConstant('{src}\fwclient.bin.001'), ExpandConstant('{app}\'), false, '') then break; Названия архивов: fwclient.bin.001 fwclient.bin.002 fwclient.bin.003 fwclient.bin.004 |
Irenis, у меня тоже ошибка открытия архива 7z а вот rar распаковывает нормально
ISDone не подерживает распаковку 7z многотомных только у rar а просто 7z без проблем распаковывает Вариант делить файлы руками |
vint56, Ясно, спасибо, а то уж думала, что это я как всегда что то делаю не так :)
Только мне rar не подходит, нужно, чтобы архивы были обязательно с расширением bin. Что можете посоветовать? Паковать чем то другим? |
Irenis, вот вариант
[Files] Source: Include\7z.exe; DestDir: {tmp}; Flags: dontcopy procedure CurStepChanged(CurStep: TSetupStep); ExtractTemporaryFile('7z.exe'); if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\7z.exe'), '-o"' + ExpandConstant('{app}') + '" x -y -pPASSWORD "' + ExpandConstant('{src}\bundles.7z.001') + '" ', ExpandConstant('{tmp}'), '...',false) then break; Будет проблема с делениями на диски что он не будет видет сразу все файлы установка пробежит без распаковки это вариант не поидет Паковать 7z но файлы делить руками |
помогите скрыть выбор папки при распаковке
вот это убрать посмотрите скрипт всё правильно И как прикрутить в этот скрипт авто определеннее разрядности системы вот так работало Check: Is64BitInstallMode для x64 для x32 not Is64BitInstallMode в Check можно прописывать несколько значений так не выходит Check: Is64BitInstallMode, Lang1 and portab помогите |
killer000,
Цитата:
Цитата:
|
nik1967,
спасибо тебе, не могу загрузить исходящая скорость плохая у билайн |
killer000, Скинь хотя бы rus.bmp, eng.bmp, ISSkin.dll, skin.cjstyles. Сделаю, чтобы рамки белой не было вокруг картинок.
|
Всем привет! Может все таки кто то знает, как можно создать многотомный архив с расширением bin, который бы без проблем распаковался при установке? Программой 7zip архив создается без проблем, но вот распаковываться не хочет. Или может все таки есть скрипт, которым можно было бы распаковывать многотомные архивы, созданные в 7zip? Ну или может другую программу для запаковки посоветуете? Просто вариант делить файлы вручную тоже не совсем подходит.
|
Irenis, используй inno setup там есть своё сжатие тогда тебе ненужен будет скрипт isdone
|
nik1967,
я скинул в личку nik1967, на xp ошибка |
Цитата:
константа для 64-х битных систем, а хр 32-разрядная |
nik1967,
и скин не работает |
killer000, завист от компилятора ansi или unicode
//procedure LoadSkin(lpszPath: PAnsiChar; lpszIniFileName: PAnsiChar); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload'; раскаментируй если unicode procedure LoadSkin(lpszPath: string; lpszIniFileName: string ); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload'; эту наоборот закаментируй |
vint56,
Спасибо помогло |
vint56, спасибо, надеюсь, что разберусь :) Хотя пока, на первый взгляд, все очень сложным кажется.
|
|
Irenis, просто добавь эти строчки только без коментариев
[Setup] куда добавить в секцию setup Compression=lzma/ultra метод сжатия SolidCompression=yes солидное сжатие DiskSpanning=yes разделить на диски SlicesPerDisk=3 на 3 штуки DiskSliceSize=1566000000 размер файла имеет ограничения 2,100,000,000 байт |
killer000, немного изменил скрипт в сообщении выше. С предыдущим вариантом не запускалось, если распаковать портативную версию.
|
Вложений: 1
Цитата:
Автоматизируйте. Ниже прикрепил пример. Расформируйте по папкам файлы и запустите Run.bat. Готовые архивы с расширением .bin, будут находиться в папке Arc: которая, в процессе упаковки будет создана рядом с файлом Run.bat. |
nik1967,
Как это измянить |
nik1967,
распаковка портабле eng, ошибка на win 7 x64, на win xp x32 всё ок его нет в папке портабле! |
killer000, ещё немного изменил скрипт в сообщении выше.
Чтобы не было рамки вокруг рисунка, используй расширенную версию от рестулз (innoultra). Ну, или используй мою сборку. На счёт под цвет скина в нижней части - это надо редактировать сам скин. Цитата:
Цитата:
|
Подскажите!
В коде ISDone v0.6 выставил ширину прогрессбаров - 417 при этом проценты скрыты прогрессбарами и их не видно. Как наложить проценты поверх прогрессбаров ? |
nik1967,
спасибо тебе огромное, я скопировал скрипт, всё ровно ошибка скинь ещё разок, если не трудно |
killer000,
Скрипт в сообщении выше тоже отредактировал. |
nik1967,
спасибо помогло ошибки нет появилась другая проблема в портабле попадают ico файл, как их убрать |
killer000, надеюсь в последний раз исправил скрипт в сообщении выше.
|
Цитата:
Название Размер Dark Age 0.472/Dark_Age_Setup-2.bin 1.96 GB (2100000000) Dark Age 0.472/Dark_Age_Setup-3.bin 1.96 GB (2100000000) Dark Age 0.472/Dark_Age_Setup-1.bin 1.96 GB (2099544832) Dark Age 0.472/Dark_Age_Setup-4.bin 1.90 GB (2037698129) Dark Age 0.472/Dark_Age_Setup.exe 444.17 kB (454827) хотелось бы научиться делать примерно то же самое, только совершенно не имею понятия, как это делается и через всякие гуглопоиски и прочее не могу найти никакой информации. |
Ребята есть скрипт - http://rghost.ru/57595597. Проблема вот в чем, большие веса не хочет открывать , нажимаешь на сетап и он висит в трее и ничего не открывается, теперь такой вопрос - как обойти ограничение в 2 гб в inno setup, насколько я понял в этом дело ?
|
Irenis, http://rghost.ru/57616167
|
Dinvin4ester, перенеси в самый низ а насчет ограничения 2 гига не как
[Files] Source: "D:\Games\The Forest\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
vint56, спасибо большое за помощь :) Ваш совет использовать сам inno setup для запаковки помог, вроде бы разобралась. Правда еще осталось пара вопросов. У меня почему то архивы bin получаются как setup-1a.bin, setup-1b.bin, setup-1c.bin, а не setup-1, setup-2, setup-3 (ваш скрипт правда еще не пробовала, не знаю как там будет). Конечно это уже второстепенное, но все равно интересно, почему так. Второй вопрос, чтобы запаковать архив без сжатия и побыстрее, нужно просто написать Compression=none, правильно я поняла? Или может где то как то еще ускорить процесс?
Ну и пока вроде бы последнее, поделитесь ссылкой, где и какой скачать Inno Setup :) Я скачивала здесь с сайта, но как то работает некорректно. Русский язык куда то пропал, и при создании установщика через мастера, тоже почему то нету русского в выборе языка установщика. |
Irenis, Разбить не сложно, пример:
1 Архив fwclient\resources\models.pck 1.99 GB (2147483392) 2 Архив fwclient\resources\litmodels.pck 1006.16 MB (1055045243) fwclient\resources\surfaces.pck 871.75 MB (914100077) 3 Архив fwclient\resources\building.pck 687.84 MB (721262764) fwclient\resources\loddata.pck 64.52 MB (67657600) fwclient\resources\models.pkx 524.88 MB (550378794) fwclient\resources\sfx.pck 674.65 MB (707423377) 4 Архив fwclient\resources\configs.pck 14.03 MB (14717964) fwclient\resources\gfx.pck 214.04 MB (224439976) fwclient\resources\grasses.pck 1.98 MB (2079923) fwclient\resources\interfaces.pck 11.00 MB (11538963) fwclient\resources\script.pck 5.76 MB (6049439) fwclient\resources\shaders.pck 6.72 MB (7050168) fwclient\resources\textures.pck 108.87 MB (114163463) fwclient\resources\help\book.pck 6.55 MB (6877879) fwclient\resources\help\script.pck 22.61 KB (23160 Цитата:
Справка: Inno Setup Help » Секция скриптов » Директивы секции [Setup] » DiskSliceSize: Цитата:
InnoIDE Проект » Параметры дистрибутива » "Разбивка на тома" Inno Script Studio Проект » Параметры установки » "Разбивка на тома" Цитата:
P.S Скоро я сюда всю справку перепишу :). |
Irenis, насчёт Inno Setup сам им пользуюсь скачай inno ultra
http://innoultra.ru/?page_id=70 насчет ускорить процесс только Compression=none |
Цитата:
setup setup-1a.bin setup-1b.bin setup-2a.bin Никто не в курсе, от чего это зависит? Как сделать, чтоб все красиво выглядело? :) |
Irenis, все правильно потому что идет деления на диски закаментируй ;SlicesPerDisk=2 и будет setup-1.bin setup-2.bin
1 диск setup-1a.bin setup-1b.bin 2 диск setup-2a.bin и так далее |
Всем привет.
Нужна ваша помощь! Первый вопрос: На странице каталога нужно 2 чекбокса. 1 чекбокс - будет удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс - должен делать бекап папки res_mods, по пути IB\old_res_mods, а после удаление репака возвращал бекап в папку res_mods. Как это реализовать? Второй вопрос: Как сделать, чтобы файлы unins000.exe помещало по пути IB\Uninstall\* ? Третий вопрос: У меня в репаке есть файл "bin" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "bin" из папки куда ставишь репак копировался по пути IB\BackUp, а после удаление возвращался на свое место. P.S. Пользуюсь юникодом. Всем заранее спасибо за помощь! |
Подскажите, что означает солидное сжатие SolidCompression? Точнее, для чего это нужно? И на что влияет? И что будет, если его вообще убрать из скрипта?
|
Цитата:
Цитата:
Непрерывный архив Справка: Inno Setup Help » Секция скриптов » Секция [Setup] » SolidCompression: Цитата:
|
Nordek, Ясно, большое спасибо :)
Цитата:
|
Цитата:
Т.е если будет в вашем скрипте присутствовать именно SolidCompression=no = то результат будет равнозначен тому, что SolidCompression и вовсе бы отсутствовал. Чуточку дополню: Если вместо no, использовать false = то результат от этого не изменится. А если вместо yes использовать true = то результат так же, от этого не изменится. |
Уже вроде бы и спрашивать не удобно (что то я зачастила), но если не затруднит, может кто ответит еще на пару вопросов :blush2:
1. Убрала SolidCompression, Поставила Compression=none Может еще что то можно придумать, чтобы ускорить создание установщика? Мне сжатие не нужно, даже наоборот, чем больше будет весить установщик, тем лучше. Просто многие пользователи почему то считают, что чем больше весит установщик, тем лучше, значит ничего не вырезано, и графика лучше, ну и тому подобное. 2. Для чего нужны эти строчки: #ifdef NeedSize ExtraDiskSpaceRequired={#NeedSize} #endif Компилировала и с ними, и без, но так и не заметила, что меняется. Может кстати где то на просторах интернета есть что то типа инструкции (или обозначений), где можно почитать, за что отвечают различные строки(коды) в скрипте. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
InternalCompressLevel=none |
Nordek, Спасибо, сейчас попробую :)
Цитата:
|
Irenis, если ты используешь мой пример тогда удали вот эти строчки простоя давал для максимального сжатия
SolidCompression=yes Compression=lzma2/ultra64 LZMAUseSeparateProcess=yes LZMAMatchFinder=BT LZMANumFastBytes=273 LZMADictionarySize=262144 InternalCompressLevel=ultra64 MergeDuplicateFiles=true #define NeedSize "8336330752" указываешь сколько нужно свободного места для установки игры |
Всем привет.
Нужна ваша помощь! Первый вопрос: На странице каталога нужно 2 чекбокса. 1 чекбокс - будет удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс - должен делать бекап папки res_mods, по пути IB\old_res_mods, а после удаление репака возвращал бекап в папку res_mods. Как это реализовать? Второй вопрос: Как сделать, чтобы файлы unins000.exe помещало по пути IB\Uninstall\* ? Третий вопрос: У меня в репаке есть файл "bin" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "bin" из папки куда ставишь репак копировался по пути IB\BackUp, а после удаление возвращался на свое место. P.S. Пользуюсь юникодом. Всем заранее спасибо за помощь! |
Kashtan007, вот ты думаешь, буду постить на каждой странице одни и те же вопросы, может кто ответит. Твои вопросы были прочитаны на предыдущей странице всеми. Но. Кто захочет ответить - ответит. Да и на все твои "вопросы" есть ответы давным давно. Нужно только не лениться, и воспользоваться поиском и справкой к Inno Setup. Кнопка F1 сломалась? Например на вопрос
Цитата:
Да и по первому и последнему вопросу есть ответы, если поискать. Пример. Что, сложно и трудно? Нет, просто лень. P.S. А если сложно с Inno Setup, то есть тема для заказа инсталлятора. |
Цитата:
Цитата:
Цитата:
Цитата:
|
nik1967, спасибо.
Где только не искал, но никак не могу найти ответ на 1 и 3 вопрос, либо же нахожу, но оно не работает. |
Добрый день!
Такая задачка: если при удалении программы какие-то файлы были заняты, то по завершению будет выдано сообщение о перезагрузке. Если комп не перезагружать, и сразу в этот же каталог поставить программу, то инсталлятор выдаст сообщение, что сначала необходимо перезагрузить комп. Но если инсталлятор запустить в тихом режиме, то комп сразу начинает перезагружать. Как сделать так, чтобы при тихой установке инсталлятор просто завершал свою работу, ничего не установив. |
Leka_651, попробуйте запустить инсталлятор с параметрами /VERYSILENT /NORESTART. Подробнее смотрите в справке раздел "Setup Command Line Parameters".
Kashtan007, как-то вы криво ищите, простите. По вопросам 1 и 3 nik1967 уже ответил, но еще есть например здесь: http://forum.oszone.net/post-2346042-530.html. И учитесь поиском пользоваться: правильно поставленный вопрос содержит в себе половину ответа, да и результат значительно быстрее, чем ждать, пока кто-то ответит :)) |
Shkutu, параметры помогают, я уже так попробовала. а можно ли как-то из кода проверить и запретить установку?
|
Цитата:
Код:
var isSilent : boolean; |
R.i.m.s.k.y., Проще :)
Код:
Pascal Scripting: WizardSilent |
R.i.m.s.k.y., спасибо, но данный код совсем запрещает тихую установку. а мне нужно, чтобы тихая установка прерывалась только в том случае, если после предыдущего удаления осталось файлы, которые удаляться после перезагрузки.
|
Цитата:
ну я давно это писал |
Добрый день. Не подскажите где можно найти пример распаковки внешнего .zip -архива.
(Он будет находится рядом с установщиком {{src}} ) Нашел в Inno Setup Scripting 5.1 только распаковку .rar |
Le9ent, Первый вариант в первом сообщении Работа с архивами 7z
Второй вариант: Код:
[Run] Скрытый текст
Кстати, совсем забыл:
Помощь » Использование фильтров и поиска на конференции » Использование фильтров в качестве инструмента поиска Помощь » Использование фильтров и поиска на конференции » Поиск по конференции Переваривайте: Поиск в: Inno Setup [все вопросы] часть 1 Скрипты Inno Setup. Помощь и советы [часть 2] Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] Скрипты Inno Setup. Помощь и советы [часть 5] Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] Автоматическая установка приложений |
Нашла решение своей проблемы:
Цитата:
Prototype: function RmSessionStarted: Boolean; Description: Возвращает True, если была начата сессия Restart Manager, иначе False. вдруг кому-то пригодится) |
Если кто знает помогите решить следующую проблему:
В конце установки программы нужно запустить *.bat файл и дождаться окончания выполнения cmd перед выполнением следующего действия. bat файл запускаю в секции [RUN] в итоге Инно Сетап добросовестно делает секундную паузу при запуске батника, но не реагирует на запускаемую им операцию с командной строкой. В итоге получаю страницу завершения инсталлятора с предложением на запуск установленной программы, в то время, как еще выполняются действия над файлами в ранее запущенной командной строке. За ранее спасибо |
palsn2000, флаг waituntilterminated стоит?
|
R.i.m.s.k.y., Большое спасибо! Всё работает как надо!
Мой косяк - недостаточно внимательно читал справку ведь предельно ясно написано By default, when the shellexec flag is used it will not wait until the spawned process terminates. If you need that, you must add the flag waituntilterminated. Как говорится в пословице: Век живи - Век учись Извините за беспокойство :blush: |
Здравствуйте,помогите пожалуйста.Из примеров взял код на Logo.
Но загвоздка в том что он не до конца рабочий,иными словам компиляция и установка проходит успешно,но вот когда начинаю производить деинсталляцию выбивает ошибку "Runtime Error(at 60:286) Could not call proc" а следом и еще одна "Runtime Error(at 63:5) Could not call proc" Сам код с файлами: https://yadi.sk/d/DfdvFSZtak4NJ |
saneksanek,
Код:
[Files] |
Dodakaedr, Точно,спасибо.
|
Здравствуйте, господа.
Кому не сложно, подскажите, пожалуйста. Застрял на реализации следующей вещи: SetIniString('Client', 'Size', GetIniString('Client', 'Size', '', ExpandConstant('{tmp}\Info.ini')), ExpandConstant('{app}\Info.ini')); Нужно с двух разных файлов (с разных секций (из папки {tmp})) вписать в один файл (в одну секцию (в папку {app})) размер файла. То есть, в первом файле, допустим, размер 1287 байт, а в другом 2154 байта. Как их приплюсовать в одну секцию? То есть, чтобы в файле в папке {app} размер был 3441 байт, но только в одной секции? Спасибо за внимание. |
|
nik1967, работает как Швейцарские часы, благодарю!
Есть ещё одна проблема, господа. Как вписать значение в реестр через секцию Code? Знаю как вписать просто значение, цыфры: RegWriteDWordValue(HKLM, 'SOFTWARE\Sapatcom\Client Interface, 'Skin', 3); Как вписать цифры такого формата: 1.0.1.2 (то есть вписать цифры с точками)? И как вписать в реестр просто слово? И ещё... Как потом одно из значений реестра вписать в .ini-файл? |
Цитата:
Тогда так: Код:
RegWriteStringValue(HKLM, 'SOFTWARE\Sapatcom\Client Interface', 'Skin', '1.0.1.2'); Цитата:
Цитата:
|
Подскажите пожалуйста, кто понимает, как можно осуществить вот такое:
Код:
AfterInstall: "DoServiceInstall('{app}\DfSdkS.exe', 'DfSdkS', 'Defragmentation-Service', 'Defrag Service - powered by mst software')"; {app}\DfSdkS.exe - программа DfSdkS - я так понимаю что это ключ Defragmentation-Service - имя Defrag Service - powered by mst software - описание |
Всем привет!
Не подскажете, можно-ли привязать PopupMenu к одному из чекбоксов в ComponentsList? (чекбоксы созданы стандартно, через [Components]). |
Цитата:
Код:
AfterInstall: DoServiceInstall; |
Цитата:
Код:
procedure DoServiceInstall(параметры); |
Добрый день. Нужна ваша помощь.
Мне нужно, чтобы на странице каталога была 2 чекбокса -Удалить все старые моды --Сохранить бекап старых модов Выглядеть это должно так: 1 чекбокс, должен удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс, должен делать бекап папки res_mods, по пути ModPack\BackUp\res_mods, а после удаление репака возвращал бекап в папку res_mods. Есть еще 1 проблема: У меня в репаке есть файл "bin" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "bin" из папки куда ставишь репак копировался по пути ModPack\OriginalFiles, а после удаление возвращался на свое место. Как это реализовать? Заранее спасибо всем за помощь. |
Цитата:
з.ы. модПак - это не репак. Есть неплохой пример. А зачем тебе *.bin в инсталляторе? |
kotyarko@fb, ок. Можно ли сделать это же, только на странице "Каталог"?
Да я просто так bin написал, вообще нужно файл path, чтобы переносило. |
Цитата:
и CurUninstallStepChanged - для восстановления при удалении. Цитата:
|
Добрый день. Помогите прикрутить к чекбоксу "Перейти на сайт" - ссылку. Заранее спс. Пример скрипта http://rghost.ru/57851446
|
acer0072, попробуйте так, не проверял:
Код:
[Code] |
Спасибо. Но не сработало((. Это же отрабатывает на клик по ссылке. А мне нужен чекбокс.
|
Цитата:
Добавте это в секцию [Run]. Предыдущее удалите. Код:
FileName: "http://forum.oszone.net/thread-278998-147.html"; Check: "LinkCheck"; Flags: shellexec skipifsilent |
Сдравствуйте. Хочу узнать правильно ли я выковарил нужный мне кусок кода для текстурирования чекбокса "Не создавать папку в меню"Пуск"
Код:
[Setup] P.S. Код выдран из скрипта "inserimag4" авторы: Gnom3 (aka Gnom, Лександер),Shegorat,Krinkels |
kotyarko@fb, можно ли сделать чекбоксы не круглые, а квадратные, чтобы можно было сразу выбрать оба варианта?
|
Цитата:
Цитата:
P.s. если вас интересует чистота в скрипте (не хотите забивать массивными кодами), то можете поместить секции [Files], [code] из примера, написанного вами, в отдельный скрипт. И подключить его в основной через #include "Имя_скрипта.iss". И объединить процедуры InitializeWizard. |
Dodakaedr, спасибо. Помогло.
|
Использую функцию описание компонентов и картинки как можно вернуть на старую функцию чисто на картинки вот скрипт :http://rghost.ru/57859418
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Теперь понял почему: через секцию [Run] служба не устанавливается. Просто ключа "-install" не достаточно |
Мне может кто нибудь код изменить который кинул выше
|
Цитата:
Цитата:
|
Цитата:
1) Через секцию [Run] служба не устанавливалась; 2) Сделал через cmd все работает; |
|
|
Всем привет. Не подскажите как мне сделать кнопку BackButton неактивной на странице приветствия. Код
Код:
Procedure CurPageChanged(CurPageID: Integer); Ах да, содавать новую страницу и кнопку "назад" я не хочу, кнопка должна быть на визарде... |
Цитата:
|
Воо:
Код:
Procedure CurPageChanged(CurPageID: Integer); Цитата:
|
Цитата:
Нужно как-то так: Код:
Procedure CurPageChanged(CurPageID: Integer); Цитата:
|
Цитата:
|
Всем привет, возникла такая проблема, что когда перелистываю по страницам в установщике у меня проскакивает белый фон на пару секунд. Как решить эту проблему?
Возможно причина в том, что на страницах фон либо же установщик сильно перегружен? Можно ли как-то решить эту проблему? Заранее спасибо за ответ. |
Цитата:
|
kotyarko@fb, http://rghost.ru/57868859
|
Цитата:
Если не против, дам пару советов, по поводу инсталла: 1) В конце InitializeWizard прописать WizardForm.Center; 2) Перерисовать все элементы (лейблы, эдиты, листбоксы) и прописать всем параметр Transparent, а у фона дорисовать на местах этих лейблов небольшие затемнения, чтобы текст выделялся. И будет здорово. 3) На последней странице выбора устанавливаемого контента (непосредственно перед самой установкой) переименовать кнопку "Далее" на "Установить". |
kotyarko@fb, хм.. может с компом что-то.
Спасибо за советы попробую, просто первый раз делаю сборку по просьбе друзей. Как кнопку переименовать? Через блок CustomMessages? |
Цитата:
Можно через тот же PageChanged, таким же способом, как и в примере на предыдущей странице. |
Господа, подскажите, пожалуйста, как создать лейбл, чтобы он отображался строго посередине прогресс бара?
|
Цитата:
|
Цитата:
|
Цитата:
|
Так как до сих пор не разобрался, то повторяю свой вопрос.
Мне нужно, чтобы на странице каталога была 2 чекбокса -Удалить все старые моды --Сохранить бекап старых модов Выглядеть это должно так: 1 чекбокс, должен удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс, должен делать бекап папки res_mods, по пути ModPack\BackUp\res_mods, а после удаление репака возвращал бекап в папку res_mods. Есть еще 1 проблема: У меня в репаке есть файл "path" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "path" из папки куда ставишь репак копировался по пути ModPack\OriginalFiles, а после удаление возвращался на свое место. Как это реализовать? Заранее спасибо всем за помощь. |
Цитата:
|
kotyarko@fb, да, но чуть не то. Я хочу, чтобы можно было выбрать сразу 2 пункта. Самому сделать не получилось(
|
Цитата:
|
Уже закипел)) Вот такой простой вопрос. Есть exe файл, иконка не красивая)), хочу чтобы на рабочий стол выводился мой ярлык, с моим рисунком, но запускал он этот exe. Как реализовать? (в рестораторе не получилось поменять иконку)
P.S. вставил IconFilename: "{app}\icon.ico"; иконка появилась на ярлыке, но название ярлыка исчезло(( |
Цитата:
Код:
[Setup] |
Цитата:
|
kotyarko@fb - exe не тот, что компилируется, а то что запускает приложение.
Dodakaedr Цитата:
Вот так получилось, что изображение поменялось, а название ярлыка - нету. |
Цитата:
Код:
[Icons] |
Цитата:
|
Да, всем спасибо за помощь.
|
Ребят, а не посмотрите код, всё ли правильно
Код:
#define NeedSize "2100" |
Ещё один вопросик. Вот кусок кода из скрипта
Цитата:
Вопрос: как привязать к чекбоксам, чтобы выбирался нужный язык (русский и английский) |
Цитата:
Цитата:
А так, то {language} - это константа выбранного языка. То есть, если выбран язык "ru" - на месте константы подставится ru. |
Имеется ввиду язык самой программы.
Т.е. можно написать вместо Parameters: "DriverSearch {language} - Parameters: "DriverSearch ru, будет устанавливаться нужный язык? Или может слеш нужен? |
Цитата:
|
Цитата:
а теперь Цитата:
Добавляете чекову функцию для чекбоксов: И получаем ответ на ваш вопрос:) |
Спасибо.
|
Всем доброго вечера. Вопрос! После закрытия установленной программы, она всё ещё висит в трее. Какой прописать код, чтобы при удалении этой программы, сначало убивался данный процесс, а потом удалялась программа?
|
acer0072, в шапке Ссылки на примеры скриптов:/Закрытие процесса
|
Спасибо, будем разбираться
|
Цитата:
Пример должен как минимум воспроизводиться, а не выводить "Unknown identifier 'GetLogicalDrives'" |
Всем Здравствуйте! Хочу спросить какой вариант более лучше
Код:
[Setup] Код:
[Setup] |
Цитата:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Возможно поможет ISTask - Библиотека для проверки и завершения процесса прлиложения от Genri. |
|
Цитата:
Мне, как бы это нафиг не надо. |
nik1967
Цитата:
Это ещё не изрекал нравоучением в сторону acer0072-а, чтоб этот пользователь для начала воспользовался поиском (поиск действительно работает): Помощь » Использование фильтров и поиска на конференции » Использование фильтров в качестве инструмента поиска, Помощь » Использование фильтров и поиска на конференции » Поиск по конференции. Полагаю: старание быть более вежливым проходит небезуспешно. Цитата:
"Помочь" и "На и отвали" - между собой имеют большую разницу. И конечно же: Если у пользователя есть пример. Приложив пример к сообщению, но не прикрепив файлы (если действительно имеют большую необходимость), то этот вопрос: вовсе теряет свою значимость (это действительно раздражает когда приходится создавать кучу картинок, аудио-файлов и прочего контента). |
Цитата:
|
Всем привет :) Возник один вопросик, очень надеюсь на помощь :blush2: Мне нужно в самом обычном установщике в конце установки (то есть в последнем окошке) вставить текст, желательно красными буквами. Можно ли это как то реализовать попроще, например, просто вставив в скрипт определенный код? Спасибо.
|
Цитата:
Код:
[Сode] |
kotyarko@fb, спасибо :) Только у меня почему то на строчке FinishLabel.Parent := FinishedPage; ошибка. А если удалить эту строчку, то при установке не появляется надпись.
|
Цитата:
Замените проблемную строку на эту: Код:
FinishLabel.Parent := WizardForm.FinishedPage; |
kotyarko@fb, спасибо, теперь надпись появилась, только она у меня вся не помещается :blush2: Как сделать так, чтобы эта надпись была в несколько строчек? И можно ли сделать, чтоб сами буквы были немного побольше?
Вообще я пока разобралась только в этих строчках, за что они отвечают: FinishLabel.Left := 50; FinishLabel.Top := 50; А в этих значения меняла, что то никаких изменений не заметила: FinishLabel.Width := 150; FinishLabel.Height := 20; |
Irenis, предполагаю, что дело не в том, что надпись не помещается, а в том, что ее не видно.
Попробуйте так: |
Всем привет! Подскажите, реально ли задать идентификатор программы (AppID) во время установки? Задать в зависимости от выбранной кнопки?
|
Цитата:
p.s. а зачем его менять? |
|
Цитата:
|
Цитата:
с [u] [ /u]: Код:
[Setup] [code] [Setup] AppId={code:GetAppID} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} Код:
|
Цитата:
|
Подскажите, как можно задать имя программы в деинсталяторе в зависимости от кнопки?
|
|
Nordek, спасибо, буду просто приписывать какой-либо символ к названию секции.
|
Добрый вечер. Подскажите пожалуйста, как сделать фоновый звук во время установки, что бы играла какая нибудь композиция с начала установки и до нажатия кнопки Завершить.
Если есть готовый код , дайте пожалуйста , а то уже листать устал 3 часа глаза как у рака. Вот код на фоновый слайд но нужно добавить музон. Просьба к знатокам , посмотреть данный код , может где накосячил , но он как не странно работате , но все же . И сюда же прикрутить либо отдельным блоком добавить код на воспроизведение фонового звука mp3 в процессе установки. Задачи от кода.: 1. Фоновая композиция от начала установки до нажатия кнопки Завершить 2. Слайдер изображений во время установки 3. HTTP урл Заранее спасибо. Код:
|
Цитата:
|
А можно перенести всю информацию из WizardForm.StatusLabel на свой лейбл?
Код:
Label1.Caption:= WizardForm.StatusLabel.Caption |
Цитата:
|
|
Добрый день :) Подскажите пожалуйста, есть ли такой код, который бы запрещал изменять путь установки программы? Мне нужно создать установщик, который бы установил программу именно туда, куда я укажу, а конкретнее в C:\ProgramData. Можно ли это как то осуществить? Спасибо.
|
Irenis, если вообще не выводить страницу выбора пути установки
Код:
[Setup] Код:
[Setup] |
Подскажите как реализовать в Inno
нужно, чтобы после окна выбора компонентов появлялось окно для записи пользовательских данных в определённую ветку реестра на подобии |
Shkutu, спасибо :) А какой код прописать, чтобы программа автоматически установилась по пути C:\ProgramData?
|
Irenis,
Вариант 1 Код:
[Setup] Код:
[Setup] ispolin, UserInfoPage=true т.е Код:
[Setup] |
Nordek, не то...
я могу конечно жёстко прописать через скрипт [Registry] Root: HKLM; SubKey: SOFTWARE\1C\1Cv7; ValueType: string; ValueName: RegOrg; ValueData: Comp Root: HKLM; SubKey: SOFTWARE\1C\1Cv7; ValueType: string; ValueName: RegUser; ValueData: User однако хочется предоставить конечному пользователю самому решать, что туда занести т.е нужно окно для ввода данных |
Цитата:
Код:
[Setup] ispolin, попробуйте что-то вроде |
ispolin
Код:
[Setup] |
Shkutu,
saurn, окошко вообще не появилось для ввода данных |
ispolin, переменная UserDataPage не определена. Добавьте в начало секции Code
Код:
var |
saurn, дальше..
|
ispolin, вместо
Код:
UserDataPage:=CreateInputQueryPage(wpSelectComponents, |
ispolin,
Код:
[Setup] |
saurn, отлично, мы это сделали!
|
ой осталась самая малость
что и где прописать, чтобы при деинсталяции удалялись добавленные ключи из реестра? |
Цитата:
Код:
[Registry] |
Цитата:
|
saurn Ой, появилась одна проблема
Код:
[Setup] Код:
WizardForm.OuterNotebook.Hide; |
Nightwishh, ага, не дружит с невидимыми окнами, есть такое. Тут присутствует другой вариант.
|
saurn, Но там нет статуса, как я понял. Там путь и строкой ниже имя файла. Хотелось бы сделать этот статус, так как после распаковки работает секция [Run], а устанавливать всё это через код невыгодно.
|
Подскажите еще один момент.
Задача: 1. копирование фалов 2. копирование файла , если они есть то делать имяфайла.bkp Есть Выбор установки: Программы (жесткий выбор) Установить 123.dll Установить 345.dll Программы (с возможностью выбрать или снять выделение) Установка 123.dll Установка 345.dll Вотр тут если выбрана установка второго пункта делать бэкап файлов с первого пункта Если второй пункт не выбран , ничего не делать. Вроде просто описал , подсобите ребята, кто знает как воплотить. |
Подскажите как правильно экспортировать ключ реестра на этапе InitializeSetup? Это не работает. Надо экспортировать в папку где находиться инсталятор.
Код:
function InitializeSetup(): Boolean; Код:
function InitializeSetup(): Boolean; |
Dodakaedr,
Exec( ExpandConstant( '{win}\regedit.exe' ), '-ea ' + ExpandConstant( '{src}\Data\Settings\' ) + 'Soft.reg ' + AddQuotes( RegKey ) , ExpandConstant( '{src}\Data\Settings' ), SW_HIDE, ewWaitUntilTerminated, RCode ); |
R.i.m.s.k.y., Не работает.
|
astafev_roma, все работает на обычной версий проверил 5.42
|
Цитата:
|
Dodakaedr, , поставь SW_SHOW и покажи значение SysErrorMessage(RCode)
|
Цитата:
|
Цитата:
Код:
function InitializeSetup(): Boolean; |
Цитата:
Хотя можно создать, но опять же не создает. Код:
function InitializeSetup(): Boolean; P.S. Работает. Сделал так: Теперь другой вопрос возник: с папками разобрались, а как эспортировать 2,3 и более ключей в один reg файл? |
Цитата:
|
Цитата:
|
решил приделать "слайд шоу" от экспедитора, но при закрытии ошибка
не знаю даже где что "рыть" хотел уже взять пример от "ник 1967" но так и не понял как сделать так чтобы слайд шоу было только на странице распаковки помогите http://rghost.ru/58079813 http://rghost.ru/58079833 |
Цитата:
|
Помогите пожалуйста!
Есть два кода: 1- скрипт для отображения списка дискового пространства. 2- скрипт отображающий текст из файла rtf в новом окне. Необходимо объеденить два скрипта так чтобы в новом окне отображалась информация о дисковом пространстве. Примеры скриптов: |
|
Nordek, Не то. По прежнему открывается rtf.
|
ROMKA-1977,
--------------------------------------------------------------------------------------------------------- Цитата:
|
nik1967, всё OK!!!
|
Ребята не подскажите, делаю репак игры. Установленная на русском языке, но когда удаляю ее и ставлю свой репак, то выходит английский язык, хотя в реестре прописан как русский.. Не подскажите в чем проблема ?
|
Dinvin4ester, Если все файлы на месте от игры , значит ветку реестра потерял . Либо , если файлы языка можно заменить без ущерба , проще английский файл поменять русским с аналогичным именем. меньше волокиты , если ты не делаешь многоязычный репак.
|
AlexALSP,
Ага, спасибо. Заменил, русский встал ну и есть крякозябры. |
Так , виртуально , телепатически никто тебе не поможет , только советом . Ты не написал какая игра . ни дал ветки реестра которые у тебя есть , и хочешь что бы на расстоянии тебе кто то помог .
Дай информацию для просмотра и размышления . а не на пальцах ... Все упирается в кодовую страницу, в этом случае либо шрифт не прописан и не установлен , смотри по логу инсталлера что куда ставится , это как информация для размышления. |
Знающие люди помогите довести до ума
Код:
[Setup] |
Помогите пожалуйста исправить следующий код:
Проблема в том что после распаковки файлов минимизированный инстал остаёся в минимизированном состоянии. |
ROMKA-1977,
|
ROMKA-1977,
--------------------------------------------------------------------------------- Цитата:
|
nik1967, Папка в "Пуск" создаётся при отмеченном чекбоксе
|
Nightwishh,
|
nik1967, Ой, спасибо большое, всё как надо!
|
Nordek, Не то. В твоём варианте после распаковки инстал закрывается без отбражения страницы завершения.
|
Все еще не разобрался, поэтому повторяю свой вопрос.
Мне нужно, чтобы на странице каталога была 2 чекбокса -Удалить все старые моды --Сохранить бекап старых модов Выглядеть это должно так: 1 чекбокс, должен удалять содержимое в res_mods\0.9.2\* и удалять папку xvm по пути res_mods\xvm. 2 чекбокс, должен делать бекап папки res_mods, по пути ModPack\BackUp\res_mods, а после удаление репака возвращал бекап в папку res_mods. Есть еще 1 проблема: У меня в репаке есть файл "path" и в папке куда я ставлю репак он тоже есть. В следствии чего если я ставлю репак, то файл заменяется, а когда удаляешь репак то файл тоже удаляется и не запускается игра. Как сделать, чтобы когда устанавливаешь репак, то файл "path" из папки куда ставишь репак копировался по пути ModPack\OriginalFiles, а после удаление возвращался на свое место. Как это реализовать? Заранее спасибо всем за помощь. |
|
procedure CurStepChanged(CurStep: TSetupStep);
begin if (CurStep = ssPostInstall) then begin if Installer.Checked and CheckParam('/P') then SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 systweak.com', True); SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 updateservice1.systweak.com', True); SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 www.systweak.com', True); SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 systemspeedup.systweak.com', True); SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 systweak.com/STCheckGenuineness', True); end; В чём проблема, не пойму. Эти строки прописываются и при распаковке и при тихой распаковке и при установке и при тихой установке. Как только не пытался, ни чего не получается. Как сделать что бы при распаковке и тихой распаковке эти строки не прописывались? |
Цитата:
|
Dodakaedr, И так пробовал. Не получается. Пробовал по всякому:
if Installer.Checked and not Portable.Checked then if Installer.Checked or not Portable.Checked then if Installer.Checked and CheckParam('/I') and not Portable.Checked and not CheckParam('/P') then if Installer.Checked or CheckParam('/I') or not Portable.Checked or not CheckParam('/P') then и так далее. |
Цитата:
|
Помогите пожалуйста.
Настранице SelectDirPage рописал код кастомной кнопки "Обзор" Необходимо настроить также кнопку "Обзор" на странице SelectProgramGroupPage |
Цитата:
|
Подскажите как записать такие данные в секции [Registry]?
|
El Sanchez, спасибо огромное все работает просто отлично)
Возможно ли переместить чекбоксы на страницу каталога? Так как на странице Tasks у меня другие компоненты и не хотелось бы их совмещать. Единственная проблема, что после удаление файл paths из папки OriginalFiles не возвращается на свое место. И в итоге получается, что файла нету вообще. Заранее спасибо за ответ! |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Вложений: 1
Dodakaedr
Так и записать. |
Dodakaedr
Да, все строки при удалении удаляются! |
El Sanchez, спасибо огромное за помощь)
Но файл paths.xml не возвращается после удаление сборки. Когда сборку устанавливаешь, то он перемещается в папку OriginalFiles, но после удаления восстанавливается только бекап, а файл paths.xml нет. P.S. Перенес все в свой скрипт... и возникла проблема под чекбоксами серый фон. Возможно это из-за того, что у меня весь дизайн установщика состоит из BitMapImage? Текст я убрал, так как он написан на картинке, но фон под чекбоксами не пропал. Как убрать фон из под чекбоксов? Заранее спасибо за ответ! |
Цитата:
Цитата:
AlekseyPopovv, 1. Цитата:
|
Kashtan007, пример http://rghost.ru/58173793
|
vint56, спасибо больше работает!
P.S. У меня есть код, который проверяет папку на файл WorldOfTanks.exe, и файл на версию. Дело в том, что если выбираешь папку без файла WorldOfTanks.exe, то ошибку дает, что установка не возможна в другой путь. А вот если взять файл с версией отличающейся с той, которая в установщике, то ошибки не будет. Взгляните пожалуйста, если ли ошибка в коде? Заранее спасибо за ответ! Код:
function FileVersion(const FilePath: String): String; |
Цитата:
|
saurn, выдало ошибку на этой строке
Код:
Или заменить на это? Код:
Result := msg = ''; |
|
vint56, как увеличить размер чекбоксов, если увеличиваешь картинку (на который чекбоксы нарисованы) то все становиться криво, а в коде я не нашел где можно изменить размер исходной картинки.
И как по-вашему примеру можно убрать фон из под StatusLabel и FilenameLabel? Заранее спасибо за ответ! |
Добрый вечер. Подскажите как сделать, что бы при наведении на компонент, появлялось описание?
Брал код из справки, пишет ошибку: "descctrl.dll не найден". Можно как то реализовать без этой библиотеки? |
|
Kashtan007, пример на ботве http://rghost.ru/58188776
|
Цитата:
|
vint56, спасибо!
Можно ли убрать фон из под StatusLabel и FilenameLabel? |
Цитата:
Цитата:
Код:
procedure InitializeWizard(); |
Kashtan007, saurn уже ответил можно еще создать свой лейбл
|
vint56, saurn, да у меня как раз юникод, все работает, но черный текст не видно, я ставлю белый, но он всеравно черный.
Делаю вот так: Код:
WizardForm.StatusLabel.Font.Color:= clwhite; |
Цитата:
|
saurn, спасибо за совет, попробую.
|
Ребят, подскажите, как сделать окно инсталлятора шире?
|
Цитата:
Код:
procedure InitializeWizard(); |
Сделало шыре. А
Как только передвинуть элемнты? |
Цитата:
Код:
with WizardForm do |
roman_kudin@vk, можно так если есть в наличий InitializeWizard
procedure ResizeForm; //просто назови по другому begin with WizardForm do begin ClientWidth := ScaleX(600); end; procedure InitializeWizard(); begin ResizeForm; end; скачай InnoUltra установи расширинный редактор там есть редактор форм |
Цитата:
Пример: Код:
procedure InitializeWizard(); и так далее для каждого элемента который хотите переместить. |
есть много примеров и все они рабочие и тд, для запуска приложения "через кнопку" с параметрами и без , те же автораны и тд, но вот если возникла необходимость поменять параметр, как это сделать ?? не компилировать ж кому то самому по новой установщик, как это все дело организовать ??
допустим через NewEdit, то есть прописать там параметр и уже потом нажать на кнопку "вкл" с уверенностью что прога запустится с теми параметрами которые пользователь указал в NewEdit как это все организовать ?? |
audiofeel, Текст из TEdit можно без проблем передать запускаемой программе в качестве параметра комстроки, но только тот или те параметры, которые были предустановленны в запускаемой программе при компиляции.
|
del
|
Ребята у меня в установщике используется шрифт Proto Sans 00, дело в том, что когда установщик открывают в системе где нету шрифта то ставится стандартный Arial. Как упаковать шрифт в установщик, чтобы он отображался даже у тех у кого этот шрифт не установлен?
Заранее спасибо за ответ! |
Kashtan007, в шапке есть примеры El Sanchez
Свой шрифт в инсталляторе (вариант №1) Свой шрифт в инсталляторе (вариант №2) |
Ребята помогите -
http://sendfile.su/1028025 Нужно: из 2-х нерабочих кнопок отмены на страницы инсталлирования, сделать 1 рабочую. |
Народ подскажите пожалуйста как в секции [Run] заморозить птичку на чекбоксе (т.е. как бы применить флаг fixed)?
|
Dinvin4ester, держи. Заодно перелопатил всё, что связано с IsDone - где ты такую версию древнюю откопал? Используй с теми файлами, что в архиве, я там многое обновил.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- dracosha, насколько мне не изменяет мой склероз, то Код:
название_чекбокса.enabled:= false; |
dracosha
Код:
[Setup] |
nik1967,
Огромное вам спасибо. Мне один человек скинул этот исдан. |
Вложений: 1
Подскажите как при использовании BorderStyle := bsDialog; добавить свою иконку?
|
Вложений: 1
Dodakaedr, без изменения BorderStyle и BorderIcons. Иконка в ресурсах. Ненужные кнопки - свернуть и развернуть - отключены.
В архиве скрипт и иконка |
Цитата:
Код:
IconResource=setup_icon:My_icon.ico Код:
hIcon := LoadImage( HInstance, 'My_icon', IMAGE_ICON, 48, 48, 0 ); |
Dodakaedr, стормозил спросонья)
Если нужно изменить имя иконки, меняйте его в секции Setup Код:
IconResource=setup_icon:My_icon.ico А в функции LoadImage должно быть указано имя ресурса( по типу _IS_имяресурса, но не имя иконки, то есть: Код:
hIcon := LoadImage( HInstance, '_IS_SETUP_ICON', IMAGE_ICON, 48, 48, 0 ); Имя ресурса можно указать любое, например moya_iconka. Только не забудьте указать имя ресурса в функии, в данном случае _IS_MOYA_ICONKA |
Всем привет, кто может дать ботву на кнопки были раньше потерял
|
глянул в помощь: инно не умеет писать произвольные строки в текстовый файл?
пока выкрутился SetIniString, но может есть функция типа WriteLN() :) |
R.i.m.s.k.y., а чем
Код:
function SaveStringToFile(const FileName, S: AnsiString; const Append: Boolean): Boolean; |
nik1967, я про них не знал
|
Вложений: 1
Цитата:
|
Как сделать что бы значение AppId менялось в зависимости от выбранной версии?
То есть у меня в инсталле 4 версии: free, pro, bus, tec. При установке двух версий, в панели управления остаётся только последняя, то есть вторая затирает первую. Как избавиться от этого? |
Вложений: 1
Цитата:
|
|
Как можно в даннном коде убрать галочку по умолчанию ?
[Tasks] Name: tweaker; Description: WoT Tweaker Plus; Flags: dontinheritcheck Name: tweaker\t1; Description: Убрать Отображение облаков; Flags: dontinheritcheck |
Цитата:
Код:
[Tasks] |
Ребята возникла проблема в коде пишет игра не найдена в чем может быть проблема ?
function NextButtonClick(CurPageID: Integer): Boolean; var msg, ver: string; begin Result := True; case CurPageID of wpSelectDir: begin msg := ''; if not FileExists( ExpandConstant( '{app}\WorldOfTanks.exe' ) ) then msg := 'Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!' else if GetVersionNumbersString( ExpandConstant( '{app}\WorldOfTanks.exe' ), ver) then if ( ver <> '0.9.3' ) then msg := 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча 0.9.3 Обновите клиент игры! '; Result := msg = ''; if not Result then MsgBox( msg, mbError, MB_OK ); end; end; end; |
Цитата:
|
Dodakaedr, да и код ключа верный я могу конечно сменить на другой код и будет работать но тогда у меня почемуто прозрачность установщика портится
Dodakaedr, сравни этот скрипт он может как то повлеять на прозрачность установщика, заранее спасибо ! function FileVersion(const FilePath: String): String; var oFS: Variant; begin oFS:= CreateOleObject('Scripting.FileSystemObject'); try Result:= oFS.GetFileVersion(FilePath); except end; end; function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча', 'Моды не подходят у данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end;end; end; end; end; |
Цитата:
|
Dodakaedr, Вообщем Уже дело не в Скрипте прозрачность теряю вроде как из за Windows 8.1 а на Windows 7 говорят норм вот два скрина :
|
Dodakaedr, Не знаешь как прозрачность вернуть если сталкивался с windows 8.1 с проблемами
|
Народ подскажите как исправить вот это посмотрите оба скрина первый запускается на Windows 7 второй на windows 8.1
|
Всем привет. Столкнулся с проблемой… Нужно свернуть инсталлятор через секцию код, нажав на определённую кнопку. Знаю такой код: SendMessage(WizardForm.Handle, WM_SYSCOMMAND, 61472, 0); всё работает прекрасно, но он мне не подходит. Дело в том, что этот код использует WizardForm.Handle и нажав на кнопку свернуть инсталлятор, перестаёт работать другая «плюшка». Подскажите, пожалуйста, есть ли какая-нибудь другая альтернатива?
|
diman_21Ru,
8.1 Профессианальная. Все работает. Смотрите у ся в коде что-нибудь, так на глазок врят ли че сказать можно. Tco 03, другая "плюшка". и гадай что там не работает тогда. :help: |
sergey3695, Скрипт кину сможете помоч
|
diman_21Ru, Ну если у меня все будет работать, то нет. другой машинки для теста нету (на 8.1).
|
sergey3695, Все уже понял ошибку надо было комплимировать на Unicode а не ANSI моя ошибка )
Dodakaedr, Все уже понял ошибку надо было комплимировать на Unicode а не ANSI моя ошибка ) |
Как сделать что бы если файл q.xml присутствует в папке {userappdata}\x\z - то другой файл q.xml с папки {tmp} не копировался, а если файла q.xml нет в папке {userappdata}\x\z - то файл q.xml с папки {tmp} копировался?
|
Цитата:
Код:
[Files] Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Я и через секцию [Files] не знаю :idontnow: Хотелось бы узнать и так и так.
Dodakaedr Спасибо. В моей справке описание этого флага на английском, а из перевода шибко не понял что этот флаг делает. |
Цитата:
|
AlekseyPopovv, Dodakaedr, в Check можно использовать встроенные булевые функции.
Код:
[Files] |
Как добавить значок программы в панель управления?
|
Цитата:
|
Цитата:
|
Цитата:
|
Shift85, там вообще-то SendMessage(WizardForm.Handle, WM_SYSCOMMAND, 61472, 0);
Tco 03, зачем тебе сворачивать его? кроме этого нету. ну по крайней менее я не знаю. |
Цитата sergey3695:
зачем тебе сворачивать его? » В общем задача такая: В инсталляторе используется: WinTB.dll. Для отображения таскбара WinTB.dll использует: WizardForm.Handle. В инсталляторе, во время установки, есть возможность поиграть в мини-игру (так сказать для развлечения (если больше делать нечего)). Для этого дела есть естественно кнопка. Нажав на кнопку, инсталлятор сворачивается (так сказать, чтобы не мешал) и начинается игра. Сворачивается с помощью кода: SendMessage(WizardForm.Handle, WM_SYSCOMMAND, 61472, 0); Этот код и WinTB.dll используют: WizardForm.Handle. Так вот, нажав на кнопку, инсталлятор сворачивается и перестаёт работать таскбар, вместо таскбара там белое окно, так как при сворачивании, код: SendMessage(WizardForm.Handle, WM_SYSCOMMAND, 61472, 0); перехватил WizardForm.Handle. Дело в том, что если свернуть инсталлятор обычным способом (с помощью системного меню (там где сверху, справа, кнопки «Свернуть», «Закрыть»)) всё работает прекрасно. Вот поэтому и спрашиваю: -Как свернуть инсталлятор через секцию код, не использующий: WizardForm.Handle, или использующий тот же принцип, что и кнопка «Свернуть»? |
Подскажите пожалуйста код чекбокса "Не создавать папку в меню Пуск"
|
ROMKA-1977,
Код:
[Setup] Код:
[Setup] Код:
[Setup] |
habib2302, мне нужен код кастомного чекбокса через [code].
|
Tco 03, никак больше не свернуть. Проще изменить положение формы, типо скрыть. а на форму где проигрывается игра сделать кнопку на показ. к обратному положению формы. только так наверное.
|
Цитата:
|
ROMKA-1977, Если при пробном воспроизведении примера возникнет остановка на месте [Files] и вызовет ошибку: Source file "C:\Program Files\Inno Setup 5 Ultra\Examples\MyProg.exe" does not exist, то замените:
Код:
Source: "C:\Program Files\Inno Setup 5 Ultra\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Код:
Source: "compiler:Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion |
Цитата:
Код:
PostMessage(WizardForm.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); |
Dodakaedr, не то. Своей функции не выполняет. Гдето встречал на просторах форума но забыл сохранить.
|
Цитата:
|
Цитата:
Есть пример не полностью рабочий - на странице ReadyPage при включеном чекбоксе отображается опция Папка в меню «Пуск»:Name. |
Цитата:
|
Цитата:
|
Ребята, как добавить NFO , как тут - http://i64.fastpic.ru/big/2014/1001/...1ea5b4d91e.png , http://i64.fastpic.ru/big/2014/1001/...c75c8eac02.png
скрипт - http://rghost.ru/58305419 пытался добавить через месседж, но не видит, а в скрипте главном не могу. Прошу помощи.. |
ROMKA-1977,
|
|
|
Цитата:
Код:
10: MsgBox( 'Текст сообщения', mbInformation, MB_OK ); |
saurn,
Компилирую на расширенной, поменял, на той же строке ошибка. |
Цитата:
Замените procedure TButtonOnClick( Sender: TObject ) на ту, что под спойлером. А текст ошибки какой? |
saurn,
http://i63.fastpic.ru/big/2014/1002/...cb17e62c21.png И http://i63.fastpic.ru/big/2014/1002/...c432639227.png заменил, ошибка осталась. |
Цитата:
|
saurn,
Вот щас прям как надо. И еще не сочтите за назойливость, но спрошу. Как сделать выбор установки русского и английского языка ? Что добавить в основной скрипт и что в месседж.. Спасибо. |
Цитата:
Код:
[Languages] |
Ищу самый простой способ добавлении кнопок в низ установщика , заранее блогадарю
|
diman_21Ru,
Код:
procedure InitializeWizard(); |
saurn, А кликабельность как добавить к нему
|
Цитата:
Код:
procedure btnOnClick(Sender: TObject); |
Кто ни будь знает как поменять "/VERYSILENT" на "/V"?
|
|
Цитата:
|
|
Цитата:
Код:
[Languages] |
saurn,
Заменил, осталось все по прежнему. |
Dinvin4ester, ясли ты используеш InnoUltra то там по умолчанию русский Default.isl
[Languages] Name: russian; MessagesFile: compiler:Languages\Russian.isl Name: english; MessagesFile: compiler:Languages\English.isl [CustomMessages] russian.WelcomeLabel1=Вас приветствует мастер установки игры {#GameName}. russian.WelcomeLabel2=Программа установит игру {#GameName} на Ваш компьютер. %nРекомендуется закрыть антивирусные пакеты и все прочие приложения перед тем, как продолжить. %nНажмите «Далее», что бы продолжить установку, или «Отмена», чтобы выйти из программы установки. english.WelcomeLabel1 = Welcome to Setup Game {#GameName}. english.WelcomeLabel2 = The program will install the game {#GameName} on your computer. %nIt is recommended to close the anti-virus packages and all other applications before continuing.гивфеу |
vint56,
Благодарю. Все получилось. |
Цитата:
Цитата:
Уже писал: Цитата:
|
Добрый день! Помогите пожалуйста извлечь скрипт из установщика. Пробовала программой innounpacker, но написало, что у меня старая версия, обновите программу. Вроде удалила старую версию, но новую поставить не получается, запускаю exe, а ничего не происходит.
Залила на какой то файлообменник, вот ссылка: http://www.fayloobmennik.net/4160636 Спасибо. |
Irenis, я распаковал InnoExtractor 4.8.1.160
http://rghost.ru/58349915 |
Serega, Как сделать чтобы ваш код дружил и с другими ключами? При установке или распаковке папки по умолчанию разные. В частности используются ключи /P и /D. При наличии ключа /P происходит распаковка, а при - /D указывается путь к конечной папке установки или распаковки. Попробовал так, не работает.
Код:
function InitializeSetup2(): Boolean; |
Irenis, Смотрите первое сообщение соседней темы:
Цитата:
На примере консольной утилиты Inno Setup Unpacker: Код:
:: Каталог для извлечения содержимого |
|
Как можно в стрипт вывести дополнительную страницу для Tasks.
|
Цитата:
|
Господа. Знаю такой код:
Всё конечно работает прекрасно, но дело в том, что в папке установки уже присутствуют файлы. Из-за этого размер извлечённых файлов естественно считывается неправильный. Подскажите, пожалуйста, возможно ли как-то считывать файлы из самого инсталлятора, а не из папки? |
Цитата:
|
Как сделать страницу с лицензией и FAQ ровнее
|
Цитата:
|
Dodakaedr, Окно с Файлом лицензии сделать побольше
|
Цитата:
Код:
procedure InitializeWizard(); |
Dodakaedr, Кнопки пропали согласится
|
Цитата:
Код:
procedure InitializeWizard(); |
Dodakaedr, Дружище может ты знаешь и FAQ как настроить его просто нет в настройках скрипта как с лицензией вот скрин
|
Цитата:
|
Dodakaedr, Знать бы как ещё )
|
diman_21Ru, Покажите тот кусок, где используется FAQ или скиньте скрипт.
|
Dodakaedr, InfoBeforeFile=faq.rtf
|
Цитата:
Код:
procedure InitializeWizard(); |
|
Вставил код на музыку выдает ошибку с чем связана подскажите пожалуйста вот скрин :
|
Цитата:
|
Tco 03, Другая теперь )
|
|
Nordek, А как же помощь разбирайся сам грубоват ответил однако .((
|
Цитата:
Можно топтаться на одном месте и с каждым шагом, могут появляться те же ошибки в разных местах. 1. Перепечатывать со скриншота очень не комфортно, а вам нужно представить код - это как минимум: чтоб вы наглядно поняли. Сделать скриншот и выложить на хостинг изображений, вы не поленились. А представить код вам сложнее что ли было? 2. По обрубку, мало что можно подсказать. Нужно более развёрнуто представлять. Представьте: Вы представляете свои обрубки по которым мало что понятно. Один подсказал: у вас появилась одна ошибка. Другой подсказал: у вас появилась другая ошибка. Третий подсказал: у вас появилась ошибка аналогичная первой. Так почему бы вам не представить код в более развёрнутом виде, чтоб вы получили исчерпывающий ответ? |
diman_21Ru, конструкция begin end находится вне блока процедуры\функции.
|
Я тут на днях просила помощи в извлечении скрипта из установщика. Уважаемый vint56 помог, извлек, вот тот скрипт http://rghost.ru/58349915. Только совершенно не поняла в этом скрипте ничего. Помогите пожалуйста разобраться, как сделать установщик на основании этого скрипта. Каким образом добавлять все файлы в этот скрипт и т.д.
Суть вообще в чем. Если игру устанавливать с офсайта, то скачивается просто лаунчер, устанавливается в указанную папку, а дальше уже подгружаются файлы игры, но проблема в том, что файлы эти качаются в папку ProgramData. В указанном выше скрипте как то сделано так, что лаунчер устанавливается в указанную при установке папку, а файлы игры в ProgramData. Нужно сделать то же самое, но не могу понять, как? |
В принципе, мне не очень важно, с помощью указанного скрипта создать игру или другим способом. Важно именно сделать так, чтобы часть файлов устанавливалась в папку, которую укажет пользователь, а остальные файлы по умолчанию установилось именно в ProgramData.
|
Вот например скрипт http://rghost.ru/58382126. Что там добавить, чтобы файлы из папки Е устанавливались в ту папку, которую укажет пользователь? А файлы из папки С установились по умолчанию в C:\ProgramData\Firefly Studios?
|
Цитата:
Source: "E:\Games\Stronghold Kingdoms\StrongholdKingdoms.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "E:\Games\Stronghold Kingdoms\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Цитата:
ЗЫ: у тебя, наверное, зато борщи нажористые? ЗЫ2: писал этот скрипт редкий боклан, ибо и на ХР оно скопируется в C:\ProgramData\Firefly Studios :facepalm: |
Вложений: 1
Заменила в скрипте свою строчку на эту
Цитата:
Файл 117609 |
Цитата:
|
Цитата:
и понимать что дописываем {sys} в примере не было, оно потом само дописалось. или не само? впрочем саурн показал класс |
Вложений: 1
Вроде получилось, игра устанавливается, куда надо, запускается. Единственное, что еще не так, как хотелось бы: игра не хочет удаляться. То есть если встроенным деинсталлятором удалять, то такая ошибка появляется
Файл 117610 Что можно сделать, чтоб все удалялось нормально? |
Irenis, вы пакуете unins000.exe, тоесть деинсталлятор, от предыдущей установки. Удалите оный файл из папки с пакуемыми файлами перед компиляцией.
|
Цитата:
|
Irenis,
|
Возможно ли указать путь установки чужому инсталлятору?
|
Цитата:
Код:
[Setup] |
Nordek, Нет, не правильно выразился. Хочу приклеить левый установщик к своему. И интересно можно ли со своего инсталлятора указать путь установки для левого установщика?
|
Dodakaedr, например, передать параметром комстроки. Если говорить об инсталяторах созданных в инно, то в них за это отвечает параметр /DIR. Например /DIR="С:\Программа"
|
Цитата:
|
Как правильно указать путь? Так не получается
Код:
Exec(ExpandConstant('{tmp}\MyOLDRepack.exe'), '/verysilent /d=' +ExpandConstant('{app}'), '', 0, ewWaitUntilTerminated, rcode); |
Подскажите пожалуйста код озвучки кнопок для стандартного компилятора.
|
Цитата:
Код:
[Run] |
Цитата:
|
Цитата:
|
Подскажите пожалуйста как внести в реестр через секцию code
Код:
Root: HKLM; SubKey: SOFTWARE\Classes\batfile\shell\edit\command; ValueType: expandsz; ValueData: %SystemRoot%\SysWow64\NOTEPAD.EXE %1; |
Цитата:
Код:
[Setup] |
Цитата:
Exec(ExpandConstant('{tmp}\MyOLDRepack.exe'), ' /verysilent /DIR=' + '"' + ExpandConstant('{app}') + '"', Exec(ExpandConstant('{tmp}'), ewWaitUntilTerminated, rcode); |
Dodakaedr, большое спасибо. А если несколько значений нужно внести, они просто пойдут подряд?
[code] [Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Цитата:
инно при установке выполняет скрипт в секции сверху вниз, при удалении наоборот - снизу вверх |
Цитата:
то всё OK! Хотелось бы наложить озвучки при наведении и нажатии на кнопки (для стандартного компилятора). Есть такой пример: но в стандартной версии компилятора он неработает. Возможно его можна переписать? |
МИШАНЧИК, и эта
вносить в HKLM\Software\classes - моветон, если запорешь - вся секция classes для всех пользователей пойдет по крыму вносить нужно в HKCR RegWriteExpandStringValue(HKCR, 'batfile\shell\edit\command', '', '%SystemRoot%\SysWow64\NOTEPAD.EXE %1'); |
Цитата:
Цитата:
МИШАНЧИК, на x86-системах с приведенным кодом все плохо будет. Ну нет там подсистемы WoW64. Цитата:
|
R.i.m.s.k.y., спасибо. А чем отличаются:
Код:
RegWriteExpandStringValue Код:
RegWriteStringValue |
Цитата:
|
Цитата:
Цитата:
RegWriteExpandStringValue(HKLM, 'SOFTWARE\Classes\batfile\shell\edit\command', '', ExpandConstant('{sys}\NOTEPAD.EXE %1')); |
Всем спасибо.
А когда добавляешь в реестр не через секцию code, а просто в скрипте обязательно столько кавычек? Код:
Root: HKCR; SubKey: batfile\shell\edit\command; ValueType: string; ValueData: """{sys}\NOTEPAD.EXE"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty Код:
Root: HKCR; SubKey: batfile\shell\edit\command; ValueType: string; ValueData: {sys}\NOTEPAD.EXE %1; Flags: uninsdeletevalue uninsdeletekeyifempty |
МИШАНЧИК, да кавычки нужны обязательно
|
Подскажите, как можно отредактировать reg файл через inno? Нужно при отмеченной определенной кнопки поменять значение.
|
Цитата Dodakaedr:
отредактировать reg файл » как текстовый файл попробуй отредактировать. Код:
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string); |
Цитата:
Код:
"General.Language"="eng.lng" |
Цитата:
Код:
RePlaceTextinFile(ExpandConstant('{app}\Setup.reg'),'"General.Language"="eng.lng"','"General.Language"="rus.lng"'); |
sergey3695, Я так и делал, просто тупанул с размещением файла, но все равно не меняет и нарушает строение строк reg файла.
|
Dodakaedr,
Код:
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string); |
sergey3695, Все равно не хочет менять.
|
Dodakaedr, http://rghost.ru/58421287
Да ну? просмотри содержимое 1.reg ("version"="1.0"). Закрой просмотр. Скомпили установщик, запусти и закрой. Посмотри еще раз содержимое 1.reg ("version"=???). Тут то я проверил прежде чем давать код. |
sergey3695, Ага теперь понял! Спасибо!
|
Проблема заключается вот в чём.
Удобство чтения с экрана 100%. Инсталлятор отображается нормально. Скриншот. Удобство чтения с экрана 125% Инсталлятор отображается без кнопок установки и отмены + всё растянулось. Скриншот. И удобство чтения с экрана 150% Инсталлятор отображается без кнопок установки и отмены + всё растянулось ещё больше. Скриншот. Можно ли это как то исправить? Подскажите если кто знает. Заранее благодарю!!! |
Антон_Мураткин@vk, на Krinkels уже ответил.
|
Добрый вечер! Подскажите пожалуйста, как создать установщик с тихой установкой? Что в скрипте нужно добавлять, какой код? Спасибо.
|
Цитата:
Код:
My_Programm.exe /VERYSILENT |
Цитата:
Например: Код:
C:\Setup.exe /SILENT
|
Подскажите способ, как установить(зарегистрировать) драйвер в систему. Имеется файл .sys(виртуальный прывод) и не достаточно для его работы просто поместить в папку System32\drivers.
|
Как можно увеличить размер установщика и сдвинуть кнопки не используя редактора
|
Цитата:
|
Есть в Inno Setup 5\IS_Scrpt\Scripts пример - Ultimate Test.iss. Он нормально компилируется и работает в Ansi. Подскажите, как его адаптировать для компиляции в Unicode. Спасибо
|
Цитата:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx ================== ключи командной строки http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx ================== вот выложил на файлообменник http://rghost.ru/58459101 |
помогите кто знает как цвет например темы оформления виндоус, цвет из меню пуск и тд "взять" в инсталл
то есть что бы цвет менялся в зависимости от цвета темы виндоус |
Вложений: 1
Цитата:
Цитата:
|
Цитата:
может поможет, просто тупа скопировать данные в реестр |
Dodakaedr,
#1599 |
Вложений: 1
Dodakaedr,
Цитата:
|
|
Как использовать картинки .png вместо .bmp?
|
AlekseyPopovv, Через ботву.
|
Dodakaedr, А можно примерчик любой?
|
Вложений: 1
Цитата:
|
Что обычно прописывают в .inf файле? Потому что у меня только .sys файл (виртуальный привод программы poweriso).
|
как сделать рабочей собственную форму отмены на странице распаковки исдон ? все перепробЫвал, или только на распаковке работает или везде кроме распаковки, или сперва появляется моя форма а затем системная или сперва системная а затем моя, или два раза моя
как их объединить что бы оно заработало ------------------------------------------- procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm := False; if ShowCancelBox = mrNo then Cancel := False; end; -------------------------------------------- procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if CurPageID = wpInstalling then begin SuspendProc; Confirm := False; Cancel := False; if ExitSetupMsgBox then ISDoneCancel:=1; ResumeProc; end; end; |
audiofeel, ShowCancelBox - это форма?
|
saurn,
Цитата:
function ShowCancelBox:Integer; begin Result:=CancelForm.ShowModal; end; -------------------------------------- нет не работает, на всех страницах системная, кроме распаковки исдон, там кастомня форма ===================== вот так получилось сделать, теперь на всех страницах кастомная форма отмены , но на странице распаковки исдон, страницу нужно вызывать два раза, только после этого идет отмена, в чем причина ?? ------------------------------------- |
saurn,
так форма отмены не вызывается вообще ---------------------------------------------- я вообще не пойму уже где что изменить, вот с этим "вариантом" выходит так нажимать на кнопку "да" на странице распаковки архивов нужно два раза |
Цитата:
Цитата:
Цитата:
Код:
procedure CancelButtonClick( CurPageID: Integer; var Cancel, Confirm: Boolean ); |
теперь форма после отмены закрывается и все , исчезает, без wpFinished без лейбла об ошибке
ну ладно, все равно лучше чем было |
Цитата:
Код:
procedure CancelButtonClick( CurPageID: Integer; var Cancel, Confirm: Boolean ); |
Подскажите пожалуйста:
На странице доп. задач установил кнопку "Выбрать всё" при клике на которую отмечаются все чекбоксы и она обновляется на кнопку "Очистить всё". Проблема в том что если все чекбоксы отметить или снять в ручную то обновления кнопки не происходит. |
подскажите, к кому можно обратиться за помощью с inno setup ?
вопрос специфичный и удобней было бы лично обсудить |
ignietferro@vk, Для особых случаев, ссылка в сообщении.
|
Цитата:
|
saurn, в строке: nCount := WizardForm.TasksList.ItemCount - 1;
ошибка - Unknown identifier ITEMCOUNT saurn, разобрался: nCount := WizardForm.TasksList.Items.Count - 1; |
Цитата:
Код:
nCount := WizardForm.TasksList.Items.Count - 1; |
Помогите, подскажите как "правильно" создать в скрипте Windows Metro http://krinkels.org/resources/window...installer.148/ чек бокс "не создавать папку в меню пуск" , чек бокс создать проблемы нет, но как сделать не активной кнопку "обзор" на странице WpSelectGroup при нажатии на чек бокс не знаю, там процедуры нет на чек бокс , есть только функция
|
Цитата:
|
Цитата:
Код:
var tc:TNewCheckBox; Код:
AllowNoIcons=yes |
|
Dodakaedr,
Shkutu, да нее, создал я его этот чек бокс та... а как сделать при нажатии на него , кнопку ButtonSetEnabled(GroupBrowseBtn, False) ???? на чек боксы вообще нет процедур, только функции, то есть я на него процедуру клика делал - ноль эмоций (может не правильно ??) -------------------------------------- понимаю что качать не охота, поэтому вот часть скрипта с чек боксами |
Подскажите возможно ли выполнить текстурирование прогрессбаров ISDone без применения botva2.dll с помощью .bmp ?
|
Цитата:
|
Как удалить вот такую запись из реестра?
RegDeleteValue(HKU, 'S-1-5-21-3249071770-3804279344-2902041931-1000\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted', 'D:\WindowsPlayer_2.9.4.0.exe'); Пробовал вот так, не получается: RegDeleteValue(HKU, 'S-1-5-21-3249071770-3804279344-2902041931-1000\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted', '{src}\WindowsPlayer_2.9.4.0.exe'); Если указать полный путь "D:\WindowsPlayer_2.9.4.0.exe", то всё удаляется. Но пользователь может запустить установку из любого места. Как быть? |
AlekseyPopovv,
RegDeleteValue(HKU, 'S-1-5-21-3249071770-3804279344-2902041931-1000\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted', '{app}\WindowsPlayer_2.9.4.0.exe'); |
Цитата:
Код:
RegDeleteValue(HKEY_CURRENT_USER, 'Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted', '{app}\WindowsPlayer_2.9.4.0.exe'); Но если не сработает то GetSID вам в помощь. |
вот таким "макаром" у меняя получилось сделать кнопку "далее" не активной, когда свободного места меньше чем надо,
может все таки есть способ сделать не активной кнопку GroupBrowserBtn после нажатия на чек бокс ???? |
saurn,
кнопки не через ботву :( |
saurn, ок, - оригинал = http://rghost.ru/58543107
|
audiofeel, за состояние кнопок отвечает процедура
Код:
procedure ButtonSetEnabled(var Button: TCusBtn; hEnabled: Boolean); ButtonSetEnabled( MyBtn, True ) - включена, ButtonSetEnabled( MyBtn, False ) - выключена Обработчик кликов чекбокса будет выглядеть так: Код:
procedure NoIconsCheckClick(Sender: TObject); |
|
Всем привет. Кто в курсе, как сделать (тихое) удаление без UninstallProgressForm . Что-то вроде удалить программу и в конце программа удалена т.е скрыть окно UninstallProgressForm
|
Tco 03, с твоим вариантом получилось со стандартным прогрессбаром а надо прогрессбары ISDone.
|
Доброй ночи ребята.
Как реализовать подкачку модов из сети в установщике? Т.е. моды, которые много весят будут докачивать с различных файлообменников. Есть ли какой-то пример, как реализовать данное чудо? Заранее благодарю всех кто поможет. |
Цитата:
InnoTools Downloader |
подскажите, кто знает как "вызвать" это сообщение в левом верхнем углу в конце успешного выполнения чего либо, не кастомно а "вызвать", выпросить :) у Windows ????
|
Цитата:
|
Здравствуйте, есть вопрос к El Sanchez.
Страницами раньше вы помогли мне с бекапом и удалением компонентов. Тык Так вот я только обнаружил проблему... Удалением модов происходит после установки компонентов. Т.е. сначала производится бекап, потом установка компонетов, а потом оно удаляет и старые компоненты и те которые только что установились. Как изменить этот порядок? Чтобы удаление происходило перед установкой новых компонетов? Заранее спасибо за ответ! |
Цитата:
|
Что-то не пойму. Ошибок при компиляции нету, файл по пути имеется а вносить изменения в реестр не хочет. В чем проблема?
Код:
function InitializeSetup(): Boolean; |
Цитата:
|
El Sanchez, спасибо.
P.S. Протестил, но к сожалению не работает. Потому что насколько я понимаю, нигде не указано какую папку нужно очистить. В итоге делает бекап и устанавливает компоненты, но старые не удаляет. В итоге в папке лежат и старые и новые компоненты. |
Цитата:
Код:
AfterInstall: DeleteFiles(ExpandConstant('{app}\res_mods\*'), True) |
El Sanchez, ясно, но к сожалению не удаляет.
Возможно ли сделать так как было раньше (через секцию run), только расставить последовательность действий? Так как тут просто очистка res_mods, а хотелось бы очистку res_mods\0.9.3 и удаление xvm. |
Цитата:
Цитата:
Цитата:
|
Подскажите, пожалуйста, как можно с помощью cmd перемещать, копировать, удалять папки с файлами и подпапками через секцию [code]?
|
Цитата:
|
kotyarko@fb, Ну да не точно сказал.... нет не файл cmd, а командная строка(cmd.exe)
|
всем привет,подскажите как сделать стр в компонентах
|
|
Цитата:
|
Цитата:
Код:
[Setup] |
Цитата:
Код:
[Code] |
Nordek, а копировать и перемещать как?
|
Dodakaedr,
Код:
[Code] Код:
[Code] Код:
cmd /k help |
Вложений: 1
Цитата:
|
kotyarko@fb, делал как в примере описано не работает. У меня unicode версия.
|
Назрел вопрос: как в инно удалить из памяти массив строк, типа Ars: array of String? В дельфи можно отправить в Finalize(), а здесь как? Просто привести к "0"?
|
Nordek, А если в пути есть пробел, то как быть? Так не копирует.
Код:
[Code] |
Подскажите как выполнить кнопкой переход на нужную страницу? В моём случае необходимо выполнить переход кастомной кнопкой с ReadyPage на страницу SelectDirPage, не кликая несколько раз кнопку "Назад".
|
Как провести проверку на наличие атрибута "Только чтение" у файла hosts и если оно присутствует то убрать, внести изменения и снова поставить атрибут "Только чтение", а если отсутствует атрибут, то просто внести изменения?
|
Dodakaedr,
http://forum.ru-board.com/topic.cgi?...90&limit=1&m=1 далее сам. Цитата:
Код:
#ifdef UNICODE |
Вот собрал, все выполняется кроме последнего, атрибут не становится обратно. Хэлп.
|
Цитата:
Код:
[Code] |
Цитата:
Цитата:
|
saurn, Спасибо вам большое!!! И можно вас попросить сделать проверку на строку...тоесть если строка уже присутствует то ничего не делаем, если же её нету то прописываем... и на удаление такое же. Спасибо!
|
Dodakaedr, в лс.
|
такой вопрос вот назрел, в связи с новой анимацией окон в Windows, как её включить? ( я не про новую, а вообще про анимацию), задействовать на первой ботве (не защищенной) примеров не нашел,
спасибо !!! |
|
sergey3695,
a question that's long overdue, in connection with the new animation window on Windows, as it include? (I'm not talking about a new, and in general about the animation), use the first tops (not secure) examples not found thanks !!! Цитата:
Цитата:
так понятней ? |
Цитата audiofeel:
так понятней ? » При использовании ботвы, не работает анимация окна в Windows 10? Если так то мне негде тестить. Даже без понятия что там. |
Цитата:
http://youtu.be/5oS0DScnHqc |
audiofeel, может это потому что у тя в скрипте стиль bsNone. Попробуй просто чисто на 10-ке
Код:
[Setup] |
Цитата:
|
audiofeel, потому что у тя в скрипте или так или так. Я то не знаю как именно там сделано. Оба варианта убирают рамки. Так работает анимация с формой без рамки?
|
|
Если взят за основу Windows Phone v1.0.1 то там в главном скрипте 562 строка bsNone;
Этож так трудно скомпилить это на 10-ке и посмотреть есть или нет анимации. Но не в ботве это дело. Код:
[Setup] |
Цитата:
-------------------------------------------------- добавил SetWindowLong(WizardForm.Handle, GWL_STYLE, GetWindowLong(WizardForm.Handle, GWL_STYLE) and not WS_CAPTION); убрал это, закомментировал BorderStyle := bsNone; -------------------------------------------------- анимации нет, ни с BorderStyle := bsNone; ни с этим SetWindowLong(WizardForm.Handle, GWL_STYLE, GetWindowLong(WizardForm.Handle, GWL_STYLE) and not WS_CAPTION); |
audiofeel, я про то что анимации нет из-за bsNone. Нет рамки, нет и анимации. и не будет у тебя. не из-за ботвы это. так понятно.
|
Подскажите можно ли в стандартном компиляторе отключить сообщение о нехватке места на диске. В шапке есть код но там для расширенной версии.
|
Цитата:
|
Доброй ночи, уважаемые знатоки!
Появилась необходимость работы с xml для скрипта. Пытаюсь адаптировать свой инсталл для установки в Origin. Задача стоит такая. Есть файл local.xml, из которого нужно прочитать значение аттрибута value, (см. ниже, выделено и подчеркнуто) длина которого может меняться, а затем это значение вывести в строку выбора директории на соответствующей странице инсталлятора. Иначе, если файла не существует, вывести MsgBox с сообщением, что клиент не установлен. В интернетах нашел модуль для работы с XML, но он работает с тегами, имеющими закрывающий тег и значениями в них. А тут, закрывающего тега нет и есть аттрибуты :( Код:
<?xml version="1.0"?> |
LagunaFAN, Получить значение строки в текстовом файле
|
Помогите пож. со следующей ситуацией:
На странице InstallingPage прописал кнопку минимизации инстала (сворачивание в нижний правый угол) и кнпку возврата в исходный размер. Проблема: после распаковки архивов при установке компонентов выведенных на странице SelectTasksPage кнопки "Min" и "Max" не кликабельны как и кнопка "Отмена" но отображаются они как кликабельные. Как сделать чтобы кнопки "Min" и "Max" отображались некликабельными как и кнопка "Отмена" ? Пример кода: |
Цитата:
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
ROMKA-1977, В свойствах кнопки поставить Enabled := False;
Код:
procedure CurPageChanged(CurPageID: Integer); |
Dodakaedr, saurn, оба варианта не подходят.
|
ROMKA-1977,
|
saurn, при обычной упаковке всё OK. Но у меня упаковка не через секцию [Files] а в архивы .arc.
|
Цитата:
|
Цитата:
|
ROMKA-1977, в стандартном примере к библиотеке распаковка архивов находится в блоке процедуры CurStepChanged, вызов функций ISDone осуществляется на шаге ssInstall. В окончании блока:
Код:
if CurStep = ssInstall then begin |
Подскажите что означает ошибка: Exception: External exception EEDFADE.
На странице InstallingPage прописал кнопку минимизации инстала (сворачивание в нижний правый угол) и кнпку возврата в исходный размер + код слайдшоу с применением isSlideShow.dll. Проблема: isSlideShow работает нормально но после минимизации окна и далее возврата окна в исходное состояние вылетает ошибка: Exception: External exception EEDFADE с подсветкой строки: ShowImage(piclist.strings[CurrentPicture - 1], 1, 1000); Пример кода: Сборка: http://rghost.ru/58771778 |
Всем привет! Как можно определить, требуется ли перезагрузка компа или нет? Ситуация в следующем: имеется программа которая после удаления требует перезагрузку компа, но пользователь выбирает нет и при повторной установки без перезагрузки пк не хочет устанавливаться. Как определить это самое требование перезагрузки?
|
Всем привет в скрипте есть функции при наведение на мод описание и картинка как можно прикрутить звук при выборе мода, пример тут :
|
Доброго времени суток!
Подскажите пожалуйста, что и куда добавить в скрипт, чтобы перед деинсталляцией программы, сначала удалились драйвера. Папка с файлами на установку и удаление драйверов находится в каталоге программы. Спасибо! |
Уважаемые, путь к установленной игре можно узнать из секции Setup, вот пример:
Код:
[Setup] Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\1C\{BAC329E8-C7D7-4777-8D69-3AFD40603326}] |
Всех приветствую, у меня ту вопрос возник. В инно есть такая директива как AllwaysRestart. В случае, когда она выставлена в "yes" инсталлятор после установки спрашивает пользователя, надо ли перезагружать систему и по-умолчанию выбрано "да". Так вот вопрос - как сделать так, чтоб по-умолчанию там было выбрано "нет"? Есть ли какая-то настройка для этого или какой компонент у формы инсталлятора отвечает за эти радио-кнопки?
bandaletoff, используйте секцию [UninstallRun]. подробнее можно посмотреть в справке. |
Цитата:
Код:
{reg:HKLM\SOFTWARE\1C\%7B{BAC329E8-C7D7-4777-8D69-3AFD40603326},InstallDir|{sd}\Games\Game1} Цитата:
Пример
Код:
[Setup] |
Цитата:
Цитата:
|
Цитата:
Если использовать две фигурные скобки в начале, то в конце все равно придется экранировать шестнадцатеричным представлением символа: Код:
{reg:HKLM\SOFTWARE\1C\{{BAC329E8-C7D7-4777-8D69-3AFD40603326%7d,InstallDir|{sd}\Games\Game1} |
saurn,
Благодарю, зажило. |
Вложений: 1
Цитата:
|
kotyarko@fb, у меня почему то не работает функция то ли не так вставил запускаю компиляцию и не запускается у меня уникод.
|
diman_21Ru,
RawDataResource работает на расширенной версии компилятора от Restools |
TryRooM, У меня расширенная, уникод же обычно ругаться будет если не так вставишь но тут собирает и установщик не запускает
|
diman_21Ru,
Попробуй упростить через Modules, меньше путаницы в скрипте будет. |
Реализация WinAPI функции GlobalMemoryStatusEx http://msdn.microsoft.com/ru-ru/libr...=vs.85%29.aspx
Предоставляет информацию об использовании физической и виртуальной памяти. Просьба к знатокам: указать на возможные ошибки. Скрипт
Код:
[Code] |
Возник вопрос по поводу WinAPI: а можно ли узнать, включено ли в системе масштабирование (установленный % не имеет значения)?
|
kotyarko@fb, сравни разрешение экрана и монитора
Код:
type Код:
function GetDC(HWND: DWord): DWord; external 'GetDC@user32.dll stdcall'; |
TryRooM, вот там в скрипте поиск названия файла идет через
Name: "main\a"; Description: "A Files"; pSoundMemory_A := GetResourceSoundAddr('_IS_SNDA'); а у меня вот как и кажется я не правильно указал раз ошибка, как исправить чтобы заработала? Name: OZE1/OZE1/OZE1; Description:Атмосферная от Strategic Music;Flags: disablenouninstallwarning exclusive pSoundMemory_Атмосферная от Strategic Music := GetResourceSoundAddr('_IS_SNDA'); |
diman_21Ru,
Не забывай прописывать имя компонента и в Modules |
Подскажите возможно ли средствами Inno Setup выполнить переименование папки Мои документы в Documents в локализованной винде?
|
ROMKA-1977, Мои документы на деле и есть Documents
"Мои документы" просто обертка ссылки в проводнике на X:\Users\user_name\Documents |
Всем доброго дня!
Есть такая проблемка. Если у инсталлятора выставлена директива AlwaysRestart=yes, то чекбоксы секции Run с флагом postinstall (запускающие приложения после работы инсталлятора) перестают выводиться. Пыталась приколхозить такую галку руками примерно так
Код:
procedure InitializeWizard; Но оно не работает. Подскажите плиз, есть ли какая настройка для галок postinstall в случае наличия директивы на промпт перезагрузки. Или если нет, то может как-то можно поправить мой код или еще как-то по-другому реализовать такую галку с запуском программы из кода? UPD. Оказалось, все работает и проблема была в ошибке в имени файла :) |
Цитата:
приходится в ручную переименовывать отображаемое имя папки. |
Shkutu, до кучи
Скрытый текст
Код:
[Code] |
помогите прикрутить кликабельное лого в углы, код сам я нашел, но вот прикрутить не получается( инсталл запускается, он не более, кликабельного лого я не обнаруживаю
http://rghost.ru/58995455 |
Цитата:
|
Какой самый простой способ добавление всплывчатой картинки и с затуханием
|
Цитата:
|
Dodakaedr, да
|
Вложений: 1
Цитата:
Цитата:
Кликабельное лого
Код:
[Setup] Кликабельное лого через изображение
Код:
#define Bitmap "Logo.bmp" |
Dodakaedr, http://rghost.ru/private/59013615/5a...26a5374644cac3 - чтот не вышло у меня, ругается на переменную EC
|
Tixo, объявите переменную:
Код:
var Заливайте файлы в *.zip или *.rar, на худой конец в *.7z - это ускорит решение вашего вопроса. Не у всех установлен FreeArc, и не каждый станет его устанавливать. |
|
хмм, все компилится, а лого не кликается( никуда не переходит
|
Tixo, Странно. У меня все работает. Тестил на Inno Ultra Unicode.
|
скинь свою версию моего инсталла) у меня отказывается работать(
|
Tixo,
Держите. Скрипт с лого |
Вложений: 1
TryRooM, спасибо!
Tixo, + исправлен сплэш |
Вложений: 1
Друзья!!! Спешу поделится своими наработками. For science ... :Beer:
И так этот замечательный код (написанный на Delphi) позволяет вам вызвать ЛЮБУЮ функцию из вашего скрипта! Подходит только для Inno Setup Compiler 5.5.5 (u) (build 121002) PS Если вы попробовали использовать это в своих проектах, напишите о результатах - мне будет интересно узнать много нового о применениях |
Спасибо, только вот что странно, Dodakaedr, с твоим кодом запускается только черная рамка на месте лого, с запуском TryRooM все нормально)
|
Цитата:
|
Цитата:
Цитата:
|
Подскажите возможно ли сделать кнопу закрытия окна инсталятора (верхний правый угол) не активной ?
|
Цитата:
|
Здравствуйте,возможно-ли в данный код добавить функцию,чтобы автоматом не выбирались компоненты над которыми работает код.
Пробовал flags "dontinheritcheck" но его нельзя совмещать с "exclusive" Код:
[Types] |
Цитата:
|
Dodakaedr, Данный код блокирует другие компоненты при выборе того или иного компонента,в данном случае если выбрать группу А закроется группа Б и на оборот,на те компоненты которые подключены к коду выбираются автоматом.
Из-за этого выходит так что стоят галки в компонентах и А и Б а мне это не нужна так как все эти файлы не совместимы с друг-другом. |
Забыл..что нужно написать, чтобы было не ниже Seven sp1
MinVersion: xxxxxx |
Цитата:
Скрытый текст
Код:
[Setup] |
Всем привет :) Подскажите пожалуйста команду, чтобы приложение автоматически установилось в папку "Мои документы". То есть я установила приложение с офсайта и оно у меня автоматически установилось по пути C:\Users\Ирина\Documents\TMClientProfile. А теперь мне нужно сделать установщик, который бы тоже автоматически устанавливал программу по тому же пути.
Ранее уже как то задавалась этим вопросом, но тогда мне нужно было, чтобы программа установилась в папку ProgramData. Оказалось, все очень просто: Source: "C:\ProgramData\Firefly Studios\*"; DestDir: "{commonappdata}\Firefly Studios"; Flags: ignoreversion recursesubdirs createallsubdirs В общем, может есть какой то код, чтоб приложение устанавливалось в папку "Мои документы" по умолчанию? Спасибо. |
Цитата:
Пример: Код:
[Files] Код:
[Files] |
Dodakaedr, То что надо спс
|
Цитата:
До кучи, проверка через код с помощью GetVersionEx: |
Кто знает как это решить. После установки игры на мой ПК игра запускается, если установить на другой ПК, ничего не происходит, что делать?
Что то в реестр я слышал вносить нужно мб( |
Цитата:
|
естественнО в реестр нужно вносить что-то, а что именно - зависит от самой игры. regedit вводишь в поиске и ищешь там уже. если нужно распишу подробнее, что и куда смотреть
|
Возник вопрос по установке дополнительного ПО. Подскажите пожалуйста, как это все организовать? Конкретно, нужно чтобы при установке игры, автоматически установилось Microsoft Visual C++. Какой код в скрипте должен быть?
|
Цитата:
Для автоматической установки
Код:
[Run] С запросом
Код:
[Tasks] Файлы должны находится возле установщика. |
Цитата:
|
Dodakaedr, Можете-ли очистить часть сохраненных персональных сообщений а то в приват не написать.
|
Были возмущённые люди по поводу что callback не настоящий ))))))))))
... в общем был написан ISCallBack - настоящий!!! С барского плеча )))) ISCallBack - callback (настоящий) ISCallProc - вызов процедур (экспериментальный проект) Использовались: Inno Setup Compiler 5.5.5 (u) (build 121002) для других (в ISCallProc) придётся поменять адрес процедуры. Однако ISCallBack не имеет зависимости от версии Inno. Delphi XE6, но думаю скомпилится в любой PS Если есть любители погорячее C++ скажем ... переписать будет не сложно |
Подскажите как выполнить автоматическую установку изолированного пакете центра обновления Microsoft (.msu) ?
|
ROMKA-1977,
Код:
[Run] |
Как можно в установщике добавить прокрутку мышкай чтобы спуститься к нижнему списку
|
Цитата:
|
kotyarko@fb, с колесикам не работает приходится левой кнопкой мыши спускать
|
diman_21Ru, за это отвечает свойство ScrollBars, если оное доступно для контрола.
Код:
ScrollBars := ssVertical; |
saurn, А куда вставить это чудо?
|
diman_21Ru, в блоке параметров контрола, для которого требуется создать скролл, например:
Код:
with TMemo.Create( nil ) do |
Как можно выключить страницу [Tasks]
|
Цитата:
|
Народ, подскажите ?? Экспортировал ключ из реестра
Код:
Windows Registry Editor Version 5.00 Получил Код:
[Registry] Код:
Root: HKCR; SubKey: CLSID\{{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1; ValueType: string; ValueName: SubCommands; ValueData: msconfig;perfmon;relmon;trouble;services;event;taskschd;useracc;useracc2;network;wf;wu; Flags: uninsdeletevalue uninsdeletekeyifempty |
Всем привет. Помогите пожалуйста с установщиком весь форум перелазил и прочитал многие разделы и перепробовал все. Вопрос ранее уже не раз задавался, но у меня не получается. Делаю Модпак для World of Tanks. И пытаюсь сделать, чтобы он мод устанавливал допустим в "f:\Games\World of Tanks\res_mods\0.9.4". Я имею ввиду чтобы он путь сам находил не зависимо от пользователя. Спасибо за внимание.
01. Как сделать так, чтобы мой установщик автоматически находил местоположение игры, тоесть сам прописывал путь к папке World Of Tanks ??? 02. Как сделать так, чтобы установщик копировал папку audio из папки World Of Tanks/res в папку World Of Tanks/res_mods/0.9.4 ??? 03. Как сделать так, чтобы в окне выбора модов, при наведение на какой либо мод, высвечивалось описание мода и маленький скриншот ??? 04. Как сделать так чтобы установщик автоматически очищал папку res_mods ??? Вот что у меня получилось https://docs.google.com/file/d/0B7Ym...R0T2cyWHM/edit |
Painkiller,Попробуйте так
Код:
Root: HKCR; SubKey: CLSID\{{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1; ValueType: string; ValueName: "SubCommands"; ValueData: "msconfig;perfmon;relmon;trouble;services;event;taskschd;useracc;useracc2;network;wf;wu"; Flags: uninsdeletevalue uninsdeletekeyifempty |
Dodakaedr , все ок ))
|
Цитата:
Автоопределение установки
Код:
[Setup] |
Dodakaedr , ахахххаах пишет World of Tanks не найден
|
Цитата:
|
Dodakaedr , вы как то выкладывали скрипт который создает дополнительную страницу с чебоксами и радиобутанами . Не могу никак найти , а сейчас нужен по зарез . На счет примера использования тож бы не отказался если можете ??
|
Dodakaedr, тогда у меня пойдет, а у других людей будет писать World of Tanks не найден
|
Цитата:
Скрытый текст
Код:
[Setup] Цитата:
Кастомная страница с кнопками
Код:
[Setup] P.S. Larkod, если игра официальная, то не будет. |
Цитата:
----------------------------------------------------------------------------------------------------------------- Цитата:
Цитата:
|
Dodakaedr, а нельзя сделать чтобы путь сам прописывался без окон всплывающих Укажите путь сам
saurn, может быть, но в данном коде писало бы так Танки не найдены |
saurn , твой вариант я и искал . Вот только бы пример не помешал как привязать чебокс и радиобокс к действиям ???
|
saurn,
Larkod, удалите Код:
if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then Цитата:
Код:
function IsChecked( const nIndex: Integer ): Boolean; |
Dodakaedr ,saurn , все понял, сразу не заметил
|
Есть еще предложения?
|
Цитата:
Цитата:
Скрытый текст
[code]
Код:
[Setup] ------------------------------------------------------------------------------- Цитата:
Для секций вне кода: Код:
Check: IsChecked( 0 ); Код:
if IsChecked( 0 ) then Цитата:
Скрытый текст
Код:
with TasksPage do |
saurn, без изменений
вот мой скрипт https://docs.google.com/file/d/0B7Ym...R0T2cyWHM/edit |
Цитата:
|
saurn, А это что такое? OutputDir=...
|
Цитата:
Код:
DefaultDirName={code:DefaultInstallDir} |
saurn, теплее тока оно указывает на диск C:\Program Files (x86)\, а как сделать чтобы указывала на другой диск там где игра?
|
Цитата:
Цитата:
Код:
function DefaultInstallDir( const szResult: String ): String; |
saurn, спасибо вроде получилось. Скажи еще вопрос есть он у меня указывает такой путь к игре F:\Games\World of Tanks вот а там когда моды лепить самому сделать, res_mods?Чтобы получилось
F:\Games\World of Tanks\res_mods\0.9.4 или и это прописать можено? И еще вопрос. Как сделать так, чтобы установщик копировал папку audio из папки World Of Tanks/res в папку World Of Tanks/res_mods/0.9.4 ??? |
Цитата:
Цитата:
Цитата:
Сейчас установил World of Tanks, расположение деинсталляции было обнаружено в HKEY_CURRENT_USER, а не в HKEY_LOCAL_MACHINE. |
Nordek, будь добор кинь ключ реестара World of Tanks. Я у себя найти не могу. А uninstall Tool и Revo Uninstaller не видят World of Tanks
|
Хорошо тогда еще вопрос. Как сделать, перед выбор папки куда устанавливать вверзу или внизу было написано "Пример: f:\Games\World of Tanks\res_mods\0.9.4". Спасибо за внимание
|
Цитата:
Код:
RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', szResult); Цитата:
Код:
[Code*] |
kotyarko@fb, у меня почему то ключ не показывает просто пустая строка, наверно танки в реестре не прописано - очень странно. Кинул другу установщик тоже не работают работает пустое окно, где выбор папок должен быть. А запускаю моды от Джова находит путь все как надо
По поводу кода спасибо. Хотя у себя вставил в реестр поиск {1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1 нашел Еиньте пожалуйста код я лично пробую этот [code] function DefaultInstallDir( const szResult: String ): String; begin // RegQueryStringValue( HKEY_LOCAL_MACHINE, 'Здесь ключ игры в реестре', 'Здесь строковый параметр, содержащий путь к папке с игрой', szResult ); {по типу - } RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', szResult); if ( szResult <> '' ) then Result := RemoveBackslash( szResult ) else Result := ExpandConstant( '' ); end; |
Цитата:
Код:
[Setup] |
kotyarko@fb , уже есть. Вот мой скрипт глянь, если не трудно
https://docs.google.com/file/d/0B7Ym...lrZXEzT0E/edit |
Цитата:
|
Вложений: 1
Файл 119243 Вот тока в txt переименовал, а то в iss ругает
|
Вложений: 1
Цитата:
Зачем вы делаете две секции кода? То, что вам подсказывают туда вписать - вписывайте в существующую. Держите ваш готовый *.txt :biggrin: |
kotyarko@fb, так это черновик я специально вниз копирую, чтобы с ним работать, а не по всему документу бегать искать его.
kotyarko@fb, Ну что поможешь? |
kotyarko@fb, Larkod, вот так делать не надо:
|
saurn, Извините уже за наглость, но можете код кинуть, а то опять и это не работает.
Я использую этот [Setup] DefaultDirName={code:DefaultInstallDir} [code] function DefaultInstallDir( const szResult: String ): String; begin // RegQueryStringValue( HKEY_LOCAL_MACHINE, 'Здесь ключ игры в реестре', 'Здесь строковый параметр, содержащий путь к папке с игрой', szResult ); {по типу - } RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', szResult); if ( szResult <> '' ) then Result := RemoveBackslash( szResult ) else Result := ExpandConstant( '' ); end; |
|
Все спасибо большое разобрался :)
Еще 1 вопрос есть и опять он раньше тоже 1 мододелом задевался тока он узнал на форуме и промолчал в тихаря :) Как можно при установки из папки World of Tanks\res\audio скопировать в World of Tanks\res_mods\0.9.4\audio |
Цитата:
Цитата:
|
saurn, показывает, как ошибку
Source: {fonts}\*; DestDir: {code:GetInstallPath}\audio; Flags: external; Components: zvuk; Check: CheckInstallPath(); |
Как можно добавить такую кнопку Удалить все файлы из папки Update на скрине выделил пример.
Путь к папке идет World of Tanks/Updates. |
Цитата:
|
Как можно при установки из папки World of Tanks\res\audio скопировать в World of Tanks\res_mods\0.9.4\audio
|
Цитата:
HTML код:
Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.9.4\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: main\ass13; |
studentvnau@vk, Логично
|
че спросить слабо?:)
|
ekspoint, А я и не знал что ты сидишь )
|
ekspoint, Ну раз ты тут привет Можешь подсказать как добавить в скрипт функцию удаление папки Update.
|
TListBox.Create(WizardForm.SelectDirPage)
Parent:=WizardForm.SelectDirPage дальше сам делай |
народ есть ли библиотека ISSkin.dll для win 8.1?,а то найти не могу
|
Цитата:
Скрытый текст
Код:
Windows Registry Editor Version 5.00 Цитата:
Цитата:
Пример
Код:
[Code] Цитата:
|
Добрый день форумчане ;)
Назрел вопрос, хочу добавить выборку на страницу компонентов (секция [Types]), изначально она там есть (даже без секции [Types]), но в ней стандартные тексты (Компактная, полная и выборочная). Я же хочу добавить другие пункты (Стандартная конфигурация, наш выбор либо что-то в этом роде). Чтобы их добавить нужно прописать секцию [Types], но когда я ее включаю, то полоска выборки пропадает. И вот собственно в чем вопрос... Есть ли другие способы как подключить полоску выборки? Возможно она не появляется из-за того, что я использую скин? Правильно ли я делал? Код:
[Types] |
Farser21, Что-то типа этого?
Код:
[Setup] |
Dodakaedr, благодарю, все работает :)
|
Всем привет. Подскажите пожалуйста вчера задавал этот вопрос по поводу копирования папки audio из World of Tnaks. Пример из World of Tnaks\res\audio в папку World of Tnaks\res_mods\0.9.4\audio
Для данного вопроса использовал кода Скрытый текст
[Setup]
InfoBeforeFile=compiler:Default.isl [Components] Name: "zvuk"; Description: "Звуки(перед установкой скопируйте папку audio в res_mods\XX.XX.XX\)" Name: "zvuk\audio"; Description: "Звонок крита"; Name: "zvuk\zasvet"; Description: "Озвучка лампочки"; [Files] ; zvuk Files Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.9.4\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; [Dirs] ; for Test Name: "{app}\res_mods\0.8.5\audio" Name: "{app}\res_mods\0.8.6\audio" ; DUMMY: Name: "{app}\res_mods\0.8.7" Name: "{app}\res_mods\hl2" Name: "{app}\res_mods\Valve" [code] var InstallPath: String; function GetInstallPath(const Dummy: String): String; begin if ForceDirectories(InstallPath) then Result := RemoveBackslash(InstallPath); end; function CheckInstallPath(): Boolean; begin Result := InstallPath <> ''; end; /////////////////////////// function SearchForFolders(const RootFolder: String): array of String; // получить имена всех папок в папке (без рекурсии) var NewSearchPath: String; FindRec: TFindRec; Len: Integer; begin NewSearchPath := AddBackslash(RemoveBackslash(RootFolder)); if FindFirst(NewSearchPath + '*.*', FindRec) then try repeat if (FindRec.Name <> '.') and (FindRec.Name <> '..') then if FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := NewSearchPath + FindRec.Name; end; until not FindNext(FindRec); finally FindClose(FindRec); end; end; function OnlyVersion(const iStr: String): String; /// оставлять только цифры var i: Integer; begin Result := ''; if Length(iStr) > 0 then for i := 1 to Length(iStr) do case iStr[i] of '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': Result := Result + iStr[i]; end; end; function OnlyWithFolder(const FolderName: String ;const Path: array of String): array of String; // оставлять только пути с именем искомой папки var i, Len: Integer; begin for i := 0 to GetArrayLength(Path)-1 do if DirExists(AddBackslash(RemoveBackslash(Path[i])) + FolderName) then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := Path[i]; end; end; function OnlyVersionFolders(const Path: array of String): array of String; // оставлять папки только с цифрами, var i, Len: Integer; begin for i := 0 to GetArrayLength(Path)-1 do if Length( OnlyVersion(ExtractFileName(Path[i])) ) = 5 then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := Path[i]; end; end; function GetNormalTextLen(const Text: String): Integer; begin with TLabel.Create(nil) do try Caption := Text; Result := Width; finally Free; end; end; function AskForPath(const Path: array of String): String; var AskForm: TForm; PathCombo: TNewComboBox; Len, i: Integer; begin Len := GetArrayLength(Path); if Len = 0 then Exit; AskForm := TForm.Create(nil); with AskForm do begin Caption := 'Какую папку патчить?'; Position := poScreenCenter; PathCombo := TNewComboBox.Create(AskForm); with PathCombo do begin Parent := AskForm; SetBounds(ScaleX(7), ScaleY(7), ScaleX(GetNormalTextLen(Path[0]) + 25), ScaleY(23)); Style := csDropDownList; for i := 0 to Len-1 do Items.Add(Path[i]); ItemIndex := 0; end; ClientWidth := ScaleX(PathCombo.Width + 16); ClientHeight := ScaleY(77); with TButton.Create(AskForm) do begin Parent := AskForm; Left := ScaleX(7); Top := ScaleY(PathCombo.Top + PathCombo.Height + 16); Caption := SetupMessage(msgButtonOK); ModalResult := mrOk; end; with TButton.Create(AskForm) do begin Parent := AskForm; Left := ScaleX(90); Top := ScaleY(PathCombo.Top + PathCombo.Height + 16); Caption := SetupMessage(msgButtonCancel); ModalResult := mrCancel; end; if ShowModal = mrOk then Result := PathCombo.Text; end; end; function NextButtonClick(CurPageID: Integer): Boolean; var UnefInstallPath: String; begin if CurPageID = wpSelectComponents then begin if IsComponentSelected('zvuk') then begin UnefInstallPath := AskForPath( OnlyWithFolder('audio', OnlyVersionFolders( SearchForFolders( AddBackslash(RemoveBackslash( WizardDirValue() )) + 'res_mods') ) ) ); Result := UnefInstallPath <> ''; if not Result then MsgBox('No', mbError, MB_OK) else InstallPath := UnefInstallPath; end else Result := True; end else Result := True; end; Но он при запуске выдает код на прочтение типа похожее на ознакомление с лицензией |
Цитата:
Код:
InfoBeforeFile=compiler:Default.isl |
Dodakaedr , спасибо помогло. Еще одна просьба есть. помогите 2 кода совместить, а то ошибку выдает
Скрытый текст
Procedure InitializeWizard();
var Primer: TLabel; begin Primer := TLabel.Create(WizardForm); Primer.Parent := WizardForm.SelectDirPage; Primer.SetBounds(WizardForm.DirEdit.Top - 80, 110, WizardForm.Width, 110); Primer.Caption := 'Если не нашел путь к World of Tanks, то укажите так f:\Games\World of Tanks\'; Primer.WordWrap := False; end; Скрытый текст
procedure InitializeWizard();
begin RedesignWizardForm; RedesignWizardForm; InitInfo(); RedesignWizardForm; end; function IsAppRunning(): Boolean; begin Result:=(FindWindowByWindowName('WoT Client') <> 0); end; function NextButtonClick(CurPage: Integer): Boolean; begin Result:=True; If CurPage=1 then begin if IsAppRunning() then begin MsgBox('Клиент игры World of Tanks в настоящее время запущен.' #13#13 'Необходимо закрыть его перед продолжением установки.', mbError, MB_OK); Result:=False; end else Result:=True; end; end; |
Цитата:
Скрытый текст
Код:
procedure InitializeWizard(); |
Dodakaedr, теперь пишет ошибку function NextButtonClick(CurPageID: Integer): Boolean; Вот полный код
Скрытый текст
[Components]
Name: "zvuk"; Description: "Звуки(перед установкой скопируйте папку audio в res_mods\XX.XX.XX\)" Name: "zvuk\audio"; Description: "Звонок крита"; Name: "zvuk\zasvet"; Description: "Озвучка лампочки"; [Files] ; zvuk Files Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.9.4\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; [Dirs] ; for Test Name: "{app}\res_mods\0.8.5\audio" Name: "{app}\res_mods\0.8.6\audio" ; DUMMY: Name: "{app}\res_mods\0.8.7" Name: "{app}\res_mods\hl2" Name: "{app}\res_mods\Valve" [code] var InstallPath: String; function GetInstallPath(const Dummy: String): String; begin if ForceDirectories(InstallPath) then Result := RemoveBackslash(InstallPath); end; function CheckInstallPath(): Boolean; begin Result := InstallPath <> ''; end; /////////////////////////// function SearchForFolders(const RootFolder: String): array of String; // получить имена всех папок в папке (без рекурсии) var NewSearchPath: String; FindRec: TFindRec; Len: Integer; begin NewSearchPath := AddBackslash(RemoveBackslash(RootFolder)); if FindFirst(NewSearchPath + '*.*', FindRec) then try repeat if (FindRec.Name <> '.') and (FindRec.Name <> '..') then if FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := NewSearchPath + FindRec.Name; end; until not FindNext(FindRec); finally FindClose(FindRec); end; end; function OnlyVersion(const iStr: String): String; /// оставлять только цифры var i: Integer; begin Result := ''; if Length(iStr) > 0 then for i := 1 to Length(iStr) do case iStr[i] of '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': Result := Result + iStr[i]; end; end; function OnlyWithFolder(const FolderName: String ;const Path: array of String): array of String; // оставлять только пути с именем искомой папки var i, Len: Integer; begin for i := 0 to GetArrayLength(Path)-1 do if DirExists(AddBackslash(RemoveBackslash(Path[i])) + FolderName) then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := Path[i]; end; end; function OnlyVersionFolders(const Path: array of String): array of String; // оставлять папки только с цифрами, var i, Len: Integer; begin for i := 0 to GetArrayLength(Path)-1 do if Length( OnlyVersion(ExtractFileName(Path[i])) ) = 5 then begin Len := GetArrayLength(Result); SetArrayLength(Result, Len+1); Result[Len] := Path[i]; end; end; function GetNormalTextLen(const Text: String): Integer; begin with TLabel.Create(nil) do try Caption := Text; Result := Width; finally Free; end; end; function AskForPath(const Path: array of String): String; var AskForm: TForm; PathCombo: TNewComboBox; Len, i: Integer; begin Len := GetArrayLength(Path); if Len = 0 then Exit; AskForm := TForm.Create(nil); with AskForm do begin Caption := 'Какую папку патчить?'; Position := poScreenCenter; PathCombo := TNewComboBox.Create(AskForm); with PathCombo do begin Parent := AskForm; SetBounds(ScaleX(7), ScaleY(7), ScaleX(GetNormalTextLen(Path[0]) + 25), ScaleY(23)); Style := csDropDownList; for i := 0 to Len-1 do Items.Add(Path[i]); ItemIndex := 0; end; ClientWidth := ScaleX(PathCombo.Width + 16); ClientHeight := ScaleY(77); with TButton.Create(AskForm) do begin Parent := AskForm; Left := ScaleX(7); Top := ScaleY(PathCombo.Top + PathCombo.Height + 16); Caption := SetupMessage(msgButtonOK); ModalResult := mrOk; end; with TButton.Create(AskForm) do begin Parent := AskForm; Left := ScaleX(90); Top := ScaleY(PathCombo.Top + PathCombo.Height + 16); Caption := SetupMessage(msgButtonCancel); ModalResult := mrCancel; end; if ShowModal = mrOk then Result := PathCombo.Text; end; end; function NextButtonClick(CurPageID: Integer): Boolean; var UnefInstallPath: String; begin if CurPageID = wpSelectComponents then begin if IsComponentSelected('zvuk') then begin UnefInstallPath := AskForPath( OnlyWithFolder('audio', OnlyVersionFolders( SearchForFolders( AddBackslash(RemoveBackslash( WizardDirValue() )) + 'res_mods') ) ) ); Result := UnefInstallPath <> ''; if not Result then MsgBox('No', mbError, MB_OK) else InstallPath := UnefInstallPath; end else Result := True; end else Result := True; end; |
Цитата:
|
Вложений: 1
Dodakaedr, вот мой полный скрипт Файл 119271
|
Вот вся папка со скриптом https://drive.google.com/file/d/0B7Y...VnM/view?pli=1
|
Вложений: 1
Larkod, :o зачем пичкать каждый пример в один код? Почитайте справку. Вот немного поправил.
|
Dodakaedr, я просто новичок, а справку я читал. Мне ориентироваться легче просто это пока черновик идет. А если я распихаю все по порядку, то мне тяжелее будет ошибки искать. Спасибо большое :)
|
|
Dodakaedr , вопрос еще 1 сейчас поменял картинку в установщике с помощью "Редактора форм" теперь указывает на ошибку "procedure RedesignWizardForm;"
Скрытый текст
procedure RedesignWizardForm;
var i: integer; BtnPanel: TPanel; BtnImage: TBitmapImage; begin ExtractTemporaryFile('logo.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=0 Top:=315 Width:=179 Height:=46 Cursor:=crHand OnClick:=@logoOnClick Parent:=WizardForm end; BtnImage:=TBitmapImage.Create(WizardForm) with BtnImage do begin AutoSize:=True; Enabled:=False; Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp') Parent:=BtnPanel end; with WizardForm do begin end; |
Цитата:
|
Уважаемый Dodakaedr, не подскажите для чайника более подробно, что надо сделать :)
Спасибо уже не надо чайник сам разобрался :) |
Помогите если можете, искать уже обыскался страничку с ответом на вопрос о исправлении глюка с скролбарами, у меня была закладка, но виндовс скачал автообнову и полетел после этого... Теперь тоже найти немогу, если не трудно, скиньте ссылку на страницу, поиском искал, и так смотрел, никак не найду, выручите по человечески пожалуйста, не себе же делаем, людям:) А то сидят пока у меня без F.A.Q люди, а с этим глюком впиливать неохота. Заранее благодарен за помощь.
|
|
Вложений: 1
Цитата:
Сразу видно лицо человека (уж простите, лучше быть "крысой", чем г*вном...), подсказали всем, как людям, а оно... Короче, смотрите сами, и думайте... Кто захочет, тот поймёт... И потом он умного из себя строит, выдавая чужие советы за свои умственные выводы... Эх, как же убоги такие люди... |
Цитата:
|
studentvnau@vk, согласен, некрасиво, как-то. Подправил.
|
Цитата:
|
El Sanchez, как правильно использовать создание ярлыка на панели задач Windows 7?
Код я вставил, а вот как вызвать функцию не знаю |
Цитата:
Скрытый текст
Код:
// закрепить ярлык |
Цитата:
Скрытый текст
Код:
Procedure CurPageChanged(CurPageID: Integer); |
Вопрос, как убрать фон у чекбоксов? при этом сами чекбоксы рисуются на WizardForm, инсталлятор на основе страниц, с png картинками вместо фона.
|
Вложений: 1
Всем привет. Помогите уже замучался понять не могу в чем ошибка.
Скрытый текст
Parameter "Name" include invalid characters.
It may only include alphanumeric character, underscores,slashes (/), and/or backslashes(\), may not start with a number and may not start or end with a slash or a backslash. Names 'not','and' and 'or' are reserved. Это в Components.iss, где прописал пути Файл 119450 |
Вот ссылка на все файлы https://docs.google.com/file/d/0B7Ym...pOTzFaV0E/edit
|
Вложений: 1
Обосную поподробнее:
есть страница SelectDirPage (скрин ниже), на ней нужно активировать 2 чекбокса, для этих функций: HTML код:
/////////-------------BACKUP---------///////////// Ботва подключена. Внимание вопрос: как заставить всё это взлететь? |
Вложений: 1
Larkod,
Пробуйте, измените так P_Mod |
Цитата:
Код:
Procedure BackupCheck_2(); |
Цитата:
|
Ну так что, есть идеи у кого нить?
|
|
Цитата:
|
Цитата:
Код:
Procedure CurStepChanged(CurStep: TSetupStep); |
Цитата:
|
Цитата:
|
Всем привет. недавно задался таким вопросом. При установки модеов при наведении на данный мод показывается картинка, а как сделать, чтобы сразу две подряд показывало? Вот фрагмент как у меня
Скрытый текст
case TNewCheckListBox(Sender).ItemCaption[Index] of
'1. Прицел как у 40_tonn': UndefPic := '40_tonn.bmp'; else |
Всем привет.
Необходимо в .ini-файл записать только букву диска, куда была установлена программа. Как это можно реализовать, подскажите, пожалуйста. |
Цитата:
А если погуглить - спокойно можно найти ответ за секунду. http://krinkels.org/threads/shfileop...-unicode.2221/ Цитата:
Цитата:
|
Цитата:
Скрытый текст
Код:
[INI] |
kotyarko@fb, ты не понял. Чтобы было сразу 2 изображение ну типа этого '1. Прицел как у 40_tonn': UndefPic := '40_tonn.bmp' UndefPic := '40_tonn.bmp';
|
Цитата:
Если даже и выведутся два изображения (без изменения функции) - одно будет накладываться на второе (т.к. начальная точка - курсор). Без изменения самой функции, которая выводит изображение, вариантов больше нет. |
Цитата:
-------------------------------------------------------------- Цитата:
Код:
[Setup] |
В скрипте есть функция По нажатию на компонент выходить соответствующий звук но при нажатие на другой компонент звук проигрывается и там.
#include "Modules\sound modul.iss" [Setup] AppName=Sound AppVerName=1.0 DefaultDirName={pf}\Sound OutputDir=Output RawDataResource=SndA:bugreporter_succeeded.wav |SndB:buttonclickreleaseo.WAV [Components] Name: "main"; Description: "Main Files"; Name: "main\a"; Description: "A Files"; Name: "main\b"; Description: "B Files"; [code] procedure InitializeWizard(); begin IndexLast := -1; pSoundMemory_A := GetResourceSoundAddr('_IS_SNDA'); pSoundMemory_B := GetResourceSoundAddr('_IS_SNDB'); WizardForm.ComponentsList.OnClickCheck := @ComponentsOnClickCheck; end; |
Вложений: 1
diman_21Ru
|
Здрасте,может кто дать код,которые будет удалять данную программу если ее повторна устанавливают.То есть пользователь установил программу,и если пользователь снова запустить setup то вылезет окно на удаление программы,и если пользователь откажется то setup закроется,а если согласится произойдет деинсталляция после чего продолжится установка.
|
Цитата:
-------------------------------------------------------------------------------- В расширенной версии возможен и такой способ: Код:
procedure CurStepChanged( CurStep: TSetupStep ); |
Цитата:
|
И еще вопрос,есть группа файлов с разной структурой,но название файла у всех одно.Возможно-ли добавь к этим файлам версии чтобы при установке если данный файл с большей версией уже был только что установлен то точно такой же файл,но с меньшей версией не устанавливался.
|
Цитата:
Код:
RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant( '{#SetupSetting( "AppId" )}_is1' ), 'UninstallString', Buff ) |
Подскажите, пожалуйста, как реализовать следующее:
Как при удалении программы удалить используемую системой DLL без перезагрузки системы? |
Цитата:
Код:
UnloadDLL(ExpandConstant('*.dll')); |
kotyarko@fb
Можно целиком код? |
Цитата:
Код:
[*Code] |
kotyarko@fb
А нет, все ок, просто деинсталятор запускал из под Total Commander и поэтому библиотека не удалялась. |
помогите с кодом...
суть: при наведении мыши на пункт в меню выбора файлов для установки показывать доп. информацию и скрин в отдельном окне со скрином разобрался, помогите добавить текст... и еще вопрос, у меня почему-то картинки прозрачные какие-то, как исправить? (вопрос решен ALPHA_BLEND_LEVEL = 255; ) спс saneksanek |
svs23, А вы не думали что текст уже по верх скриншота?
Цитата:
Код:
ALPHA_BLEND_LEVEL = 255; |
Цитата:
или я что-то не так понял из вашей фразы?! p.s: за ALPHA_BLEND_LEVEL = 255; спс очередной вопрос: возможно где-нибудь, например, в [Setup] или #define или еще где-то прописать константу версии (название папки в res_mods) игры (в данном случае 0.9.4) чтобы потом в коде ссылаться на нее {...}, а не исправлять код после каждого обновления? решено: Код: #define ModVer "0.9.4" Вызывается {#ModVer} спс Dodakaedr saurn |
Цитата:
Код:
#define ModVer "0.9.4" |
|
svs23, Покажите строку где вызываете {#ModVer}. У меня все работает
Код:
#define ModVer "0.9.4" |
Цитата:
Код:
#define ModVer "0.9.4" |
Цитата:
|
Цитата:
Скрытый текст
Код:
[Setup] К функциям, думаю, привяжете сами. |
помогите исправить ошибку
код
Цитата:
вот сама ошибка при запуске .ехе Цитата:
|
svs23, в строке 268 обращение к элементу Move2RadioButton, которого не существует. Внимательно пересмотрите весь скрипт.
|
Цитата:
а как создать этот элемент Move2RadioButton? вроде везде добавил Move2 и Скрытый текст
NoneRadioButton:=TNewRadioButton.Create(WizardForm); NoneRadioButton.Parent:=BackupPage.Surface; NoneRadioButton.Checked:=True; NoneRadioButton.Top:=165; NoneRadioButton.Width:=BackupPage.SurfaceWidth; NoneRadioButton.Font.Style:=[fsBold]; NoneRadioButton.Font.Size:=9; NoneRadioButton.Caption:='Обновить существующие файлы' NoneDescLabel:=TLabel.Create(WizardForm); NoneDescLabel.Parent:=BackupPage.Surface; NoneDescLabel.Left:=18; NoneDescLabel.Top:=Move2RadioButton.Top + Move2RadioButton.Height + 4; NoneDescLabel.Width:=BackupPage.SurfaceWidth; NoneDescLabel.Height:=40; NoneDescLabel.AutoSize:=False; NoneDescLabel.Wordwrap:=True; NoneDescLabel.Caption:=Move2DescText; х.з что еще надо! плиз хелп |
Цитата:
Код:
[*Code] Цитата:
Код:
NoneDescLabel.Top:=Move2RadioButton.Top + Move2RadioButton.Height + 4; |
Цитата:
|
и последний вопрос:как переименовать и изменить путь установки unins000.dat и unins000.exe
|
Цитата:
Код:
[*Code] Код:
[Setup] |
:( рано обрадовался... была ошибка
прописал в [Files] Source: BeforeInstall: BackupCheck_4(); теперь вот такая ошибка... тут уже не пойму что делать!? сам бэкап
Цитата:
|
Цитата:
Скрытый текст
Код:
#define UninstallName "uninstall" |
|
svs23, kotyarko@fb, просто переименовать недостаточно. В этом случае запись в удалении программ будут вести в никуда. Dodakaedr предложил верный вариант. Где-то на форуме была еще пара примеров, но суть везде одна.
|
Цитата:
И с какой целью вы используете переменную CurrentFileName (которая определяет обрабатываемый в данный момент файл, при установке)? |
Цитата:
|
Цитата:
Код:
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Программа_is1','UninstallString', ExpandConstant('{app}\uninstall.exe')); |
Цитата:
сам код
Цитата:
так вот и пытаюсь его приспособить... ранее, когда он был у меня в коде только один без этих BackupCheck, работал без проблем, а теперь.... Цитата:
Цитата:
|
svs23, если хотите использовать BackupCheck_4() в таком виде в BeforeInstall, то тогда function замените на procedure. И читайте в справке о использовании внешних и встроенных функций.
Цитата:
|
Цитата:
|
Цитата:
всем ОГРОМНОЕ спс за помощь, все заработало так как я хочу... теперь еще unins домучаю и все, с меня хватит еще раз всем спс :) |
последняя, надеюсь, просьба :)
помогите увязать в одной функции два кода функция1
Цитата:
функция2
Цитата:
у меня не получается... |
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Dodakaedr,
спасибо! вопрос, наверное не по адресу, но все же спрошу, можно как-нибудь прописать чтобы после установки указанные ярлыки (определенный файлы txt и xml) открывались с помощью Notepad++ (это для тех кто не знает что такое "открыть с помощью", да и еще найти там Notepad++) сразу извиняюсь если не по адресу |
Цитата:
Код:
[Run] |
Всем привет, скажите пожалуйста, как можно убить нужный мне процесс перед началом установки, желательно уведомив о закрытии процесса?
Если можно, то скиньте оба варианта, заранее спасибо! P.S. У меня Unicode |
Цитата:
Dodakaedr, а как к View the README file и View file привязать Notepad++ (и я так понимаю он должен быть полноценно установлен в систему с записью в реестре?) |
Цитата:
Цитата:
Допустим ситуация
Я установил вашу игру и по умолчанию у меня для открытия текстовых файлов стоит SynWrite, но после установки вашей игры установится Notepad++ который мне и даром не нужен и собьются настройки по умолчанию, мне это сразу не понравится и врядли больше буду устанавливать ваши репаки. Цитата:
|
Цитата:
Код:
[Run] Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
так вот я его и установлю в DestDir: "{sd}\Notepad++\"; чтобы сделать вот так Код:
[Run] |
Цитата:
Цитата:
|
Цитата:
|
saurn, посмотрел предложенный код... я ни это имел ввиду, но спасибо....
у меня в коде прописано, что после установки на рабочем столе создается новая папка, в ней ярлыки на файлы настроек модов (чтобы не по папкам их искать, а все в одном месте), вот эти ярлыки (файлы) открывать notepad++ |
svs23
Скрытый текст
Тогда предложите пользователю установку notepad++, а он уже сам решит, нужен он ему или нет. Да и, на мой взгляд, совершенно не обязательно, чтобы файл открывался именно notepad++. Существует множество других редакторов. Я, например, пользуюсь, другой программой. Так что лучше будет устанавливать по выбору, чтобы потом уши не горели)).
|
Цитата:
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
просто есть люди для которых огромная проблема "Открыть с помощью" и найти там "подходящую" программу txt они еще откроют, т.к. в системе имеется текстовый редактор, которым не рекомендуют править файлы настроек модов, а вот что делать с xml для них уже проблема (проверено на личном опыте, ТАКИЕ люди есть)..... |
как добавить пустую строку в лог после окончания установки? чтобы видеть моменты между установками?
Скрытый текст
Код:
procedure ExtLog(); |
Цитата:
|
Цитата:
|
saurn, хм.. у меня 64-х разрядная среда, и процесс закрывается (по примеру Dodakaedr).
|
Dodakaedr, обнаружил проблему, когда нажимаю "Нет", то установка продолжается, и процесс не закрывается.
|
Цитата:
Это решение при нескольких функциях InitializeSetup, когда Result := False не решает. |
Доброе время суток. Есть один вопрос. Дело в том, что когда идет распаковка в {tmp} нету никакого диалогового окна т.е приложение запущено, а окна или хотя бы прогресбара нет особенно если еще большой объем файлов. как избавиться
|
Цитата:
Цитата:
Скрытый текст
Код:
function IsRunTask(): Boolean; |
Цитата:
|
Здравствуйте :) Может кто подскажет, как создать ярлык в формате exe, чтобы этот ярлык просто открывал страницу в браузере? Нужен ярлык именно в формате exe, чтобы его можно было при создании скрипта назначить главным исполняемым файлом exe.
Ну или наоборот. Если я создам обычный ярлык со ссылкой, как тогда отредактировать скрипт, чтобы установщик автоматически выводил этот ярлык на рабочий стол (т.е. приложение установилось и на рабочем столе появился мой ярлык со ссылкой)? Спасибо :) |
Цитата:
Скрытый текст
Код:
[Setup] |
Добрый день,а кто нибудь знает как написать так,чтобы файл активх скачивался с сервера,а то постоянно новый вкладывать в инсталлятор неудобно????
|
|
Цитата:
|
Цитата:
|
Цитата:
Скрытый текст
Код:
function InitializeSetup1(): Boolean; |
Dodakaedr, ругается на строку WizardForm.Free;
Код:
procedure DeinitializeSetup(); P.S. Вот ошибка |
Kashtan007, добавьте такое
Скрытый текст
Код:
[Code] |
Dodakaedr, Kashtan007, зачем плодить дубли InitializeSetup? Грамотней оформить действия отдельными блоками функций и последовательно проверять результат. Это, как минимум, упрощает читаемость и оптимизирует организацию структуры кода.
Скрытый текст
Код:
function MyFunc1(): Boolean; Цитата:
|
Цитата:
|
Цитата:
|
saurn, есть ли альтернативные способы, чтобы форма не рушилась?
P.S. Когда нажимаешь "Нет" либо "Да", все работает идеально. Но если закрываешь сам установщик, то сразу рушится скин. |
Цитата:
Цитата:
Код:
procedure DeinitializeSetup(); Цитата:
Скрытый текст
Код:
[Setup] |
парни,подскажите,как без прогрессбара сделать,так,чтобы файл ActiveX качался с сайта в определенную директорию и после этого регистрировался?про прогрессбар в шапке прочитал,не совсем понял.
|
Цитата:
|
Цитата:
|
Цитата:
|
saurn, есть ли варианты без использования IsTasks.dll?
|
помогите увязать
Код:
procedure CurStepChanged(CurStep: TSetupStep); Код:
begin |
svs23,
Код:
procedure CurStepChanged(CurStep: TSetupStep); |
Цитата:
Запущен ли процесс, Закрытие процесса Скрытый текст
Код:
[Setup] |
Код:
// save dialog |
icetanker, без диалога сохранить как?
http://forum.oszone.net/post-2149509-442.html |
Всем доброго дня!
Подскажите плиз, вот есть 2 типа установки (полный и выборочный) и компоненты, два из которых взаимоисключающие. Код:
[Types] |
Цитата:
Name: "srv\k7"; Description: {cm:srvk7}; Types: full custom; Flags: exclusive - почему 2 значения типа сразу? Либо full, либо custom Name: "srv\k6"; Description: {cm:srvk6}; Types: full custom; Flags: exclusive - почему 2 значения типа сразу? Либо full, либо custom Name: "client"; Description: {cm:client}; Types: full custom - почему 2 значения типа сразу? Либо full, либо custom |
Вложений: 1
nik1967, почему либо-либо? Это компоненты, которые относятся к обоим типам установки. Отличие полного от неполного в том, что при полном выбран _весь_ набор компонентов, а при выборочном какие-то компоненты не выбраны, при этом выбрать можно _любой_.
Теперь попытаюсь еще раз объяснить, в чем проблема. Есть один родительский компонент, у которого 2 дочерних exclusive компонента (грубо говоря 2 варианта реализации одного сервера, которые выбираются в зависимости от условий). Когда мы выбираем все компоненты, включая этот сервер, тип установки доложен быть полным (собственно при отсутствии exclusive так и происходит). Но в данном случае по факту получаем, что при выборе сервера 1го варианта тип не полный, а выборочный (при выборе второго варианта exclusive тип полный). Вопрос в том, как сделать так, чтобы при выборе любого варианта сервера вместе с остальными компонентами, тип установки становился полным. |
Цитата:
Скрытый текст
Код:
[Setup] |
Как в установщике убрать Noscroll нету прокрутки мышкай.
|
Цитата:
Если же речь идет о отсутствии скрола при использовании скина, то решение уже давалось: http://forum.oszone.net/post-2308009-2259.html |
saurn, а куда это вставить
|
Народ подскажите как сделать прозрачными такие формы как TEdit например?
|
Цитата:
Пример
Код:
[Setup] Цитата:
|
Вложений: 1
Dodakaedr, Не поможешь вставить нужное из этого примера в мой скрипт,а то у меня чет не получается!
|
Цитата:
|
Подскажите пожалуйста. Есть пример
Код:
// Ask the user a Yes/No question, defaulting to No |
petrmissial@fb,
MB_DEFBUTTON2, где цифра указывает на номер кнопки. Кнопка номер 1 - YES, кнопка номер 2 - NO. Следовательно, чтобы сделать кнопку YES дефолтной, надо указать ее номер, тоесть 1. Или вобще убрать MB_DEFBUTTON, по умолчанию будет активна первая кнопка. Код:
MsgBox( 'Are you sure?', mbConfirmation, MB_YESNO + MB_DEFBUTTON1 ) |
код
Код:
#define A = (Defined UNICODE) ? "W" : "A" подскажите,пытался сделать загрузку файла без сохранить как,сделать все как указано #442,но почему то не работает?что не так?где нужно указать саму директорию сохранения тоже не совсем понятно??? |
Цитата:
Код:
[*Code] Код:
|
а как сделать,чтобы сначала выполнялся блок CODE,когда скачивается файл,а потом Source: "1.ocx"; DestDir:"{sys}"; Flags:ignoreversion regserver
|
Цитата:
Можно сделать функцию, которая будет возвращать определённый результат, в зависимости от чего-то: Код:
[Files] |
я правильно понял,у нас идет выполнение блоков,как они идут по коду общему?если я меняю блоки местами у меня этот блок так и пойдет?
|
Вложений: 1
Цитата:
Всё приведено на прикреплённом скрине. Секция кода всегда последняя, а сетапа - первая. |
а есть ли возможность вывести статус с регистрации ActiveX?
в Source в мануале про это не пишется,а хотелось бы понять регистрирует или нет? |
Здравствуйте. Подскажите пожалуйста как изменить размер окна инсталлятора и как подогнать кнопки
|
Цитата:
Код:
[*Code] |
Юрій_Окропірідзе@vk, kotyarko@fb, добавлю, координаты правильней указывать так:
Код:
Left := ScaleX( ... ); |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Для наглядности: Скрытый текст
Код:
[Setup] Запустите такой инстал при стандартном размере текста и, на первый взгляд, все будет нормально. А теперь измените размер шрифта в системе, скажем на средний. Так что, хозяин-барин, но пользователям это врятли понравится. |
Короче как сделать инстал так как справа , примерных размеров https://yadi.sk/i/G9y08jdjdRhpL
|
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
|
Цитата:
Следует учитывать, что хотя бы у одного из тысячи ваших пользователей может быть установлен другой размер шрифта(колличество точек на дюйм) |
Цитата:
|
Цитата:
Чтобы избежать этих проблем, координаты контролов необходимо указывать согласно размеру клиента, что и происходит при использовании функций ScaleX( ... ), ScaleY( ... ). Лирическое отступление
Понятно, что проще и быстрее написать проверку на предмет нестандартного размера шрифта, чем перелопативать половину скрипта, но каков смысл этого предупреждения? Увидел пользователь сообщение, что у него в системе включено масштабирование, и начинаются лишние телодвижения(пойди, измени размер шрифта, если вообще знаешь где, выйди из системы, чтобы применить изменения)... Большинству это не понравится. По опыту знаю, многие даже не снимают гирьку с кнопочки Далее, не говоря уж о изменениях настроек системы. Лучше и правильней потратить больше времени на написание скрипта, чтобы результат устраивал автора и не вызывал головной боли у пользователя. Но это мое мнение. А там, конечно, кому как.
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Скрытый текст
Код:
[Setup] |
Всем привет.
Как на странице TasksPage изменить текст на кнопке, вместо "Далее" написать "Установить". Заранее спасибо за ответ! |
Цитата:
Код:
procedure CurPageChanged( CurPageID: Integer ); |
Всем приветик :) Возник небольшой вопрос. Нужно сделать такой установщик, который бы автоматически устанавливал некоторые файлы игры по пути C:\Users\%Username%\AppData\Local\Temp\Client. Где и что в скрипте написать, какой код?
То есть например, когда мне нужно было, чтоб установка происходила в ProgramData, подсказали такой код: [Files] Source: "C:\ProgramData\Firefly Studios\*"; DestDir: "{commonappdata}\Firefly Studios"; Flags: ignoreversion recursesubdirs createallsubdirs Может тут тоже все просто и нужно просто что то другое написать вместо {commonappdata}? Подскажите пожалуйста. Спасибо :yes: |
Irenis,
Папка Local {localappdata} Папка Temp служит для хранения временных файлов. Настройки и компоненты там не хранят. |
Цитата:
|
При нажатии на компонент воспроизводится звук, делал по этому примеру Скачать
Есть проблема, что когда ты выбираешь компонент, к которому прикручен звук, то после этого звук воспроизводится на всех компонентах. На сколько я понимаю, то когда мы выбираем компонент со звуком, то все остальные компоненты унаследуют от него звук, как сделать так, чтобы звук не воспроизводился на других компонентах. Заранее спасибо за помощь! |
Цитата:
|
Dodakaedr, сорри, немного не то кинул.
Вот держите Тык Выберите компонент со звуком, а потом нажмите на компонент "Пример". |
Kashtan007, "Тык" - страница с ошибкой.
|
Dodakaedr, исправил.
|
Kashtan007, http://forum.oszone.net/post-2438406-2071.html
|
saurn, благодарю.
|
При использовании скина не работает прокрутка мышкой, так как в установщике много компонентов, то прокручивать скроллбаром неудобно.
Как можно вернуть прокрутку мышкой? Заранее спасибо! |
Цитата:
|
kotyarko@fb, пробовал этот вариант, не работает.
|
|
Здравствуйте!
Подскажите пожалуйста как можно менять размер и положение кнопок. Пробовала скачать ISFD, но он у меня не работает (Windows 7). |
Okta_333, В свойствах кнопок задаете нужные вам параметры. В вашем случае вам нужен SetBounds
Скрытый текст
Код:
[setup] Цитата:
|
Цитата:
Ссылки имеются здесь на форуме в публичном доступе. Достаточно перейти в соседнюю тему. Ссылка на соседнюю тему предоставлена в первом сообщении данной темы. Ссылка на соседнюю тему: Inno Setup. Прочие вопросы Полное местонахождение темы: Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Inno Setup. Прочие вопросы. В теме Inno Setup. Прочие вопросы, перейдите к первому сообщению . Левым щелчком мыши, нажмите на "Показать/скрыть: Различные сборки, русификаторы и полезные ссылки" После нажатия на "Показать/скрыть: Различные сборки, русификаторы и полезные ссылки", отобразится содержание где первым будет видно: Цитата:
|
Всем привет, Есть вариан зачеркнутый компонент уже с поставленной галочкой?
|
Цитата:
Скрытый текст
Код:
[Setup] |
saurn, Тут их можно снять мне нужно чтобы их нельзя было снимать вот код на зачеркнутый но без галочки Types: custom; Flags: fixed
|
Цитата:
Скрытый текст
Код:
[Setup] |
можно ли распаковать .exe,который уже был скомпилирован и посмотреть содержимое и как это сделать?
|
icetanker,
Для распаковки инсталляторов созданных с помощью Inno Setup существую специальные программы. Например, InnoExtractor,UniExtractor,Inno Setup Unpacker. Одно но, при использовании расширенной версии от Restool, распаковать exe-шник не получиться. |
При использовании скина не работает прокрутка мышкой, так как в установщике много компонентов, то прокручивать скроллбаром неудобно.
Как можно вернуть прокрутку мышкой? Заранее спасибо! sergey3695, я не разобрался в том, что вы мне скинули ( |
Здравствуйте. Вот столкнулся с одной проблемой , решил сделать лого через батву , и вот что получилось , пробылав на остальних репаках та же проблема. Помогите . Пожалуйста https://yadi.sk/i/5fQ_5ScNdas6X
|
Юрій_Окропірідзе@vk, чтобы вам могли помочь, заливайте, пожалуйста скрипт с минимальным набором файлов, необходимых для компиляции и работы инстала, на какой-нибудь бесплатный обменник и прикрепляйте ссылку к сообщению.
|
http://rghost.ru/59951236 Здесь чистый скрипт и на основе NFS
|
Юрій_Окропірідзе@vk, http://rghost.ru/59951768
|
Извините за столь глупый вопрос , но как вы это сделали? Просто я этот скрипт буду не здесь использовать , и очень интересно как вы ето сделали
|
Юрій_Окропірідзе@vk, вы пошли по верному пути, но в оконцовке напутали с порядком применения процедур, переписав вызваную ранее другой, из-за этого был глюк с фоном, плюс совершенно ненужный дубль InitializeWizard2. Все что я изменил выделено в блоки линиями слешев (////////////////////////////)
Это: Скрытый текст
Код:
MyLogo:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\logo.png'), ScaleX(20), ScaleY(480), ScaleX(300), ScaleY(100), False, False); - строка 326 |
Цитата:
В чем там разбираться? :dont-know |
Цитата:
|
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
|
Подскажите возможно ли в инсталяторах Inno Setup (использую стандартную Ansi) на странице распаковки архивов вывести подробный список установки как в инсталяторах NSIS ?
|
ROMKA-1977,
Пример
Код:
[Setup] |
[code]
var DetailsButton: TNewButton; FilesMemo: TNewMemo; Flag: Boolean; procedure AddToMemo(); var AFile: String; begin AFile:=ExpandConstant(CurrentFilename); If ExtractFileExt(AFile)='' then FilesMemo.Lines.Add('Копирование: '+RemoveBackslash(AFile)) else FilesMemo.Lines.Add('Извлечение: '+AFile); end; procedure HideShow(Sender: TObject); begin If not Flag then begin FilesMemo.Hide; DetailsButton.Caption:='Детали'; Flag:=True; end else begin FilesMemo.Show; DetailsButton.Caption:='Скрыть'; Flag:=False; end; end; procedure InitializeWizard12(); begin WizardForm.ProgressGauge.Top:=ScaleY(34); FilesMemo:=TNewMemo.Create(WizardForm); with FilesMemo do begin SetBounds(ScaleX(50), ScaleY(80), ScaleX(630), ScaleY(321)); Parent:=WizardForm.InstallingPage; WordWrap:=True; ScrollBars:=ssVertical; ReadOnly:=True; Visible:=false; Clear; end; DetailsButton:=TNewButton.Create(WizardForm); with DetailsButton do begin Parent:=WizardForm.InstallingPage; Left := ScaleX(605); Top := ScaleY(35); Width := ScaleX(75); Height := ScaleY(30); Font.Size:=9; Font.Style:= [fsItalic]; Caption:='Детали'; OnClick:=@HideShow end; Flag:=True; end; |
Dodakaedr, ekspoint, код работает при упаковке средствами Inno Setup, а возможен ли вариант если упаковка в архивы (в моём случае архивы FreeArc + ISDone) ?
|
Подскажите пожалуйста, как сделать, чтобы приложение по умолчанию устанавливалось на диск C в Program Files.
Например, в этом случае, я так понимаю, установка будет происходить туда, куда укажет пользователь: [Files] Source: "D:\Games\Launcher\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Что поменять, чтоб установилось в Program Files по умолчанию? Может вместо "{app}" что то поменять? Или как? Подскажите пожалуйста :yes: |
Irenis, Параметр DefaultDirName в секции Setup определяет каталог установки по умолчанию. Константа {pf} = ProgramFiles и ProgramFiles(x86) на 64-х разрядных системах.
Скрытый текст
Код:
[Setup] |
Цитата:
Скрытый текст
Код:
[Setup] |
Спасибо :) Тут еще вот в чем дело. Игра состоит из лаунчера (который собственно и нужно было установить в Program Files), и из файлов самой игры. Так вот файлы эти должны устанавливаться в папку, которую укажет пользователь. В общем то разделить это все получилось и все устанавливается, куда надо. Единственное, что не так получается. На рабочем столе должен создаться ярлык, который запускает лаунчер, находящийся на диске С. Ярлык то создается, но находится файлик .exe не на диске С, а в папке с файлами игры и рабочая папка соответственно тоже та, в которую устанавливаются файлы игры. И ярлыком естественно ничего не запускается, так как он должен находиться на С. Вернее на диске С тоже есть этот .exe, но ярлык создается не из него. В общем ладно, сама уже запуталась, не знаю, как объяснить правильно :)
Решила в итоге не мудрить дальше, а поместить файлы игры и лаунчера в одну папку. Но вот думаю, будет ли это работать на виндовс 8. Просто это сам разработчик игры пишет, что лаунчер лучше устанавливать на диск С (особенно на виндовс 8). У меня виндовс 7, я этот лаунчер уже куда только не перемещала, все работает. А восьмерка никогда не стояла, вот и не знаю, отличаются ли они чем то существенно или нет. Но почему то кажется, если на семерке все работает, то и восьмерке должно работать? |
Irenis
Скрытый текст
Код:
[Setup] Цитата:
|
Подскажите пожалуйста может кто сталкивался, что при использовании UninsHs (анинсталлер с возможностью модифицирования, а не просто удаления), когда количество компонентов много, то запоминание выбранных не происходит, если выбрать несколько компонентов, то всё ОК. Может кто сталкивался и вылечил либо вооще альтернативный вариант знает?
|
Цитата:
Цитата:
Цитата:
Пример 1
Код:
[Setup] Пример 2
Код:
[Setup] |
Здравствуйте. Как мне сделать такую же кнопку(info) в своем инсталляторе https://yadi.sk/i/sJ_2-at3divCk
|
Цитата:
Скрытый текст
Код:
[Setup] |
https://yadi.sk/i/vtpmpXtLdj2qU , тут вот какая то ошибка
|
Вложений: 3
http://forum.oszone.net/attachment.p...1&d=1420026870
http://forum.oszone.net/attachment.p...1&d=1420026870 http://forum.oszone.net/attachment.p...1&d=1420026870 И еще , как в инстале изобразить такое ? |
Цитата:
|
saurn, извините а вы знаете как изобразить так в инсталляторе как я написал выше ?
|
Цитата:
|
Вложений: 1
Юрій_Окропірідзе@vk,
Цитата:
|
Спасибо. Ах да , ребята , всех с Новым Годом :-))
|
Доброе время суток. Проблема в том, что после запуска инсталлятора для распаковки в {tmp} большого объема (8 гб), то инсталлятор долго грузится. можно ли как нибудь это исправить?
|
Цитата:
|
Цитата:
|
Цитата:
|
Dodakaedr, и как организовать?
|
habib2302, интересно как должны отвечать тебе без скрипта. 8 гб - что же там?
|
sergey3695, то я запаковываю Adobe Master Collection для лучшего сжатия в запакованном он весит 7.62 а без запаковки 11.5
Скрытый текст
Код:
; Скрипт создан через Мастер Inno Setup Script. |
habib2302, бедный установщик распаковывает всю папку {app}, чтобы добраться до WinTB.dll, используемого в секции кода.
Нужно переместить файл в начало архива + разделить его от solid-части: Код:
[Files] |
Здравствуйте, всех с Новым Годом! Здоровья, счастья и удачи.
__________________________ Столкнулся со следующей проблемой. Делаю для себя набор программ - мелкие утилиты, ридеры, и прочее - в общем целая куча полезного разнообразия (чтобы при переустановке системы не тратить часы на поиск, установку и настройку). Часть программ 32-битные, другие 64/32-битные поэтому инсталлятор у меня работает в 32-битном режиме (как в Инно по умолчанию). Проблема собственно заключается в том, что при установке на Windows 64 Inno setup отправляет записи в реестре в подпапку Wow6432Node и в связи с этим 64-битные программы работают некорректно. Вот на примере программы Unlocker: Строка реестра, отвечающая за язык программы (в моем случае русский): [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Unlocker] "Language"="1049" (вот такая причуда разработчиков, что файл конфигурации языка считывается из информации для удаления) но речь в общем то не об этом. В Инно я пишу такую строку: Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Unlocker; ValueType: string; ValueName: Language; ValueData: 1049; Flags: uninsdeletevalue uninsdeletekey На выходе (в смысле в реестре ОС после инсталляции) имею: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Unlocker] "Language"="1049" В итоге Unlocker на английском языке (64-битный Unlocker) Можно ли как нибудь заставить Inno не добавлять Wow6432Node в эту запись в реестре? |
palsn2000, писать в HKLM64. В справке: Секция [Registry]
|
saurn, Большое спасибо, а я всю голову изломал и в справку заглядывал, только вот рылся в поисках какого-нибудь параметра Flags или Check, а вопрос оказывается ещё проще решался.
|
Здраствуйте. Как сделать свою кнопку"Информация "(скрин1) с от таким окном(скрин2) из своей текстурой , но не через bmp ?
Скрин 1- https://yadi.sk/i/3y1tLu3zdp8dZ скрин 2- https://yadi.sk/i/oBbSaT9sdp8ec |
Помогите пожалуйста разобраться. Когда в свой скрипт добавляю музыку, он прекрасно компилируется, но при запуске EXE, выдаёт вот такую ошибку:
Runtime Error (at 81:1179): Access violation at address B0000001. Write of address B0000001. Runtime Error (at 277:21): Could not call proc. Скрытый текст
#define GameName "My Programm" #define PathGameName "My Programm" #define GameEXE "MP.exe" #define GameVersion "1.0" #define InstallVersion "1.0" #define RePacker "CaT" #define NeedSize "7343" #define NeedInstallSize "7353" #define NeedMem "512" ;#define Components #define Tasks #define Music ;#define Splash #define Russophobia ;#define records ;#define PrecompInside ;#define SrepInside ;#define facompress ;#define precomp "0.38" ;#define unrar /* ;#define XDelta /* ;#define PackZIP /* [Setup] AppName={#GameName} AppPublisher=RePack by {#RePacker} AppVerName={#GameName} AppCopyright=© RePack by {#RePacker} DefaultDirName={pf}\{#PathGameName} DefaultGroupName={#PathGameName} VersionInfoDescription=Installer - {#GameName} VersionInfoTextVersion={#GameVersion} VersionInfoVersion={#InstallVersion} InternalCompressLevel=ultra64 SolidCompression=true SetupIconFile="InstallFiles/MP.ico" ShowTasksTreeLines=Yes Compression=lzma/ultra64 OutputBaseFilename=MP UninstallDisplayIcon={app}\{#GameEXE} UninstallFilesDir={app}\Uninstall ;VersionInfoVersion=1.0 ;VersionInfoCompany= [Files] Source: InstallFiles\*; DestDir: {tmp}; Flags: dontcopy Source: dllFiles\*; DestDir: {tmp}; Flags: dontcopy #ifdef Music Source: Music\*; DestDir: {tmp}; Flags: dontcopy #endif #ifdef Splash Source: Splash\*; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression #endif Source: Include\russian.ini; DestDir: {tmp}; Flags: dontcopy Source: Include\unarc.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\ISDone.dll; DestDir: {tmp}; Flags: dontcopy #ifdef records Source: Include\records.inf; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PrecompInside Source: Include\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef SrepInside Source: Include\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef facompress Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef precomp #if precomp == "0.38" Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.4" Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.41" Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy #else Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy #endif #endif #endif #endif #ifdef unrar Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef XDelta Source: Include\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PackZIP Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy Source: Include\packZIP.exe; DestDir: {tmp}; Flags: dontcopy #endif [Registry] #ifdef Components [Types] Name: full; Description: Ïîëíàÿ óñòàíîâêà; Flags: iscustom [Components] Name: InterfaceLanguage; Description: ßçûê Èíòåðôåéñà:; Flags: fixed; Types: Full; Name: InterfaceLanguage\Russian; Description: Ðóññêèé; Flags: exclusive; ExtraDiskSpaceRequired: 100000000 Name: InterfaceLanguage\English; Description: Àíãëèéñêèé; Flags: exclusive; ExtraDiskSpaceRequired: 200000000 Name: SoundLanguage; Description: ßçûê Îçâó÷êè:; Flags: fixed; Types: Full; Name: SoundLanguage\Russian; Description: Ðóññêèé; Flags: exclusive; ExtraDiskSpaceRequired: 500000000 Name: SoundLanguage\English; Description: Àíãëèéñêèé; Flags: exclusive; ExtraDiskSpaceRequired: 600000000 #endif #ifdef Tasks [Tasks] Name: Icons; Description: {cm:Icons}; Flags: unchecked; Name: Icons\DesktopIcon; Description: {cm:CreateDesktopIcon}; #ifdef GameEXE2 Name: Icons\DesktopIcon2; Description: {cm:CreateDesktopIcon2}; #endif Name: Icons\QuickLaunchIcon; Description: {cm:CreateQuickLaunchIcon}; Name: Soft; Description: {cm:Soft}; Name: Soft\DirectX; Description: DirectX.; Name: Soft\VCCheck; Description: Microsoft Visual C++ 2010.; Flags: Name: Soft\PhysXCheck; Description: NVIDIA PhysX #endif [Run] Filename: {src}\Soft\DirectX\DXSETUP.exe; WorkingDir: {src}\Soft\DirectX\; Flags: waituntilterminated; Tasks: Soft\DirectX; StatusMsg: Óñòàíîâêà DirectX...; Check: CheckError Filename: {src}\Soft\Redist\vcredist_x86.exe; StatusMsg: Óñòàíàâëèâàåì Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and not IsWin64; Filename: {src}\Soft\Redist\vcredist_x64.exe; StatusMsg: Óñòàíàâëèâàåì Microsoft Visual C++ 2010 Redist...; Flags: skipifdoesntexist; Tasks: Soft\VCCheck; Components: ; Check: CheckError and IsWin64 Filename: {src}\Soft\PhysX\PhysX-9.12.1031-SystemSoftware.exe; Parameters: /qn; StatusMsg: Óñòàíàâëèâàåì NVIDIA PhysX...; Flags: skipifdoesntexist; Tasks: Soft\PhysXCheck; Check: CheckError [UninstallDelete] Type: filesandordirs; Name: {app} [code] #ifdef Splash procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload'; #endif #include "Modules\Messages.iss" #include "Modules\botva2.iss" #include "Modules\BASS_Module.iss" #include "Modules\PB.iss" #include "Modules\botva2u.iss" #include "Modules\Header.iss" #include "Modules\ISDone.iss" procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall'; procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall'; #ifdef Russophobia const A1='À'; Z1='ß'; A2='à'; Z2='ÿ'; X1='¸'; X2='¨'; function NextButtonClick(CurPageID: Integer): Boolean; var i: integer; c: char; begin Result := True; if CurPageID = wpSelectDir then begin for i:=1 to length(WizardForm.DirEdit.text) do begin c:=WizardForm.DirEdit.text[i]; if (c>=A1)and(c<=Z1) or (c>=A2)and(c<=Z2) or (c=X1) or (c=X2) then begin MsgBox( ' ïóòè óñòàíîâêè ïðèñóòñòâóþò ðóññêèå áóêâû, ÷òî íåäîïóñòèìî'#13#13'Ïîæàëóéñòà, ïîâòîðèòå ââîä.', mbError, mb_Ok); Result := False ; exit; end; end; end; end; #endif ////////////////////////////////////////////////////////////Òåêñòóðà êíîïîê\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ procedure SetStateNewButtons; begin with WizardForm.BackButton do begin BtnSetText(hBackBtn,PAnsiChar(Caption)); BtnSetVisibility(hBackBtn,Visible); BtnSetEnabled(hBackBtn,Enabled); end; with WizardForm.NextButton do begin BtnSetText(hNextBtn,PAnsiChar(Caption)); BtnSetVisibility(hNextBtn,Visible); BtnSetEnabled(hNextBtn,Enabled); end; with WizardForm.CancelButton do begin BtnSetText(hCancelBtn,PAnsiChar(Caption)); BtnSetVisibility(hCancelBtn,Visible); BtnSetEnabled(hCancelBtn,Enabled); end; BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption)); BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption)); end; procedure WizardFormBtnClick(hBtn:HWND); var Btn:TButton; begin case hBtn of hCancelBtn: Btn:=WizardForm.CancelButton; hNextBtn: Btn:=WizardForm.NextButton; hBackBtn: Btn:=WizardForm.BackButton; hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton; hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton; end; Btn.OnClick(Btn); SetStateNewButtons; BtnRefresh(hBtn); end; procedure WFBtnEnter(hBtn:HWND); begin end; procedure ButtonsTextures; begin with WizardForm.BackButton do begin hBackBtn:=BtnCreate(WizardForm.Handle,447,364,80,24,ExpandConstant('Btn.png'),0,False); BtnSetEvent(hBackBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hBackBtn,WFButtonFont.Handle); BtnSetFontColor(hBackBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hBackBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.NextButton do begin hNextBtn:=BtnCreate(WizardForm.Handle,530,364,80,24,ExpandConstant('Btn.png'),1,False); BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hNextBtn,WFButtonFont.Handle); BtnSetFontColor(hNextBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hNextBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.CancelButton do begin hCancelBtn:=BtnCreate(WizardForm.Handle,613,364,80,24,ExpandConstant('Btn.png'),1,False); BtnSetEvent(hCancelBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hCancelBtn,WFButtonFont.Handle); BtnSetFontColor(hCancelBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hCancelBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.Handle,530,269,73,24,ExpandConstant('browse.png'),1,False); BtnSetEvent(hDirBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hDirBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hDirBrowseBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.GroupBrowseButton do begin hGroupBrowseBtn:=BtnCreate(WizardForm.Handle,530,269,73,24,ExpandConstant('browse.png'),1,False); BtnSetEvent(hGroupBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hGroupBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hGroupBrowseBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; end; /////////////////////////////////////////////////êîíåö\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ////////////////////////////////////////////////Âñòàâêà èçîáðàæåíèé\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ procedure CreateWizardForm; var n: Integer; begin with WizardForm do begin InnerNotebook.Hide; OuterNotebook.Hide; Bevel.Hide; ClientWidth:=ScaleX(700); ClientHeight:=ScaleY(394); DirEdit.OnChange:=@ObjectFunc; GroupEdit.OnChange:= @ObjectFunc OnMouseDown:=@LabelOnMouseDown; BorderIcons := []; Center; end; WFButtonFont:=TFont.Create; with WFButtonFont do begin Style:=[fsBold]; Size:=10; Name:='Tahoma'; end; BGImageStream := TMemoryStream.Create; ExtractTemporaryFileToStream('BMPImage.bmp', BGImageStream); BGImageStream.Position := 0; BTNImageStream := TMemoryStream.Create; ExtractTemporaryFileToStream('btnimage.bmp', BTNImageStream); BTNImageStream.Position := 0; BGImage := TBitmapImage.Create(WizardForm); BGImage.Bitmap.LoadFromStream(BGImageStream); BTNImage := TBitmapImage.Create(WizardForm); BTNImage.Bitmap.LoadFromStream(BTNImageStream); ImgLoad(WizardForm.Handle,ExpandConstant('MainImage.png'),0,0,0,0,False,True); //////////////////////////////////////////---\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ /////////////////////////////////////////////////// ñò. Ãëàâíàÿ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ WelcomeLabel1:= CreateLabel(WizardForm, ScaleX(0), ScaleY(245), ScaleX(700), ScaleY(80), ExpandConstant('{cm:WelcomeLabel1}'), False); LabelSetFont(WelcomeLabel1, 10, 'Tahoma', $FFFFFF, [fsBold]); WelcomeLabel1.Alignment := taCenter; WelcomeLabel2:= CreateLabel(WizardForm, ScaleX(0), ScaleY(275), ScaleX(700), ScaleY(150), ExpandConstant('{cm:WelcomeLabel2}'), False); LabelSetFont(WelcomeLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]); WelcomeLabel2.Alignment := taCenter; //////////////////////////////////////////////////ñò.Âûáîð Äèðèêòîðèè\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ DirFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('DirFolder.png'),ScaleX(106),ScaleY(210),ScaleX( 60),ScaleY(59),True,True); DirEditImg:=ImgLoad(WizardForm.Handle,ExpandConstant('DirEditImg.png'),ScaleX(105),ScaleY(270),Scale X(420),ScaleY(22),True,True); HDD:=ImgLoad(WizardForm.Handle,ExpandConstant('HDD.png'),ScaleX(105),ScaleY(297),ScaleX(57),ScaleY(5 7),True,True); SelectDirLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(219), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirLabel}'), true); LabelSetFont(SelectDirLabel, 9, 'Tahoma', $FFFFFF, [fsBold]); SelectDirBrowseLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(238), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirBrowseLabel}'), true); LabelSetFont(SelectDirBrowseLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); SelectDirBrowseLabel.Alignment := taLeftJustify; DirEditLabel:= CreateLabel(WizardForm, ScaleX(110), ScaleY(272), ScaleX(450), ScaleY(20), '', false); LabelSetFont(DirEditLabel, 10, 'Tahoma', $FFFFFF, [fsBold]); DirEditLabel.Caption := MinimizePathName(WizardForm.DirEdit.Text, DirEditLabel.Font, DirEditLabel.Width); TotalSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(295), ScaleX(0), ScaleY(0), ExpandConstant('{cm:TotalSpaceLabel}'), true); LabelSetFont(TotalSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); FreeSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(310), ScaleX(0), ScaleY(0), ExpandConstant('{cm:FreeSpaceLabel}'), true); LabelSetFont(FreeSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); InstallSpacelabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(325), ScaleX(0), ScaleY(0), ExpandConstant('{cm:InstallSpacelabel}'), true); LabelSetFont(InstallSpacelabel, 8, 'Tahoma', $FFFFFF, [fsBold]); NeedSpaceLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(340), ScaleX(0), ScaleY(0), ExpandConstant('{cm:NeedSpaceLabel}'), true); LabelSetFont(NeedSpaceLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); TotalSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(295), ScaleX(0), ScaleY(0), '', true); LabelSetFont(TotalSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]); TotalSpaceLabel2.Alignment := taRightJustify; FreeSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(310), ScaleX(0), ScaleY(0), '', true); LabelSetFont(FreeSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]); FreeSpaceLabel2.Alignment := taRightJustify; InstallSpacelabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(325), ScaleX(0), ScaleY(0), '', true); LabelSetFont(InstallSpacelabel2, 8, 'Tahoma', $FFFFFF, [fsBold]); InstallSpacelabel2.Alignment := taRightJustify; NeedSpaceLabel2:= CreateLabel(WizardForm, ScaleX(520), ScaleY(340), ScaleX(0), ScaleY(0), '', true); LabelSetFont(NeedSpaceLabel2, 8, 'Tahoma', $FFFFFF, [fsBold]); NeedSpaceLabel2.Alignment := taRightJustify; #ifdef Components //////////////////////////////////////////ñò.Êîìïîíåíòîâ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ SelectComponentsLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectComponentsLabel}'), true); LabelSetFont(SelectComponentsLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); SelectComponentsLabel.Alignment := taLeftJustify; with WizardForm.ComponentsList do begin Parent:= WizardForm; SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148)); Color:=$000000; Font.Name:='Tahoma'; Font.Size:= 8; Font.Color:=$FFFFFF; for n:=0 to ItemCount-1 do begin ItemFontStyle[n]:= [fsBold]; SubItemFontStyle[n]:= [fsBold]; end; BorderWidth := (WizardForm.ComponentsList.Width-WizardForm.ComponentsList.ClientWidth) div 2; LoadBGBmpFromBitmap(BGImage.Bitmap, WizardForm.ComponentsList.Left+BorderWidth, WizardForm.ComponentsList.Top+BorderWidth); LoadBtnBmpFromBitmap(btnimage.Bitmap); end; #endif /////////////////////////////////////////////////ñò.Âûáîð Ãðóïïû\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ GroupFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('GroupFolder.png'),ScaleX(106),ScaleY(210),Sca leX(60),ScaleY(59),True,True); SelectStartMenuFolderLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(219), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectStartMenuFolderLabel}'), true); LabelSetFont(SelectStartMenuFolderLabel, 9, 'Tahoma', $FFFFFF, [fsBold]); SelectStartMenuFolderLabel.Alignment := taLeftJustify; SelectStartMenuFolderBrowseLabel:= CreateLabel(WizardForm, ScaleX(175), ScaleY(238), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectDirBrowseLabel}'), true); LabelSetFont(SelectStartMenuFolderBrowseLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); SelectStartMenuFolderBrowseLabel.Alignment := taLeftJustify; GroupEditLabel:= CreateLabel(WizardForm, ScaleX(110), ScaleY(272), ScaleX(450), ScaleY(20), WizardForm.GroupEdit.Text, false); LabelSetFont(GroupEditLabel, 10, 'Tahoma', $FFFFFF, [fsBold]); NoIconsCheck:=BtnCreate(WizardForm.Handle,ScaleX(110),ScaleY(305),ScaleX(13),ScaleY(13),ExpandConsta nt('CheckBox.png'),1,True); BtnSetEvent(NoIconsCheck,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1)); BtnSetCursor(NoIconsCheck,GetSysCursorHandle(32649)); NoIconsLabel:= CreateLabel(WizardForm, ScaleX(126), ScaleY(305), ScaleX(0), ScaleY(0), ExpandConstant('{cm:NoIconsCheck}'), true); LabelSetFont(NoIconsLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); with NoIconsLabel do begin Cursor := crHand; OnClick:= @ObjectFunc; end; /////////////////////////////////////////////ñò.Çàäà÷ü\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ #ifdef Tasks SelectTasksLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:SelectTasksLabel}'), true); LabelSetFont(SelectTasksLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); SelectTasksLabel.Alignment := taLeftJustify; with WizardForm.TasksList do begin Parent:= WizardForm; SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148)); Color:=$000000; Font.Name:='Tahoma'; Font.Size:= 8; Font.Color:=$FFFFFF; BorderStyle := bsSingle; //TreeViewStyle := True; BorderWidth := (WizardForm.TasksList.Width-WizardForm.TasksList.ClientWidth) div 2; LoadBGBmpFromBitmap(BGImage.Bitmap, WizardForm.TasksList.Left+BorderWidth, WizardForm.TasksList.Top+BorderWidth); LoadBtnBmpFromBitmap(btnimage.Bitmap); end; #endif /////////////////////////////////////////////////ñò.Èòîãî\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ BGImageStream.position:=0; ReadyLabel:= CreateLabel(WizardForm, ScaleX(345), ScaleY(208), ScaleX(0), ScaleY(0), ExpandConstant('{cm:ReadyLabel}'), true); LabelSetFont(ReadyLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); ReadyLabel.Alignment := taLeftJustify; ReadyPanel := TPanel.Create(WizardForm); with ReadyPanel do begin Parent := WizardForm; SetBounds(ScaleX(5), ScaleY(208), ScaleX(335), ScaleY(148)); BorderStyle := bsSingle; end; ReadyBitmap := TBitmapImage.Create(WizardForm); with ReadyBitmap do begin Parent := ReadyPanel; SetBounds(ScaleX(-7), ScaleY(-210), ScaleX(700), ScaleY(394)); Bitmap.LoadFromStream(BGImageStream); end; ReadyScrollBar := TScrollBar.Create(WizardForm); with ReadyScrollBar do begin Parent := ReadyPanel; SetBounds(ScaleX(315), ScaleY(0), ScaleX(144), ScaleY(16)); Kind := sbVertical; OnScroll:=@ScrollText3Scroll; end; ReadyPanelLabel := TLabel.Create(WizardForm); with ReadyPanelLabel do begin Parent := ReadyPanel; WordWrap := true; Transparent:=true; Font.Name:='Tahoma'; Font.Size:= 8; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; SetBounds(ScaleX(5), ScaleY(5), ScaleX(325), ScaleY(130)); Caption := WizardForm.ReadyMemo.Lines.Text; end; ////////////////////////////////////////////ñò.Óñòàíîâêà\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ IsDoneAddComponents InstallingLabel:= CreateLabel(WizardForm, ScaleX(105), ScaleY(220), ScaleX(0), ScaleY(0), ExpandConstant('{cm:InstallingLabel}'), true); LabelSetFont(InstallingLabel, 9, 'Tahoma', $FFFFFF, [fsBold]); StatusLabel:= CreateLabel(WizardForm, ScaleX(105), ScaleY(240), ScaleX(0), ScaleY(0), ExpandConstant('{cm:Extracted}'), true); LabelSetFont(StatusLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); /////////////////////////////////////////////ñò.Êîíåö\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ FinishedHeadingLabel:= CreateLabel(WizardForm, ScaleX(0), ScaleY(245), ScaleX(700), ScaleY(80), ExpandConstant('{cm:FinishedHeadingLabel}'), false); LabelSetFont(FinishedHeadingLabel, 10, 'Tahoma', $FFFFFF, [fsBold]); FinishedHeadingLabel.Alignment := taCenter; FinishedLabel:= CreateLabel(WizardForm, ScaleX(0), ScaleY(275), ScaleX(700), ScaleY(150), ExpandConstant('{cm:FinishedLabel}'), false); LabelSetFont(FinishedLabel, 8, 'Tahoma', $FFFFFF, [fsBold]); FinishedLabel.Alignment := taCenter; end; procedure HideComponents; begin; WelcomeLabel1.Hide; WelcomeLabel2.Hide; SelectDirLabel.Hide; SelectDirBrowseLabel.Hide; #ifdef Components SelectComponentsLabel.Hide; WizardForm.ComponentsList.Hide; #endif #ifdef Tasks SelectTasksLabel.Hide; WizardForm.TasksList.Hide; #endif SelectStartMenuFolderLabel.Hide; SelectStartMenuFolderBrowseLabel.Hide; DirEditLabel.Hide; TotalSpaceLabel.Hide; FreeSpaceLabel.Hide; InstallSpacelabel.Hide; NeedSpaceLabel.Hide; TotalSpaceLabel2.Hide; FreeSpaceLabel2.Hide; InstallSpacelabel2.Hide; NeedSpaceLabel2.Hide; GroupEditLabel.Hide; NoIconsLabel.Hide; InstallingLabel.Hide; StatusLabel.Hide; FinishedHeadingLabel.Hide; FinishedLabel.Hide; IMGSetVisibility(DirFolder,False); IMGSetVisibility(DirEditImg,False); IMGSetVisibility(HDD,False); IMGSetVisibility(GroupFolder,False); BtnSetVisibility(hDirBrowseBtn,False); BtnSetVisibility(hGroupBrowseBtn,False); BtnSetVisibility(NoIconsCheck,False); ReadyPanel.Hide; ReadyBitmap.Hide; ReadyScrollBar.Hide; ReadyPanelLabel.Hide; ReadyLabel.Hide; IsDoneHide; end; procedure ShowComponents(CurPageID: Integer); begin case CurPageID of wpWelcome: begin WelcomeLabel1.Show; WelcomeLabel2.Show; end; wpSelectDir: begin SelectDirLabel.Show; SelectDirBrowseLabel.Show; DirEditLabel.Show; TotalSpaceLabel.Show; FreeSpaceLabel.Show; InstallSpacelabel.Show; NeedSpaceLabel.Show TotalSpaceLabel2.Show; FreeSpaceLabel2.Show; InstallSpacelabel2.Show; NeedSpaceLabel2.Show; IMGSetVisibility(DirFolder,True); IMGSetVisibility(DirEditImg,True); IMGSetVisibility(HDD,True); BtnSetVisibility(hDirBrowseBtn,True); end; #ifdef Components wpSelectComponents: begin SelectComponentsLabel.Show; WizardForm.ComponentsList.Show; end; #endif wpSelectProgramGroup: begin SelectStartMenuFolderLabel.Show; SelectStartMenuFolderBrowseLabel.Show; GroupEditLabel.Show; NoIconsLabel.Show; IMGSetVisibility(DirEditImg,True); IMGSetVisibility(GroupFolder,True); BtnSetVisibility(NoIconsCheck,True); BtnSetVisibility(hGroupBrowseBtn,True); end; #ifdef Tasks wpSelectTasks: begin SelectTasksLabel.Show; WizardForm.TasksList.Show; end; #endif wpReady: begin ReadyBitmap.Show; ReadyScrollBar.Show; ReadyPanelLabel.Show; ReadyPanel.Show; ReadyLabel.Show; ReadyPanelLabel.Caption := WizardForm.ReadyMemo.Lines.Text; end; wpInstalling: begin InstallingLabel.Show; StatusLabel.Show; IsDoneShow(); end; wpFinished: begin FinishedHeadingLabel.Show; FinishedLabel.Show; LabelTime3.Show; end; end; end; function UninstPBProc(h:hWnd;Msg,wParam,lParam:Longint):Longint; var pr,i1,i2:Extended; p:string; begin if Msg=$2 then SetWindowLong(h,-4,UninstPBOldProc); Result:=CallWindowProc(UninstPBOldProc,h,Msg,wParam,lParam); if (Msg=$402) and (UninstallProgressForm.ProgressBar.Position>UninstallProgressForm.ProgressBar.Min) then begin i1:=UninstallProgressForm.ProgressBar.Position-UninstallProgressForm.ProgressBar.Min; i2:=UninstallProgressForm.ProgressBar.Max-UninstallProgressForm.ProgressBar.Min; pr:=(i1*100)/i2; p:=+Format('%f',[pr])+'%'; UnLabelPct.Caption:=p; StringChange(p,',','.'); ImgPBSetPositionUn(UninstPB,pr); ImgApplyChangesBotvaU(UninstallProgressForm.Handle); end; end; procedure CurPageChanged(CurPageID: Integer); begin HideComponents; ShowComponents(CurPageID); WizardForm.NextButton.Enabled:= True; if CurPageID = wpSelectDir then ObjectFunc(WizardForm.DirEdit); if (CurPageID = wpFinished) and ISDoneError then begin LabelTime3.Hide; WizardForm.Caption:= ExpandConstant('{cm:Error}'); FinishedLabel.Font.Color:= $0000FF; FinishedHeadingLabel.Caption:= ExpandConstant('{cm:ErrorFinishedHeadingLabel}'); FinishedLabel.Caption:= ExpandConstant('{cm:ErrorFinishedLabel}'); DelTree(ExpandConstant('{app}'), True, True, True); end; SetStateNewButtons; ImgApplyChanges(WizardForm.Handle); end; procedure CurStepChanged(CurStep: TSetupStep); begin IsDoneUnpack(CurStep); end; procedure InitializeWizard; begin #ifdef Music ExtractTemporaryFile('bass.dll'); ExtractTemporaryFile('CallbackCtrl.dll'); ExtractTemporaryFile('botva2.dll'); ExtractTemporaryFile('music.mp3'); ExtractTemporaryFile('MusicButton.png'); BASS_Init('{tmp}\music.mp3') BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4) #endif #ifdef Splash ExtractTemporaryFile('Splash.png'); ExtractTemporaryFile('isgsg.dll'); ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.png',1000,3000,1000,0,255,False, $FFFFFF,10); #endif CreateWizardForm; ButtonsTextures; end; function InitializeSetup: Boolean; begin ExtractTemporaryFile('botva2.dll'); ExtractTemporaryFile('b2p.dll'); ExtractTemporaryFile('CallbackCtrl.dll'); ExtractTemporaryFile('Click.wav'); ExtractTemporaryFile('skin.cjstyles'); LoadSkin(ExpandConstant('{tmp}\skin.cjstyles'), ''); Result := True; end; procedure DeinitializeSetup; begin BGImageStream.Free(); BTNImageStream.Free(); WFButtonFont.Free(); BASS_DeInit; gdipShutdown(); UnloadSkin(); end; |
Okta_333, запихните скрипт и необходимые для работы инстала файлы(библиотеки, картинки, модули и т.д.) в архив, залейте на любой бесплантынй хостинг и прикрепите ссылку на архив к сообщению.
|
Я вам в личку брошу
|
Доброе время суток.
Опять столкнулся с трудностью: Имеется программа, к ней прилагается библиотека для интеграции в оболочку проводника, библиотека находится в отдельной подпапке в которой расположен файл конфигурации, указывающий путь к самой программе. Файл называется config.lua и содержит запись: --This file uses UTF8 encuding without BOM-- Path to Program = "\"C:\\Program Files\\My prog\\prog.exe\"" программу я включил в сборник и по пути "\"C:\\Program Files программа соответственно находиться не будет. С помощью секции ini такие записи у меня не получаются. Можно ли каким-то образом с пошью Инно внести изменения в этот файл или создать пустой и уже потом вписать в него строку с расположением пути к программе --This file uses UTF8 encuding without BOM-- Path to Program = "\"{app}\\My prog\\prog.exe\"" Причём именно в одну строку, начиная с --This file uses UTF8 encuding without BOM-- иначе (без этой записи или если запись первой строкой, а "Path to Program =" уже на следующей строке) в проводнике интеграция не отображается [пробовал редактировать в ручную] Можно ли это реализовать в секции Code и если можно, то чтобы работало только тогда, когда выбран к примеру Components: component_1 ? Заранее Спасибо. |
palsn2000,
Скрытый текст
Код:
[Setup] Config.ini Код:
-This file uses UTF8 encuding without BOM-- RePlaceTextinFile(ExpandConstant('{app}\config.ini'),'Path to Program',AddQuotes(s)); |
[code][Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: Button.bmp; Flags: dontcopy Код:
procedure logoOnClick(Sender: TObject); |
StongCool,
Код:
Source: Button.bmp; DestDir: "{tmp}"; Flags: dontcopy |
Вложений: 1
Поменял, осталось прежней.
|
StongCool, отсутствие точки с запятой
Скрытый текст
Код:
procedure InitializeWizard(); |
Dodakaedr, Спасибо.
Код:
procedure logoOnClick(Sender: TObject); Т.е. - Repack asfafsasf - добавлено бла бла бла - вырезано бла бла |
StongCool, '+#13+'
|
Вложений: 1
StongCool, Через CustomMessages
Скрытый текст
Код:
[Setup] Цитата:
|
Dodakaedr, да я специально не стал так делать, чтоб человек сам отредактировал, за одно разобрался бы. Ну да ладно...
|
Вложений: 1
Вписал код, изменения нигде не заметил.
Мне именно в этом окошке нужно. Давно давно, я нашел команду(уже не помню какую) строка переносилась как надо. Примерно MsgBox('RePacked by Evilboy', mbInformation, mb_Ok); так: MsgBox('RePacked by Evilboy' ??? '- вырезано бла бла' ??? 'Блабла', mbInformation, mb_Ok); Где вопросы там знак должен быть, почему то мне хочется вставить + но это не он. |
sergey3695, Спасибо за
Но вот какое дело: в коде используется замена текста s:= '"\"'+DoubleSlash(ExpandConstant('{app}'))+'\""'; RePlaceTextinFile(ExpandConstant('{app}\config.ini'),'Path to Program',AddQuotes(s)); а для моей программы вместо 'Path to Program' приходится писать '--This file uses UTF8 encuding without BOM-- Path to Program' а вот это самое '--This file uses UTF8 encuding without BOM-- Path to Program=' в файле config.lua имеет не совсем простой текстовый формат (если скопировать в ворд то там эта одна строка распадается на три строки) и после работы скрипта Инно мой новый файл config.lua также разваливается на три строки и ничего в путь не дописывается. Вопрос: можно ли как нибудь заставить инно не переписывать всё вместе с --This file uses UTF8 encuding without BOM-- Path to Program=' , а только добавить к нему 'DoubleSlash(ExpandConstant('{app}'))+'\""' сам я этого сделать не могу, так как в программировании даже не 0, а наверно -1 :) |
palsn2000, Вы это смотрели http://forum.oszone.net/post-2454120-2270.html
|
Dodakaedr, немного покопался...
Вот это команда с которой я работал давно(Про неё я и спрашива) +#13#10+ Код:
procedure logoOnClick(Sender: TObject); |
sergey3695, Dodakaedr, Спасибо за потраченное время, со всем разобрался, последний вопрос снимается - всё оказалось намного проще: строка '--This file uses UTF8 encuding without BOM-- Path to Program=' в Ворде распадается не на три, а на четыре - и всё приходит в логический вид:
--This file uses UTF8 encuding without BOM -- Path to Program= В итоге 1, 2(пустая) и 3 строки вообще необязательны, а библиотека работает только со строкой 'Program=' ( проверил вручную) сейчас попробую реализовать в Инно. Ещё раз всем спасибо. |
В итоге выложу то, что у меня получилось - может кому-то пригодится:
На выходе получаем в файле по адресу D:\My Prog\DllFolder\config.lua из имеющегося Program= Program="\D:\\My Prog\\Prog.exe\"" (Вместо D: будет полный путь установки {app}) и всё это будет выполняться только при выборе компонента (в данном случае Component_5\integrate). |
StongCool, слепота :o
|
Здравствуйте. Подскажите пожалуйста , добавить в инстал новую страницу таких же размеров как предыдущие , и так же с возможность слайд шоу ?
|
ShadeUa, Создание новой странички
Код:
[Setup] Цитата:
|
Цитата:
|
ShadeUa, предыдущий мой пост смотрели? Оно?
|
Цитата:
Кстати вы незнаете как поменять тукстуру кнопки ? |
Цитата:
Скрытый текст
Код:
;Скрипт текстурирования кнопок, с четырмя видами состояния кнопок |
Ну тут через . bmp а можна как то через. png ?
вот мне нужно наложить на кнопку info а я не доганяю как https://yadi.sk/i/ViCRXsTndv4wD |
Цитата:
|
Цитата:
|
Ну вот если даже взять готовый скрипт nfs , от как туда добавить кнопку и затекстурить ее?
|
Помогите пож. со следующей проблемой:
На InfoBeforeMemo отбражается текст из файла RTF и фыглядит примерно так: После того как перенёс InfoBeforeMemo на новую панель текст из файла RTF стал отображатся так: Подскажите что необходимо прописать чтобы текст отображался как и прежде. |
ROMKA-1977, покажите скрипт.
|
Цитата:
|
ROMKA-1977, у меня все норм...
Скрытый текст
|
ROMKA-1977, а в rtf файле другое форматирование?
|
Цитата:
saurn, может посмотрите возможно дело и в rtf. |
Цитата:
Скрытый текст
На Unicode |
Dodakaedr,
Чудеса! как же так получается? Использую стандартную анси 5.5.5. |
ROMKA-1977, Используйте расширенную версию Inno.
|
Цитата:
|
Доброе время суток. Помогите исправить
Скрытый текст
Код:
; Скрипт создан через Мастер Inno Setup Script. |
Цитата:
|
kotyarko@fb, ага
|
Nordek, saurn, Dodakaedr, спасибо за советы, с расширенной версией Inno всё получается. Но всётаки поюзав код нашел вариант для стандартной Ansi:
|
Какие есть скрипты на установку Дополнительного ПО(Желательно с отметкой галочкой)
|
StongCool,
|
Вложений: 1
Цитата:
|
ROMKA-1977, Очень хорошо.
А вот например, если мне необходимо тихую установку сделать для этого .reg файла. Что нужно? Код:
Name: Soft; Description: Установка дополнительного программного обеспечения; GroupDescription: Дополнительное программное обеспечение:; Flags: unchecked |
Цитата:
Скрытый текст
http://rghost.ru/users/Arsen19/releases/Russkaya-spravka-k-Inno-Setup
|
Вложений: 1
Не знаю почему, но справка у меня некорректно работает. Есть еще варианты?
|
StongCool, ПКМ по файлу справки, выбрать свойства и внизу нажмите разблокировать
|
Доброе время суток. Я хочу вернуться к этому вопросу http://forum.oszone.net/post-2369688-1001.html (if not WizardSilent then)
Если добавить if not WizardSilent then, то при тихом использовании (/VERYSILENT) без команды DIR прога будет распаковываться по пути из DefaultDirName. Как исправить И хочу вернуться к этому вопросу http://forum.oszone.net/post-2456024-2299.html |
habib2302, По поводу этого вопроса.
http://forum.oszone.net/post-2456024-2299.html Все элементарно. Открывай редактор форм и двигай куда надо. :) |
Shift85, и что? :) от этого серый фон не исчезнит
|
Цитата:
Цитата:
Скрытый текст
Код:
if not WizardSilent then Код:
wpSelectComponents: if WizardForm.Tag = 1 then |
Здраствуйте , на каком языке пишуться если скрипты ?
|
Цитата:
|
Помогите пож. к данному коду прикрутить автоматическую смену названия кнопки "open"
|
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
Если только сменить название. Код:
Caption := 'open'; Код:
Caption := 'Кнопка'; |
Вложений: 1
Цитата:
|
Shkutu, это точно не сработает. да и команда dir не работает даже при обычной установке
|
Цитата:
а во-вторых, вы код вообще смотрели? в каком месте там команда dir? я порекомендовала это: Код:
WizardForm.DirEdit.Text := ExpandConstant('{pf}\{#MyAppName}'); |
Shkutu, ну вот мой код который на данный момент стоит
Скрытый текст
Код:
Procedure CurPageChanged(CurPageID: Integer); вот и сделайте как вы говорили. а вообще мне кажется проблема из-за кода для смены страниц местами |
Не нашел я нормально рабочего скрипта на счет redist.
Кто какими пользуется, скиньте пожалуйста) |
Цитата:
Вот через секцию код + ISDone: Код:
procedure Soft(CurStep: TSetupStep); |
habib2302, в вашем коде вообще не прописана ветка, где WizardSilent=true, и не работает именно из-за этого, я думаю.
Код:
wpSelectComponents: if WizardForm.Tag = 1 then |
Shkutu, мне уже дали код в krinkels
Код:
function ParamExists(S: String): Boolean; Код:
if (ParamExists('dir')) then |
Вложений: 1
Как сделать нижнею панель прозрачной?
|
Вложений: 1
Цитата:
Пример прикрепил (взят с Krinkels). |
StongCool, ISWin7 бесполезен если вы используйте WinTB и добавлено лого в нижней панельке
|
Вложений: 1
kotyarko@fb, Ссылка битая на скриншот.
И еще хотелось узнать. Как сделать стартовой эту страницу + окошко такое. |
StongCool,
Цитата:
http://krinkels.org/threads/iswin7.1946/ Код:
[Setup] |
Здраствуйте. Я не так давно завадал вопрос но на него так не кто не ответил , а сам не мог розобраться. Как мне затекстурировать кнопку info через батву, и как сдлеать что при нажатии на кнопку открівалось не окно а картинка ?
http://forum.oszone.net/attachment.p...1&d=1421577903 |
Цитата:
Цитата:
|
Еще один вопрос , а что ето за ошибка?
http://forum.oszone.net/attachment.p...1&d=1421585491 |
Цитата:
Во-вторых, InfBtn должен быть объявлен как HWND. В-третьих, последний заданный параметр функции BtnCreate - это: Код:
//IsCheckBtn - если True, то будет создана кнопка (аналог CheckBox) имеющая включенное и выключенное состояние |
Цитата:
Я сделал все как вы говорили , и обьявил его ([code] var hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, InfBtn (*, TButtonOnClick *):HWND; ButtonFont: TFont ; ) но нечего не изменилось |
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
|
Цитата:
http://forum.oszone.net/attachment.p...1&d=1421605464 http://forum.oszone.net/attachment.p...1&d=1421605464 |
ShadeUa,
Скрытый текст
Код:
function InitializeSetup:boolean; на кнопку, на форму, картинку. удачи :) |
Цитата:
|
ShadeUa, botva2.iss подключи.
|
Цитата:
#define MyAppName "Test" #define MyAppVerName "Test" #define MyDefaultDirName "Test" #define MyDefaultGroupName "Test" [Setup] SourceDir=. OutputDir=Setup AppName={#MyAppName} AppVerName={#MyAppVerName} DefaultDirName={pf}\{#MyDefaultDirName} DefaultGroupName={#MyDefaultGroupName} OutputBaseFilename=Setup AllowNoIcons=true ShowTasksTreeLines=true [files] Source: 1.png; DestDir: {tmp}; Flags: dontcopy Source: botva2.dll; DestDir: {tmp}; Flags: dontcopy Source: botva2.iss; DestDir: {tmp}; Flags: dontcopy [code] (*var CreateFormFromImage : *) #include "botva2.iss" function InitializeSetup:boolean; begin if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll'); if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png'); Result:=True; end; #ifdef UNICODE #define A "W" #else #define A "A" #endif const GWL_WNDPROC = -4; WM_NCLBUTTONDOWN = $00A1; type LPARAM = Integer; WPARAM = Integer; LRESULT = Integer; TFNWndProc = Integer; var OldWindowProc: Longint; function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall'; function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall'; function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; begin case Msg of WM_NCLBUTTONDOWN: begin Msg := 0; WizardForm.Close; end; end; Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam); end; procedure CloseForm(Sender: TObject); begin WizardForm.Close; end; procedure InitializeWizard; begin CreateFormFromImage(wizardform.Handle,ExpandConstant('{tmp}\1.png')); ImgApplyChanges(WizardForm.Handle); OldWindowProc := SetWindowLong(WizardForm.Handle, GWL_WNDPROC, CallbackAddr('WindowProc')); end; procedure DeinitializeSetup(); begin SetWindowlong(WizardForm.Handle, GWL_WNDPROC, OldWindowProc); gdipShutdown; end; |
Цитата:
|
Подскажите пож. в чём может бать проблема:
В код инсталятора на SelectDirPage прописана кастомная кнопка "Обзор", работает отлично но если ошибочно выбрать путь установки DVD ROM и далее повторно нажать на "Обзор" всплывает сообщение "Вставьте диск в устройство "DVD RW" которого при стандартной кнопке нет. Как отключить это сообщение? |
ROMKA-1977, так и должно быть. при стандартной также.
|
Цитата:
Скрытый текст
Код:
#define Name "Test" Тем же способом можете выводить сообщение, если выбран CD-ROM, типа "установка на выбранный диск невозможна" и т.д. |
Цитата:
|
Цитата:
|
ROMKA-1977, можешь ещё, как вариант, при выборе CD-ROM'а сделать неактивной нужную кнопку.
Вариант с nextbutton |
ROMKA-1977, при неправильном пути DirTreeView ничего не отображает. (в основе пример saurn,).
Скрытый текст
Код:
#define Name "Test" |
Цитата:
Цитата:
Скрытый текст
Код:
[Setup] |
Цитата:
|
ROMKA-1977,
|
Подскажите:
в выше описанный мною код по вашим совтам прописол код сообщения "установка на выбранный диск невозможна" с блокировкой кнопки "Далее". Получилось так: Проблема: если ошибочно выбрать путь установки DVD ROM и нажать на кнопку "OK" всплывает окно с сообщением "установка на выбранный диск невозможна" после закрытия которого окно выбора директории закрывается. Возможно ли сделать так чтобы после закрытия окна с сообщением окно выбора директории не закрывалось. |
Вложений: 1
Здраствуйте , в чем может быть проблема?
http://forum.oszone.net/attachment.p...1&d=1421926584 |
Цитата:
Код:
hNewBtnClick: Btn := NewButton1; |
Цитата:
|
Цитата:
|
Цитата:
BtnSetEvent(INFBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetCursor(INFBtn,GetSysCursorHandle(32649)); ето вот ета форма? |
Цитата:
|
Цитата:
|
Цитата kotyarko@fb:
Нет. Это только ссылание на процедуру создания. Сама процедура это то, что идёт после символа "@". » Вот етот скрипт , я немогу понят где та процедура , я его перелопатил , некоторые процедури к себе скопировал , но так нечего не изменилось , я не понимаю в чем может быть проблема Скрытый текст
[code]
var pb, pb1: Longint; WFButtonFont, UPFButtonFont: TFont; CurrentImage, ProgressStep: integer; mp3Name, OldDisk, TimeLeft: string; w1, w2, w3,w4,w5, w6, w7: Longint; Welcome, System, Catalogue, StartMenu, Tasks, Installing, Finish, Uninstalling, PageNameLabel, PageDescriptionLabel, WelcomeLabel1, WelcomeLabel2, RequirementsLbl, ProcessorLbl, VideoCardLbl, SoundCardLbl, RAMLbl, SystemLbl, ProcessorNameLbl, VideoCardNameLbl, SoundCardNameLbl, RAMTotalLbl, SystemNameLbl, SelectDirBrowseLabel, DirEditLabel, TotalSpaceLabel, NeedSpaceLabel, FreeSpaceLabel, SelectStartMenuFolderBrowseLabel, GroupEditLabel, NoIconsLabel, SelectTasksLabel, DesktopLabel, QuickLaunchLabel, DirectXLabel, LanguageLabel, LngNameLbl, FilenameLabel, StatusLabel, ProgressInfoLabel, FinishedHeadingLabel, FinishedLabel, WizardUninstLabel, UninstPageDescriptLabel, StatusUninstLabel : TLabel; function InitializeSetup: Boolean; begin ExtractTemporaryFile('botva2.dll'); ExtractTemporaryFile('Click.wav'); ExtractTemporaryFile('isskin.dll'); ExtractTemporaryFile('Tiger.cjstyles'); LoadSkin(ExpandConstant('{tmp}\Tiger.cjstyles'), ''); Result:=True; end; procedure CreateWizardImage; var i: integer; begin WizardForm.ClientWidth:=ScaleX(877); WizardForm.ClientHeight:=ScaleY(485); WizardForm.Center; WizardForm.BorderStyle := bsDialog; WizardForm.OuterNotebook.Hide; WizardForm.InnerNotebook.Hide; WizardForm.Bevel.Hide; ExtractTemporaryFile('WizardImage.jpg'); ExtractTemporaryFile('button.png'); ExtractTemporaryFile('buttonNext.png'); ExtractTemporaryFile('buttonBack.png'); ExtractTemporaryFile('buttonCancel.png'); ExtractTemporaryFile('buttonBrowse.png'); ExtractTemporaryFile('buttonInstall.png'); ExtractTemporaryFile('buttonEnd.png'); ExtractTemporaryFile('MusicButton.png'); ExtractTemporaryFile('RequirementsPanel.png'); ExtractTemporaryFile('Edit.png'); ExtractTemporaryFile('DirFolder.png'); ExtractTemporaryFile('HardDrivePanel.png'); ExtractTemporaryFile('HDD.png'); ExtractTemporaryFile('GroupFolder.png'); ExtractTemporaryFile('CheckBox.png'); ExtractTemporaryFile('ProgressBackground.png'); ExtractTemporaryFile('ProgressImg.png'); ExtractTemporaryFile('INF.png'); ExtractTemporaryFile('back.png'); ExtractTemporaryFile('w1.png'); ExtractTemporaryFile('w2.png'); ExtractTemporaryFile('w3.png'); ExtractTemporaryFile('w4.png'); ExtractTemporaryFile('w5.png'); ExtractTemporaryFile('w6.png'); ExtractTemporaryFile('w7.png'); ExtractTemporaryFile('WFEnter.wav'); ExtractTemporaryFile('Check.wav'); ExtractTemporaryFile('Music.ogg'); ExtractTemporaryFile('BASS.dll'); ExtractTemporaryFile('LogoButton.png'); WizardImg:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\WizardImage.jpg'),ScaleX(0),ScaleY(0),Wiz ardForm.ClientWidth,WizardForm.ClientHeight,True,True); SetArrayLength(AImg,5); for i:=0 to GetArrayLength(AImg)-1 do begin AImg[i]:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\'+IntToStr(i+1)+'.jpg'),0,0,WizardForm.ClientWidth ,WizardForm.ClientHeight,True,True); ImgSetVisibility(AImg[i],False); end; (*w1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w1.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w2.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w3:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w3.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w4:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w4.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w5:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w5.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w6:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w6.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); w7:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\w7.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,True,True); *) Logo:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\INF.png'),ScaleX(0), ScaleY(0),WizardForm.ClientWidth,WizardForm.ClientHeight,False,false); ImgSetVisibility(logo,false); //// (* ImgSetVisibility(w1,False); ImgSetVisibility(w2,False); ImgSetVisibility(w3,False); ImgSetVisibility(w4,False); ImgSetVisibility(w5,False); ImgSetVisibility(w6,False); ImgSetVisibility(w7,False); *) ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\back.png'),ScaleX(0), ScaleY(0),877,485,True,True); (*RequirementsPanel:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\RequirementsPanel.png'),ScaleX( 75), ScaleY(0),ScaleX(700),ScaleY(485),True,True); Edit:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\Edit.png'),ScaleX(307), ScaleY(240),ScaleX(420),ScaleY(22),True,True); DirFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\DirFolder.png'),ScaleX(233), ScaleY(215),ScaleX(80),ScaleY(80),True,True); HardDrivePanel:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\HardDrivePanel.png'),ScaleX(307), ScaleY(283),ScaleX(420),ScaleY(70),True,True); HDD:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\HDD.png'),ScaleX(243), ScaleY(283),ScaleX(60),ScaleY(74),True,True); GroupFolder:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\GroupFolder.png'),ScaleX(223), ScaleY(210),ScaleX(80),ScaleY(80),True,True);*) ImgApplyChanges(WizardForm.Handle); end; procedure SetStateNewButtons; begin (*with WizardForm.BackButton do begin BtnSetText(hBackBtn,PAnsiChar(Caption)); BtnSetVisibility(hBackBtn,Visible); BtnSetEnabled(hBackBtn,Enabled); end; with WizardForm.NextButton do begin BtnSetText(hNextBtn,PAnsiChar(Caption)); BtnSetVisibility(hNextBtn,Visible); BtnSetEnabled(hNextBtn,Enabled); end; with WizardForm.NextButton do begin BtnSetText(NextBtn,PAnsiChar(Caption)); BtnSetVisibility(NextBtn,Visible); BtnSetEnabled(NextBtn,Enabled); end; with WizardForm.NextButton do begin BtnSetText(Next2Btn,PAnsiChar(Caption)); BtnSetVisibility(Next2Btn,Visible); BtnSetEnabled(Next2Btn,Enabled); end; with WizardForm.CancelButton do begin BtnSetText(hCancelBtn,PAnsiChar(Caption)); BtnSetVisibility(hCancelBtn,Visible); BtnSetEnabled(hCancelBtn,Enabled); end; *) BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption)); BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption)); end; procedure WizardFormBtnClick(hBtn:HWND); var Btn:TButton; begin sndPlaySound(ExpandConstant('{tmp}\Click.wav'),$0001); case hBtn of hCancelBtn: Btn:=WizardForm.CancelButton; hNextBtn: Btn:=WizardForm.NextButton; NextBtn: Btn:=WizardForm.NextButton; Next2Btn: Btn:=WizardForm.NextButton; hBackBtn: Btn:=WizardForm.BackButton; hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton; hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton; end; Btn.OnClick(Btn); SetStateNewButtons; BtnRefresh(hBtn); end; procedure WFBtnEnter(hBtn:HWND); begin sndPlaySound(ExpandConstant('{tmp}\WFEnter.wav'),$0001); end; procedure LogoClick(hBtn:HWND); var Check:boolean; begin Check:=BtnGetChecked(hBtn); sndPlaySound(ExpandConstant('{tmp}\Click.wav'),$0001); Check:=BtnGetChecked(hBtn); BtnSetEnabled(hBackBtn, not Check); BtnSetEnabled(hNextBtn, not Check); BtnSetEnabled(NextBtn, not Check); BtnSetEnabled(Next2Btn, not Check); BtnSetEnabled(hCancelBtn, not Check); BtnSetEnabled(hDirBrowseBtn, not Check); BtnSetEnabled(hGroupBrowseBtn, not Check); BtnSetEnabled(QuickLaunchCheck, not Check); BtnSetEnabled(DesktopCheck, not Check); BtnSetEnabled(NoIconsCheck, not Check); BtnSetEnabled(MusicButton, not Check); ImgSetVisibility(Logo, not ImgGetVisibility(Logo)); ImgApplyChanges(WizardForm.Handle); end; procedure ButtonsTextures; begin WFButtonFont:=TFont.Create; WFButtonFont.Style:=[fsBold]; (* with WizardForm.BackButton do begin hBackBtn:=BtnCreate(WizardForm.Handle,Left+285,Top+110,Width+31,Height+16,ExpandConstant('{tmp}\butt onBack.png'),18,False); BtnSetEvent(hBackBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hBackBtn,WFButtonFont.Handle); BtnSetFontColor(hBackBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hBackBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.NextButton do begin hNextBtn:=BtnCreate(WizardForm.Handle,Left+312,Top+110,Width+31,Height+16,ExpandConstant('{tmp}\butt onNext.png'),18,False); BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hNextBtn,WFButtonFont.Handle); BtnSetFontColor(hNextBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hNextBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.NextButton do begin NextBtn:=BtnCreate(WizardForm.Handle,Left+676767,Top+110,Width+106,Height+39,ExpandConstant('{tmp}\b uttonInstall.png'),18,False); BtnSetEvent(NextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(NextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(NextBtn,WFButtonFont.Handle); BtnSetFontColor(NextBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(NextBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.NextButton do begin Next2Btn:=BtnCreate(WizardForm.Handle,Left+676767,Top+110,Width+106,Height+39,ExpandConstant('{tmp}\ buttonEnd.png'),18,False); BtnSetEvent(Next2Btn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(Next2Btn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(Next2Btn,WFButtonFont.Handle); BtnSetFontColor(Next2Btn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(Next2Btn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.CancelButton do begin hCancelBtn:=BtnCreate(WizardForm.Handle,Left+335,Top+110,Width+31,Height+16,ExpandConstant('{tmp}\bu ttonCancel.png'),18,False); BtnSetEvent(hCancelBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hCancelBtn,WFButtonFont.Handle); BtnSetFontColor(hCancelBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hCancelBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; *) INFBtn:=BtnCreate(WizardForm.Handle,ScaleX(40), ScaleY(435), ScaleX(120), ScaleY(45),ExpandConstant('{tmp}\LogoButton.png'),0,True); BtnSetEvent(INFbtn,BtnClickEventID,WrapBtnCallback(@LogoClick,4)); BtnSetEvent(INFBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetCursor(INFBtn,GetSysCursorHandle(32649)); InfBtnt:=BtnCreate(WizardForm.Handle,ScaleX(40), ScaleY(435), ScaleX(120), ScaleY(45),ExpandConstant('{tmp}\LogoButton.png'),0,True); BtnSetEvent(INFbtn,BtnClickEventID,WrapBtnCallback(@LogoClick,4)); BtnSetEvent(INFBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetCursor(INFBtn,GetSysCursorHandle(32649)); (* with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.Handle,Left+398,Top+150,Width+31,Height+16,ExpandConstant('{tmp} \buttonBrowse.png'),18,False); BtnSetEvent(hDirBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hDirBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hDirBrowseBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.GroupBrowseButton do begin hGroupBrowseBtn:=BtnCreate(WizardForm.Handle,Left+398,Top+150,Width+31,Height+16,ExpandConstant('{tm p}\buttonBrowse.png'),18,False); BtnSetEvent(hGroupBrowseBtn,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1)); BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hGroupBrowseBtn,$FFFFFF,$FFFFFF,$FFFFFF,$B6B6B6); BtnSetCursor(hGroupBrowseBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; *) end; |
Вложений: 1
Здрастуйте , в чем может быть проблема
http://forum.oszone.net/attachment.p...1&d=1422050080 |
Юрий_Онищенко@vk, винду активируй :laugh:
Неизвестный идентификатор "ImgLoad" - и что не понятного? b2p.iss или botva2.iss поищи там раскомменти #include "_". Судя по коду выше у тебя нету этого. narod.ru/disk/7844037001/botva2_0.9.5.130.7z.html оттуда возьми. там и примеры и библа и примеры |
Цитата sergey3695:
винду активируй Неизвестный идентификатор "ImgLoad" - и что не понятного? b2p.iss или botva2.iss поищи там раскомменти #include "_". Судя по коду выше у тебя нету этого. narod.ru/disk/7844037001/botva2_0.9.5.130.7z.html » Ахаха , вина подождет , окно прозрачное и мне не мешает))), с ImgLoag , я розобрался еще вчера. Я конешно понимаю что я етот форм уже задолбал с етим вопросом , но уж больно немогу понять именно етот момент с картинкой. Вот вы прислали код , но теперь у меня другой вопрос , как ето превьязать к любой кнопке. Я пытался в етом коде розобраться , но там все процедуры розрошенны , и не используеться модуль ботви. И вы же рание кидаль мне готовый скрипт , я пробЫвал розобраться , но так и не понял как его превьязать к кнопке Скрытый текст
function InitializeSetup:boolean;
begin if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll'); if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png'); Result:=True; end; #ifdef UNICODE #define A "W" #else #define A "A" #endif const GWL_WNDPROC = -4; WM_NCLBUTTONDOWN = $00A1; type LPARAM = Integer; WPARAM = Integer; LRESULT = Integer; TFNWndProc = Integer; var OldWindowProc: Longint; function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall'; function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall'; function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; begin case Msg of WM_NCLBUTTONDOWN: begin Msg := 0; WizardForm.Close; end; end; Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam); end; procedure CloseForm(Sender: TObject); begin WizardForm.Close; end; procedure InitializeWizard; begin CreateFormFromImage(wizardform.Handle,ExpandConstant('{tmp}\1.png')); ImgApplyChanges(WizardForm.Handle); OldWindowProc := SetWindowLong(WizardForm.Handle, GWL_WNDPROC, CallbackAddr('WindowProc')); end; procedure DeinitializeSetup(); begin SetWindowlong(WizardForm.Handle, GWL_WNDPROC, OldWindowProc); gdipShutdown; end; |
Юрий_Онищенко@vk, а я вот не пойму там один ник, теперь такой. понаделал акков.
к какой кнопке? (большой и красной). я ж тебе давал пример на кринкелс с кнопкой, что там непонятно? |
Вложений: 1
Цитата:
По началу вопрос был как вы привзязали ету процидуру к кнопке , но я потом викупил етот вопрос, я немного изменил код но теперь вот такая ошибка , не подскажете в чем может быть проблема? И еще можна как то сделать что б форма закрывалась не в углу скритой кнопкой закрить , а нажатием на туже кнопку что окривала ету форму? http://forum.oszone.net/attachment.p...1&d=1422108545 |
Юрий_Онищенко@vk, кинь код (на файлобменик с файлами) что сделал, напиши что надо. я переделаю и скину.
|
Цитата:
|
Юрий_Онищенко@vk, https://yadi.sk/d/l-SdcyXoeD4CC как-то так.
|
Цитата:
|
Юрий_Онищенко@vk, :jester: кнопка инфо как надо работает. не пиши чушь.
|
|
Здравия всем! А к кому можно обратиться за помощью. Не могу понять ошибку в своём скрипте.
|
Опишить ошибку, по возможности предоставте скрипт или скриншотскриншот. Знающие люди подскажут в чем проблема...
|
Цитата:
2-Скрип в студию. :whitevoid: |
С той проблемой разобралась.
Подскажите пожалуйста как правильно в IsDone прописать пароль к arc-архиву. |
Цитата:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, 'Пароль', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
У меня немного другая строчка:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\D-3.arc'), ExpandConstant('{app}\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; |
Добрый вечер.
В моем установщике используется большое количество картинок в формате bmp, из-за этого установщик подвисает, возможно ли как-то вместо bmp использовать картинки в формате png? |
Okta_333, Пробуйте:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\D-3.arc'), ExpandConstant('{app}\'), '', false, 'пароль', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; Цитата:
Пример:http://rghost.ru/60554844 |
Shift85
Та же ошибка. |
Цитата:
|
Inno Setup 5.4.2.ee2 (a) (build 110319)
А вот Анси или Юникод, я не знаю. |
Цитата:
Установите расширенную версию Inno Setup |
Shift85
У меня и есть расширенная. Inno Ultra, зелёненькая. |
Shift85, можно ли подправить этот код, чтобы он мог использовать png картинки?
Код:
procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea); |
Цитата:
Залейте куда нибудь на файлообменик. Farser21, Весь скрипт с нуля придется переписывать. |
Добрый день!
Имеется вопрос. Как можно убрать средствами IS последнюю папку в стринге "Dir": Код:
function GetInstallDir(Dir:string):string; |
Цитата:
|
SBalykov,
Код:
Result:=ExtractFilePath(Dir) // Dir - C:\Games\Maxis\Programs Result - C:\Games\Maxis\ |
Цитата:
|
Gnom_aka_Lexander
Вы меня не совсем поняли. Код:
#define Dir "{code:GetInstallDir|{pf32}\My Prog}" |
SBalykov, Именно это и делает функция ExtractFilePath. То, что в имени функции присутствует слово File, говорит лишь о том, что используется она для того, чтоб из полного пути к файлу, вернуть только путь, без имени файла. Я-же вполне успешно использую ее для того, чтоб шагнуть на папку назад. Или как Вы выразились - убрать последнюю папку из пути.
|
Gnom_aka_Lexander
Спасибо. Сейчас попробую... P.S. Еще раз, спасибо. Все работает. Просто голова уже не соображает... |
|
Вложений: 2
Цитата:
Inno Setup Compiler build 121216 Поддерживаемые версии: 5.5.0 - 5.5.2 Ссылка: Загрузить (Архив "InnoCompiler121216(7zip).zip" переименовать в "InnoCompiler121216.7z".) Inno ISCmplr Setup build 121002 Поддерживаемые версии: 5.5.1 Ссылка: Загрузить (Архив "Inno_ISCmplr_Setup121002(7zip).zip" переименовать в "Inno_ISCmplr_Setup121002.7z".) Готовые варианты прикреплены ниже: Достаточно из папки "Inno_Setup_5" выделить все файлы и скопировать в папку с программой. |
Цитата:
Цитата:
Код:
Result := ExtractFilePath(RemoveBackslash(Dir)); |
Ребят, не поможете вшить исдан 06 финал в этот инсталятор http://dfiles.ru/files/syle5r9i0
|
demon_000
Посмотрите здесь ... |
SBalykov
А что смотреть то? Тоже самое что и я скинул. |
Господа программисты, помогите, а то сам буду мучиться до ишачьей пасхи, и то врядли допру!!!
|
Здраствуйте , не поможите соеденить 2 скрипта , а то у меня проблема возникла
|
я пинимаю что уже всех **** , но нужна помощь ,я реально немного шурупаю , но совсем чучуть, и вот начина дельфи изучать но ето буде оочень долго а мне скоро в колледж ити , там уже будет не то етого
|
ShadeUa, а что вам мешает закинуть два скрипта и ждать ответа?
|
Цитата:
|
Цитата:
|
ех , ну хотя бы скажите в чем может быть проблема https://yadi.sk/i/q1ABLAfmeHyBS
|
Вложений: 1
|
Вложений: 1
Цитата:
http://forum.oszone.net/attachment.p...1&d=1422451222 |
ShadeUa, Тестил на расширенном unicode. все норм.
|
Цитата:
|
Цитата:
|
ShadeUa
Could not call proc означает обращение к объекту до его создания. |
Вложений: 1
Цитата:
Второй , что дедать если инстал сам закрываеться , примерно через 5-10 секунд ? |
Привет форумчане, есть проблема, если на компьютере используется увеличение шрифта (125% либо 150%), то все детали установщика начинают сдвигаться. Как прописывать координаты этим элементам, чтобы они не сдвигались?
|
Цитата:
|
Dodakaedr, ну вот например
Код:
begin |
Цитата:
Код:
SetBounds(ScaleX(слева), ScaleY(сверху), ScaleX(ширина), ScaleY(высота)); Цитата:
Код:
BtnPanel:=TPanel.Create(WizardForm); |
Вложений: 1
Kashtan007, либо через SetBounds либо в вашем случаи можно так
Код:
BtnPanel:=TPanel.Create(WizardForm); Цитата:
Цитата:
|
Подскажите пож. На InfoBeforeMemo и на TRichEditViewer отображается текст из файла .rtf. В файле .rtf кроме текста присутствует также картинка. Возможно ли выполнить отображение картинки из файла .rtf на InfoBeforeMemo и на TRichEditViewer.
|
Цитата:
Цитата:
|
Все разобрался))) |
Цитата:
Удаляешь те функции которые использует ISDone и FreeArc. Или же напиши скрипт сам меньше вопросов будет как отключить? как подключить? :jester: |
ек, чутка туплю подскажите:
[UninstallDelete] Type: filesandordirs; Name: "{app}" - это понятно, но вот если перед приложение еще папка как ее удалить? К примеру - Type: dirifempty; Name: "Sierra\{app}" - это для наглядности, вот какой константой удаляется папка Sierra, если приложение будет установлено не по умолчанию. а скажем на другой диск? |
Цитата:
Код:
[UninstallDelete] |
Не работает, это для удаления папки в папке приложения
Вот пример: Х:\ХХХ\Sierra\Bobrik Bobrik - удаляется этим Type: filesandordirs; Name: "{app}" Sierra - как? Если ставить по умолчанию там понятно Type: dirifempty; Name: "{pf}\Sierra" А если поставить на другой диск, то там как удалять Sierra? |
Цитата:
Примерно так: Код:
[UninstallDelete] |
Цитата kotyarko@fb:
Как я понял, вам нужно удалить папку, которая, по иерархии, является ниже папки {app}? » Ну тут как смотреть, все файлы находятся в папке Bobrik, а сама папка Bobrik со всеми файлами находится в папке Sierra))) Что-то ругается компилятор на строку Function ParentFolderName(): String; |
Цитата:
Цитата:
Код:
[UninstallDelete] |
Цитата:
Код:
[Setup] |
Цитата:
И такой вопрос компилю скрипт, все устанавливается, и при нажатии на кнопку Завершить - инсталлятор закрывается и через секунду выскакивает сообщение винды об ошибке - Прекращена работа программы "Setup/Uninstall". Так то все нормально, все файлы копируются, приложение запускается и работает, но эта выскакивающая плямба напрягает, куда копать? Винда 7х64 |
Цитата:
Можно сделать так: Код:
[*Code] |
Цитата kotyarko@fb:
Где-то в коде висит хэндл для визарда. Можно сделать так: » Не не помогает теперь при нажатии Закрыть вылезает Runtime Error хэндл это какой знак? |
Цитата:
Код:
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); |
Цитата:
Выглядит так: Код:
Объект.Handle; |
Цитата kotyarko@fb:
Это не знак, это команда. » Эх, придется лопатить весь код :o И это точно из-за этой команды? Цитата:
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if CurPageID=wpInstalling then begin Confirm:=False; Cancel:=ExitSetupMsgBox; if Cancel then AllCancel; end; А Runtime Error вылетал при использовании: [*Code] Procedure DeinitializeSetup(); begin WizardForm.Free; end; Ну а без нее соответственно - Прекращена работа программы "Setup/Uninstall" |
Цитата:
Вот и чего думать? Может в 7х64 IsDone подгоняет немного? |
Цитата:
Цитата:
Эту ошибку может вызывать не только хендл, но пока что сталкивался только с ним. Здесь по коду нужно ориентироваться. Можете прогнать компиляцию по F8, возможно, покажет на проблемное место. |
Цитата kotyarko@fb:
Здесь по коду нужно ориентироваться. Можете прогнать компиляцию по F8, возможно, покажет на проблемное место. » Нажал F8 выделило синим - ===================================== function InitializeSetup: Boolean; begin ExtractTemporaryFile('botva2.dll'); ExtractTemporaryFile('Click.wav'); ExtractTemporaryFile('isskin.dll'); ExtractTemporaryFile('skin.cjstyles'); LoadSkin(ExpandConstant('{tmp}\skin.cjstyles'), ''); Result:=True; end; ===================================== procedure InitializeWizard; begin CreateWizardImage; ButtonsTextures; CreatePageComponents; OldProc:=SetWindowLong(WizardForm.Handle,-4,WrapWFProc(@WFWndProc,4)); end; ===================================== Дальше, что-то задумался, уже минут 10 |
Цитата:
А ещё, там же, нужно выгружать скин. |
Цитата:
Кстати мож лог ошибки чего скажет: |
Прошу протестировать сетапник. :)
Интересуют возможные ошибки, если есть, просьба отписать, если нет - попрошу отписать "все норм" :tongue: http://rghost.ru/7NQT2DZhv |
Цитата:
Цитата:
Цитата:
Win8, 64. |
Вложений: 1
Цитата:
|
Цитата:
|
Цитата:
Цитата:
http://rghost.ru/6JqFjvmh2 |
Цитата:
|
Проверил на ХР все также как и на 7, все пашет, тоже остается папка Shift85
|
Цитата:
|
Цитата:
|
|
Цитата kotyarko@fb:
В каком смысле? » Запустил с установкой до конца? Без 1.bin файла рядом с ехе установка отменяется и ошибку не выловить. Что-то терзают меня смутные сомнения, как бэ винда не начала накрываться, сейчас попробую на буке проверить. |
|
Цитата:
Возможно, это зависит и от настроек системы. В общем, я проверить не могу. |
Вложений: 1
MogilShik2007, Проверяй:
|
Цитата:
ЗЫ. проверил свой инстал на буке, там 7х86, никаких ошибок не выдало, фигня какая-то))) |
Вложений: 1
MogilShik2007, кстати, в скрипте много неиспользуемых переменных.
Не то чтобы это было критичным, просто создают лишний мусор в коде) |
Цитата:
Цитата:
Хм, может какие dll некорректно выгружает? |
Цитата:
Но можешь попробовать выгружать вручную по одной библиотеке, по очереди. Код:
UnloadDll(ExpandConstant('{tmp}\...')); |
Блин че за бред, скомпилил скрипт, запустил приложение - все норм, повторно компилю - запускаю приложение при установке мне кричит Не найдено ни одного файла, указанного для ISArcExtract! Файл 1.bin лежит рядом с ехе.
|
Что за библиотека b2p.dll?
|
Цитата:
Далее:
Цитата:
|
Ну яндекс ниха не выдал
|
Цитата:
Добавлено позже: Результат продолжения поиска: #2691 » b2p |
Цитата:
|
MogilShik2007
Ну вы покажите людям скрипт, может кто и поможет. Как мы можем вам сейчас сказать в чём проблема?! На ваш вопрос, сейчас, можно ответить по разному, начиная от того что это вы не верно указали путь и заканчивая полтергейстом! |
|
Вложений: 1
Здраствуйте , подскажите как исправить , а то я вроде все прописал а оно не работает
http://forum.oszone.net/attachment.p...1&d=1422715675 |
ShadeUa, Что прописали? Что не работает?
|
MogilShik2007
Работает как надо. Всё прекрасно распаковывается: Скрытый текст
Ваш ISDone: if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; Положите архив, который нужно распаковать в папку с инсталятором (Output), т.к. у вас указано ('{src}\*.bin'). Распаковка пойдёт в папку с игрой (('{app}')) |
Цитата:
1) https://yadi.sk/i/mXaBk2VNeNGGm 2)https://yadi.sk/i/xbkfXGzHeNGJF 3)https://yadi.sk/i/gmSW0-K5eNGKJ |
Цитата:
Я про другой писал, плюнул на IsDone, запилил через FreeArc - меньше гимора. Цитата:
|
MogilShik2007
Нет, никаких ошибок не было. |
Короче, вот силка на скрипт , кто поможен , буду оочень благодарен
https://yadi.sk/d/SvxtjU43eNPvC |
Вложений: 1
Цитата:
|
|
|
ShadeUa
А как его объявить, вы не поможете? |
Цитата:
Цитата:
|
Цитата:
Код:
LanguagePage.ID: |
Цитата:
|
Цитата:
|
Цитата:
|
Просто уже замучилась вшивать в скрипт ISDone 06, вообще ничего не получается (((
И никто помочь не желает....... |
Цитата:
http://repacks.org.ua/inno-setup/skr...lefield-4.html |
ShadeUa
Он самый. Не я конечно его делала, если бы это была моя работа, тогда я бы и не просила помощи тут. |
Цитата:
|
|
Цитата:
https://yadi.sk/i/GFZI_NnVeNbJk |
Цитата:
Okta_333, https://yadi.sk/d/eafg7hwpeNcWb , вот , ето не твой, я на новый пилил, и на быструю руку , если че ,обращайся к експертам что мне помогали , я так любитель и новичок |
Вложений: 1
Цитата:
Цитата:
|
ShadeUa
И на этом спасибо..... |
Цитата:
|
Dodakaedr, Доброго дня , можете ще помочь по одному попросу , как мне сделать что б ета форма зарывалась кнопкой batton , ну тоисть на туже кнопку которая открывала , и я так понял под кнопкой "выход" которуя я обвел , там находиться кнопка закрытия , да?
https://yadi.sk/i/5XvMBI1gePHSb |
Цитата:
|
Цитата:
|
Здравствуйте, скрипт Metro UI Install, и с не рабочим прогресс баром. Будьте любезны, помочь, заранее спасибо.
|
Тема будет закрыта и переведена в архивное состояние.
Продолжаем тут: Скрипты Inno Setup. Помощь и советы [часть 8] |
Время: 11:01. |
Время: 11:01.
© OSzone.net 2001-