BeJIuKuu_TaHKoBbIu_BouH 4 #328008 Posted May 21, 2016 (edited) del Edited October 19, 2016 by gad_575__2 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #328574 Posted May 24, 2016 (edited) можно ли как то сделать так что бы читало файлы с русским названием к примеру на немецкой винде при извлечении из tmp? Edited May 24, 2016 by Ekspoint Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #328585 Posted May 24, 2016 Английские названия никак не использовать? 1 Quote Share this post Link to post Short link Share on other sites
westfeld 0 #329518 Posted May 28, 2016 всем привет есть вопрос. если выбран компанент то надо запустить программу которая в инностеап положена и запустить на завершении загрузки. не могу найти решении вопроса в интернете все мимо. может тут кто подскажет. спасибо. Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #329551 Posted May 28, 2016 Честно, я ничего не понял. Quote Share this post Link to post Short link Share on other sites
Tombo 0 #330648 Posted June 1, 2016 Привет знатокам! Подскажите, плиз, можно ли и если да, то как организовать в инсталляторе InnoSetup (расширенная версия) такую логику: Имеем два компонента чекбокса. При выборе первого компонента надо установить один набор файлов, при выборе второго - другой. То есть обрабатывать чекбоксы как эксклюзивные. Использование радиокнопок в моем случае не подходит по ряду причин. Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #330874 Posted June 2, 2016 (edited) Привет знатокам! Подскажите, плиз, можно ли и если да, то как организовать в инсталляторе InnoSetup (расширенная версия) такую логику: Имеем два компонента чекбокса. При выборе первого компонента надо установить один набор файлов, при выборе второго - другой. То есть обрабатывать чекбоксы как эксклюзивные. Использование радиокнопок в моем случае не подходит по ряду причин. Легко и просто делаешь один главный и последующие к нему подглавный подподгланый и т.д. и так же за ним второй главный2 и что к нему набор подглавный2 подподглавный2 Т.е. название галавный и главный2 разные и соответственно ветки разные... вот и все если не понял в скайп nowikbiz поясню... вот например: Name: BMP1; Description: "{cm:Mods42}"; Types: full compact custom; Flags: disablenouninstallwarning;Name: BMP1\Battle_Assistant; Description: "{cm:Mods43}"; Types: full custom; Flags: disablenouninstallwarning;Name: BMP1\Arty_Intuition; Description: "{cm:Mods44}"; Types: full custom; Flags: disablenouninstallwarning;Name: BUK; Description: "{cm:Mods66}"; Types: full compact custom; Flags: disablenouninstallwarning;Name: BUK\Chasi_v_angare; Description: "{cm:Mods67}"; Types: full compact custom; Flags: disablenouninstallwarning;Name: BUK\11\Chasi_v_angare; Description: "{cm:Mods68}"; Types: full custom; Flags: exclusive disablenouninstallwarning;Name: BUK\12\Chasi_v_angare; Description: "{cm:Mods69}"; Types: full compact custom; Flags: exclusive disablenouninstallwarning;Name: BUK\21\Chasi_v_angare; Description: "{cm:Mods70}"; Types: full custom; Flags: exclusive disablenouninstallwarning;Name: BUK\22\Chasi_v_angare; Description: "{cm:Mods71}"; Types: full custom; Flags: exclusive disablenouninstallwarning; Выглядеть будет вот как: Edited June 2, 2016 by Nowik1971 Quote Share this post Link to post Short link Share on other sites
Tombo 0 #330881 Posted June 2, 2016 (edited) Прошу прощения, совершенно вылетел из головы важный момент когда составлял сообщение. Надо сделать так, что если выбран и 1 и 2 компонент, то устанавливается только то, что прописано для второго. То есть игнорируем первый, если выбран второй. Edited June 2, 2016 by Tombo Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #330890 Posted June 2, 2016 Надо сделать так, что если выбран и 1 и 2 компонент, то устанавливается только то, что прописано для второго. То есть игнорируем первый, если выбран второй. В секциях [Files] и [Tasks], в параметре "Components", допустимы логические выражения.Например (из справки): Components: a or b Components: a and b Components: not a or b Components: not (a or b) Quote Share this post Link to post Short link Share on other sites
Tombo 0 #330896 Posted June 2, 2016 Спасибо за наводку. Почитал мануал по этому делу и понял, что придется делать отдельную страницу для таких чекбоксов? These tasks appear as check boxes and radio buttons on the Select Additional Tasks wizard page То есть использовать Tasks совместно с существующими чекбоксами не получится или я ошибаюсь? Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #330899 Posted June 2, 2016 (edited) Опубликовано 52 минут назад Прошу прощения, совершенно вылетел из головы важный момент когда составлял сообщение. Надо сделать так, что если выбран и 1 и 2 компонент, то устанавливается только то, что прописано для второго. То есть игнорируем первый, если выбран второй. [Files] Source: "моды\0.9.15\твиккер 0.9.15\Только удаление тумана на всех картах\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить облака\Tweaker_Skyboxes\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE\OT; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить эффект движения деревьев\Tweaker_Trees\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE\OLVE; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить дым из выхлопных труб танков\Tweaker_Tank_Smoke\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE\OLVE\ODO; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить дым от уничтоженных танков\Tweaker_Tank_Destroy_Smoke\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE\OLVE\ODD; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить дым и пламя от выстрелов\Tweaker_Tank_Shoot_Smoke\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE2; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить эффекты уничтожения танков\Tweaker_Tank_Destroy\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE2\OT; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить эффект взрыва снарядов и попадания в объекты\Tweaker_Shells\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE2\OLVE; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить эффекты разрушения объектов\Tweaker_Environment\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE2\OLVE\ODO; BeforeInstall: AddToMemo; Source: "моды\0.9.15\твиккер 0.9.15\Отключить эффекты попадания по танкам\Tweaker_Tank_Hit\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: VE2\OLVE\ODD; BeforeInstall: AddToMemo; [Tasks] Name: "VE"; Description: "У меня слабый ПК и я хочу поднять FPS"; Flags: exclusive; Name: "VE\OT"; Description: "Отключение тумана на всех картах"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; Name: "VE\OLVE"; Description: "Отключение лишних визуальных эффектов"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "VE\OLVE\ODO"; Description: "Отключение движения облаков"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; Name: "VE\OLVE\ODD"; Description: "Отключение движения деревьев"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; //**************************** Name: "VE2"; Description: "У меня слабый ПК и я хочу поднять FPS2"; Flags: exclusive; Name: "VE2\OT"; Description: "Отключение тумана на всех картах2"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; Name: "VE2\OLVE"; Description: "Отключение лишних визуальных эффектов2"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "VE2\OLVE\ODO"; Description: "Отключение движения облаков2"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; Name: "VE2\OLVE\ODD"; Description: "Отключение движения деревьев2"; GroupDescription: "Отключение эффектов:"; Flags: checkablealone; Я понял вот так надо? примерно, если первый выбираешь то все из первого если второй то все из второго списка??? Edited June 2, 2016 by Nowik1971 Quote Share this post Link to post Short link Share on other sites
wotsite 9 #332853 Posted June 13, 2016 Знатоки, подскажите пожалуйста как при установке ХВМ сохранить старые настройки. Есть установщик ХВМ. Логика следующая, если чекбокс для сохранения старого конфига отмечен, страница с выбором компонентов ХВМ пропускается и устанавливается ХВМ без папки configs. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #332855 Posted June 13, 2016 (edited) Знатоки, подскажите пожалуйста как при установке ХВМ сохранить старые настройки. Есть установщик ХВМ. Логика следующая, если чекбокс для сохранения старого конфига отмечен, страница с выбором компонентов ХВМ пропускается и устанавливается ХВМ без папки configs. Объявить установку XVM в [Files] тремя строками: для папок "0.9.15.0.1", "mods", "configs" соответственно. Можно и двумя, но это уже зависит от расположения папок в проекте. В параметре Check, строки объявленной папки "configs", вставить проверку необходимых параметров для распаковки данной папки. Например: [Files] ...; Check: IsComponentSelected('XVM') and not SaveConfigChecked(); [Code] Function SaveConfigsChecked(); begin Result := SaveConfigsCheckBox.Checked; end; Где SaveConfigsCheckBox - ваш "чекбокс для сохранения конфига". А страницу выбора компонентов XVM можно пропустить воспользовавшись уже приведённой выше функцией (или же можно обратиться к чекбоксу напрямую): Function ShouldSkipPage(PageID: Integer): Boolean; begin case PageID of XVMComponentsPage: SaveConfigsChecked(); end; end; Edited June 13, 2016 by Kotyarko_O 1 Quote Share this post Link to post Short link Share on other sites
wotsite 9 #332856 Posted June 13, 2016 (edited) Спасибо большое! Все получилось и работает! Edited June 13, 2016 by wotsite Quote Share this post Link to post Short link Share on other sites
Yusha 8 #332877 Posted June 13, 2016 всем привет есть вопрос. если выбран компанент то надо запустить программу которая в инностеап положена и запустить на завершении загрузки. не могу найти решении вопроса в интернете все мимо. может тут кто подскажет. спасибо. Если я правильно понял, то надо запустить некий исполняемый фаил exe после завершения исталляции... тогда вот набросок для запуска например игры... появится чекбокс на последнем окне. [Run] Filename: {app}\worldoftanks.exe; Description: Запустить игру; Flags: postinstall skipifsilent skipifdoesntexist waituntilidle; Check: FileExists(ExpandConstant('{app}\worldoftanks.exe')) 1 1 Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #333493 Posted June 17, 2016 (edited) Может так: "скрипты модов/ParamsRememberer.iss" ? Подскажите пожалуйста вот у меня на второй страницы стоят моды и они идут как копмонент 1,... при установке модпака пользователь выбирает что-то, а потом при повторном запуске пака выбранное не сохраняется и приходится по новой вспоминать что было выбрано, как сделать чтобы выбор запоминался....??? вот как у меня сделано и что надо исправить: фал модов: ----------- Source: "моды\2\PMOD\battleGui_sixthSenseDuration\10\*"; DestDir: "{app}\res_mods\0.9.15.0.1"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: COMP1(ExpandConstant('{cm:CompAnother4}')); Source: "моды\2\PMOD\battleGui_sixthSenseDuration\12\*"; DestDir: "{app}\res_mods\0.9.15.0.1"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: COMP1(ExpandConstant('{cm:CompAnother5}')); --------------- файл компонентов----------- AddRadioButton(CustomMessage('CompAnother4'), '', 2, False, True, nil); AddRadioButton(CustomMessage('CompAnother5'), '', 2, True, True, nil); По умолчанию второй запоминается, но если поставить на первый галочку, то при повторной установке нет запоминания и опять на втором выбор чек бокса стоит... Если можно, то покажите на моем примере так мне понятнее будет... ------------------ Это по паре строк... что нужно добавить или убрать??? копал уже что сам понимаю, но таких знаний еще нет и ничего не получается... Как все же это реализовать, на первой и на странице таска все запоминается...??? Спасибо заранее! Edited June 18, 2016 by Nowik1971 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #333513 Posted June 18, 2016 AddRadioButton(CustomMessage('CompAnother4'), '', 2, False, True, nil);AddRadioButton(CustomMessage('CompAnother5'), '', 2, True, True, nil); По умолчанию второй запоминается Нет, он не будет запоминаться. Здесь ему прямо указано быть отмеченным.Можно вручную записывать всю информацию об отмеченных компонентах в реестр, затем считывать её оттуда, для восстановления. Пример. Можно записывать всё прямо в деинсталлятор. В таком случае можно использовать подобную конструкцию, как и в примере выше, но заменить сами выполняющие функции (запись в реестр на запись в деинсталл, считывание из реестра на считывание из деинсталла). 1 Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #333517 Posted June 18, 2016 Спасибо за помощь, но подключить не получается ошибку выдает что не находит файл File not found "скрипты модов/ParamsRememberer.is"... Сохранил скрипт в папку по пути у себя и прописал в файле подключаемых скриптов вот так #include "скрипты модов/ParamsRememberer.iss А главном скрипте прописал Procedure CurStepChanged(CurStep: TSetupStep);varErrorCode: Integer;beginif CurStep = ssDone thenbeginIf CheckBox1 thenbeginExec(ExpandConstant('{app}\WoTLauncher.exe'), '', '', SW_SHOW, ewNoWait, ErrorCode)end;end;//SearchComponents(CurStep);CustomBackupChanged(CurStep); {бекап}//CopyAdioChanged(CurStep); {копирование audio}//CopyTextChanged(CurStep); {копирование text}CreateLogModsChanged(CurStep); {создание лог файла модов}SetInstallParams(CurStep); {Запоминание выбранных компонентов)jumpModsFromNetworkChangeds(CurStep); {скачки модов из сети}end;//======================================================================\\ и ошибка... Где косячу не пойму? Quote Share this post Link to post Short link Share on other sites
Xotabych 337 #333519 Posted June 18, 2016 Может так: "скрипты модов/ParamsRememberer.iss" ? Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #333521 Posted June 18, 2016 (edited) Может так: "скрипты модов/ParamsRememberer.iss" ? Прописано вот так:#include "скрипты модов/ParamsRememberer.iss в файле скриптов подключаемых, а ошибку именно выдает без одной буквы расширения... вот и не пойму что не так? Установлен Инно версии 5.5.1.ее2u все остальное -то работает...? но если подключаю этот скрипт то не компилет, т.к. почему. то его не видит с правильным расширением... Edited June 18, 2016 by Nowik1971 Quote Share this post Link to post Short link Share on other sites