BeJIuKuu_TaHKoBbIu_BouH Posted May 21, 2016 Share Posted May 21, 2016 (edited) del Edited October 19, 2016 by gad_575__2 @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted May 24, 2016 Share Posted May 24, 2016 (edited) можно ли как то сделать так что бы читало файлы с русским названием к примеру на немецкой винде при извлечении из tmp? Edited May 24, 2016 by Ekspoint @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted May 24, 2016 Share Posted May 24, 2016 Английские названия никак не использовать? 1 @ Quote Link to comment Short link Share on other sites More sharing options...
westfeld Posted May 28, 2016 Share Posted May 28, 2016 всем привет есть вопрос. если выбран компанент то надо запустить программу которая в инностеап положена и запустить на завершении загрузки. не могу найти решении вопроса в интернете все мимо. может тут кто подскажет. спасибо. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted May 28, 2016 Share Posted May 28, 2016 Честно, я ничего не понял. @ Quote Link to comment Short link Share on other sites More sharing options...
Tombo Posted June 1, 2016 Share Posted June 1, 2016 Привет знатокам! Подскажите, плиз, можно ли и если да, то как организовать в инсталляторе InnoSetup (расширенная версия) такую логику: Имеем два компонента чекбокса. При выборе первого компонента надо установить один набор файлов, при выборе второго - другой. То есть обрабатывать чекбоксы как эксклюзивные. Использование радиокнопок в моем случае не подходит по ряду причин. @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted June 2, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
Tombo Posted June 2, 2016 Share Posted June 2, 2016 (edited) Прошу прощения, совершенно вылетел из головы важный момент когда составлял сообщение. Надо сделать так, что если выбран и 1 и 2 компонент, то устанавливается только то, что прописано для второго. То есть игнорируем первый, если выбран второй. Edited June 2, 2016 by Tombo @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 2, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
Tombo Posted June 2, 2016 Share Posted June 2, 2016 Спасибо за наводку. Почитал мануал по этому делу и понял, что придется делать отдельную страницу для таких чекбоксов? These tasks appear as check boxes and radio buttons on the Select Additional Tasks wizard page То есть использовать Tasks совместно с существующими чекбоксами не получится или я ошибаюсь? @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted June 2, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
wotsite Posted June 13, 2016 Share Posted June 13, 2016 Знатоки, подскажите пожалуйста как при установке ХВМ сохранить старые настройки. Есть установщик ХВМ. Логика следующая, если чекбокс для сохранения старого конфига отмечен, страница с выбором компонентов ХВМ пропускается и устанавливается ХВМ без папки configs. @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 13, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
wotsite Posted June 13, 2016 Share Posted June 13, 2016 (edited) Спасибо большое! Все получилось и работает! Edited June 13, 2016 by wotsite @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted June 13, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted June 17, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 18, 2016 Share Posted June 18, 2016 AddRadioButton(CustomMessage('CompAnother4'), '', 2, False, True, nil);AddRadioButton(CustomMessage('CompAnother5'), '', 2, True, True, nil); По умолчанию второй запоминается Нет, он не будет запоминаться. Здесь ему прямо указано быть отмеченным.Можно вручную записывать всю информацию об отмеченных компонентах в реестр, затем считывать её оттуда, для восстановления. Пример. Можно записывать всё прямо в деинсталлятор. В таком случае можно использовать подобную конструкцию, как и в примере выше, но заменить сами выполняющие функции (запись в реестр на запись в деинсталл, считывание из реестра на считывание из деинсталла). 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted June 18, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
Xotabych Posted June 18, 2016 Share Posted June 18, 2016 Может так: "скрипты модов/ParamsRememberer.iss" ? @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted June 18, 2016 Share Posted June 18, 2016 (edited) Может так: "скрипты модов/ParamsRememberer.iss" ? Прописано вот так:#include "скрипты модов/ParamsRememberer.iss в файле скриптов подключаемых, а ошибку именно выдает без одной буквы расширения... вот и не пойму что не так? Установлен Инно версии 5.5.1.ее2u все остальное -то работает...? но если подключаю этот скрипт то не компилет, т.к. почему. то его не видит с правильным расширением... Edited June 18, 2016 by Nowik1971 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.