AtotIK 580 #208164 Posted August 18, 2014 Darksoul, большинство приходит сюда клянчить, а не учиться. Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #208175 Posted August 18, 2014 Darksoul, большинство приходит сюда клянчить, а не учиться. А, я то думал что учиться:) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #208178 Posted August 18, 2014 (edited) @Kotyarko_O, Уважаемый есть смысл просить у Вас поделится простейшим с распаковкай для собственных нужд ? В этой теме @AtotIK (вроде) где-то давал пример с распаковкой архива.. Где-то в середине если тебе жалко обьяснить человеку одну функцию, то ты или сам не знаешь, как это осуществить, или слишком жадный, если первый вариант, я ничего не скажу, это у всех бывает, ну а если второй, то что ты тогда в этой теме делаешь? Не знаю? (да, не знаю. И в моём модПаке это осуществлено тоже не мной, само как-то). [сарказм].Слишком жадный? - Ну да, я ведь вообще тут никому не помогаю\не помогал последние страниц 60. [сарказм]. Edited August 18, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Shpyrny 0 #208188 Posted August 18, 2014 Ребят не подскажите, можно ли сделать ярлык на приложение, и чтоб ярлык отправлялся на рабочий стол ,приложение находиться внутри пака,То есть оно устонавливаеться, моим паком?Если можно то как? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #208193 Posted August 18, 2014 (edited) Ребят не подскажите, можно ли сделать ярлык на приложение, и чтоб ярлык отправлялся на рабочий стол ,приложение находиться внутри пака, То есть оно устонавливаеться, моим паком? Если можно то как? [Icons] Name: "{commondesktop}\Имя создаваемого ярлыка"; Filename: "{app}\приложение(файл), на который ссылается ярлык."; Comment: "Описание ярлыка (всплывающий хинт при наведении)."; Edited August 18, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Shpyrny 0 #208196 Posted August 18, 2014 @Kotyarko_O, Спасибо большое) Quote Share this post Link to post Short link Share on other sites
AlaCraD 3 #208488 Posted August 19, 2014 (edited) Выбирает оба компонента вместо одного (эксклюзивный флаг стоит на обоих)! В чем проблема? #define MyAppName "AlaCraD's MoD-Pack" #define MyAppVersion "0.9.2" #define MyAppPublisher "AlaCraD" #include "SHFileOperation.iss"; #define Patch "0.9.2" [Setup] ; Примечание: Значение AppId идентифицирует это приложение. ; Не используйте одно и тоже значение в разных установках. ; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.) AppId={{91EE0711-9FC2-4E05-99B8-690BF039DB53} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} LicenseFile=D:\Папка AlaCraD\1\12.txt InfoBeforeFile=D:\Папка AlaCraD\1\2.rtf InfoAfterFile=D:\Папка AlaCraD\1\Документ Microsoft Word.rtf DefaultDirName=World of Tanks DefaultGroupName=12 AllowNoIcons=yes OutputDir=C:\Users\Михаил\Desktop OutputBaseFilename=setup Compression=lzma SolidCompression=yes AlwaysShowDirOnReadyPage=yes DirExistsWarning=no SetupIconFile=png.ico CreateUninstallRegKey=no WizardImageFile=123.bmp WizardSmallImageFile=D:\Папка AlaCraD\1\1.bmp AppendDefaultDirName=no [types] Name: "custom"; Description: "Custom installation"; Flags: iscustom [code] procedure RedesignWizardForm; var i: integer; BtnPanel: TPanel; BtnImage: TBitmapImage; begin with WizardForm.WizardSmallBitmapImage do begin Left := ScaleX(0); Width := ScaleX(500); Height := ScaleY(60); end; end; var BackupPage: TWizardPage; DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton; const BackupDescText = 'Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.' #13#13 'Выберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\{#Patch}", удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.'; DeleteDescText = 'Установщик удалит все файлы в папках.'; MoveDescText = 'Установщик сделает резервную копию всех файлов в папках.'; NoneDescText = 'Установщик оставит всё как есть.'; function BackupCheck_1(): Boolean; var BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel; begin BackupPage:=CreateCustomPage(wpWelcome, '', ''); BackupDescLabel:=TLabel.Create(WizardForm); BackupDescLabel.Parent:=BackupPage.Surface; BackupDescLabel.Left:=0; BackupDescLabel.Top:=0; BackupDescLabel.Width:=BackupPage.SurfaceWidth; BackupDescLabel.Height:=90; BackupDescLabel.AutoSize:=False; BackupDescLabel.Wordwrap:=True; BackupDescLabel.Caption:=BackupDescText; DeleteRadioButton:=TNewRadioButton.Create(WizardForm); DeleteRadioButton.Parent:=BackupPage.Surface; DeleteRadioButton.Checked:=False; DeleteRadioButton.Top:=95; DeleteRadioButton.Width:=BackupPage.SurfaceWidth; DeleteRadioButton.Font.Style:=[fsBold]; DeleteRadioButton.Font.Size:=9; DeleteRadioButton.Caption:='Удалить файлы' DeleteDescLabel:=TLabel.Create(WizardForm); DeleteDescLabel.Parent:=BackupPage.Surface; DeleteDescLabel.Left:=18; DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4; DeleteDescLabel.Width:=BackupPage.SurfaceWidth; DeleteDescLabel.Height:=40; DeleteDescLabel.AutoSize:=False; DeleteDescLabel.Wordwrap:=True; DeleteDescLabel.Caption:=DeleteDescText; MoveRadioButton:=TNewRadioButton.Create(WizardForm); MoveRadioButton.Parent:=BackupPage.Surface; MoveRadioButton.Checked:=True; MoveRadioButton.Top:=140; MoveRadioButton.Width:=BackupPage.SurfaceWidth; MoveRadioButton.Font.Style:=[fsBold]; MoveRadioButton.Font.Size:=9; MoveRadioButton.Caption:='Сделать резервную копию файлов' MoveDescLabel:=TLabel.Create(WizardForm); MoveDescLabel.Parent:=BackupPage.Surface; MoveDescLabel.Left:=18; MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4; MoveDescLabel.Width:=BackupPage.SurfaceWidth; MoveDescLabel.Height:=40; MoveDescLabel.AutoSize:=False; MoveDescLabel.Wordwrap:=True; MoveDescLabel.Caption:=MoveDescText; NoneRadioButton:=TNewRadioButton.Create(WizardForm); NoneRadioButton.Parent:=BackupPage.Surface; NoneRadioButton.Checked:=False; NoneRadioButton.Top:=185; 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:=NoneRadioButton.Top + NoneRadioButton.Height + 4; NoneDescLabel.Width:=BackupPage.SurfaceWidth; NoneDescLabel.Height:=40; NoneDescLabel.AutoSize:=False; NoneDescLabel.Wordwrap:=True; NoneDescLabel.Caption:=NoneDescText; end; function BackupCheck_2(): Boolean; begin If DeleteRadioButton.Checked then begin DelTree(ExpandConstant('{app}\res_mods\{#Patch}'), True, True, True); DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; function BackupCheck_3(): Boolean; begin If MoveRadioButton.Checked then begin MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\'),ExpandConstant('{app}\res_mods\backup\{#Patch}')); MoveDir(ExpandConstant('{app}\res_mods\xvm\'),ExpandConstant('{app}\res_mods\backup\xvm')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin BackupCheck_2(); BackupCheck_3(); end; end; procedure InitializeWizard(); begin BackupCheck_1(); WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; RedesignWizardForm; end; function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK); Result := False; end; end; end; [Languages] Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" [Messages] ButtonCancel=В Ангар [Components] Name: "m"; Description: "AlaCraD's MoD-Pack"; Name: "m\p"; Description: "Прицелы:"; Flags: checkablealone Name: "m\p\b"; Description: "Прицел Jove'a + Арт прицел"; Flags: exclusive Name: "m\p\a"; Description: "прицел CircleCross + Арт прицел"; Flags: exclusive Name: "m\p\c"; Description: "Прицел Vspishk'и + Арт прицел"; Flags: exclusive Name: "m\p\d"; Description: "Прицел Murasor'a + Арт прицел"; Flags: exclusive Name: "m\q"; Description: "УГН:"; Flags: checkablealone Name: "m\q\a"; Description: "Цветовая слепота"; Flags: exclusive Name: "m\q\b"; Description: "Тройные круглые скобки"; Flags: exclusive Name: "m\q\c"; Description: "Уголками"; Flags: exclusive Name: "m\q\d"; Description: "Квадратные скобки"; Flags: exclusive Name: "m\w"; Description: "Камера:"; Flags: checkablealone Name: "m\w\a"; Description: "Командирская камера"; Name: "m\w\b"; Description: "Отключение дрожжания динамической камеры"; Name: "m\w\c"; Description: "10-х позиционный снайперский прицел"; Name: "m\w\d"; Description: "NoScroll"; Name: "m\w\e"; Description: "Отключение черноты в снайперском приыеле"; Name: "m\w\f"; Description: "Свободная камера (Caps Lock + F3)"; Name: "m\a"; Description: "Дамаг панель:"; Flags: checkablealone Name: "m\a\f"; Description: "Дамаг панель от GambitER"; Flags: exclusive Name: "m\a\c"; Description: "Дамаг панель от Zayaz"; Flags: exclusive Name: "m\a\d"; Description: "Минималистическая дамаг панель"; Flags: exclusive Name: "m\a\e"; Description: "Дамаг панель от Shtys"; Flags: exclusive Name: "m\b"; Description: "Изменение Лампы 6-е чувство:"; Flags: checkablealone Name: "m\b\b"; Description: "Эмблема AlaCraD"; Flags: exclusive Name: "m\b\c"; Description: "Красный значок"; Flags: exclusive Name: "m\c"; Description: "Информационная панель:"; Flags: checkablealone Name: "m\c\b"; Description: "Информативная (Полная)"; Flags: exclusive Name: "m\c\a"; Description: "Минималистичная (КД и обзор)"; Flags: exclusive Name: "m\c\c"; Description: "Новая версия информативной панели"; Flags: exclusive Name: "m\c\d"; Description: "Цветная версия панели"; Flags: exclusive Name: "m\c\e"; Description: "Подробная информативная панель с иконками"; Flags: exclusive Name: "m\d"; Description: "Индикатор направления атаки"; Flags: checkablealone Name: "m\n"; Description: "Направление стволов противников на мини-карте"; Flags: checkablealone Name: "m\e"; Description: "SafeShot(отключение стрельбы по союзникам и трупам) "; Flags: checkablealone Name: "m\r"; Description: "Модели танков:"; Flags: checkablealone Name: "m\r\a"; Description: "Белые трупы танков"; Name: "m\r\b"; Description: "Отключение камуфляжей и надписей"; Name: "m\r\c"; Description: "Цветные рикошеты и непробития"; Name: "m\r\d"; Description: "Постоянная обводка союзной техники(Настраивается в клиенте игры)"; Name: "m\r\e"; Description: "Яркие ЖД платформы"; Name: "m\t"; Description: "Звоночек крита модуля противника + 10с. таймер 6-го чувства"; Name: "m\y"; Description: "Модификации в чате:"; Name: "m\y\a"; Description: "Сообщение - Я засвечен!"; Name: "m\y\b"; Description: "Результат прошлого боя в чат + Отображение ревпауна во время загрузки боя + Сессионная статистика"; Name: "m\i"; Description: "Модификации в ангаре:"; Name: "m\i\a"; Description: "Ангары:"; Name: "m\i\a\b"; Description: "Минималистичный ангар"; Flags: exclusive Name: "m\i\a\c"; Description: "Ангар 9 Мая"; Flags: exclusive Name: "m\i\a\d"; Description: "Песчаный ангар"; Flags: exclusive Name: "m\i\a\e"; Description: "Ангар Карта мира"; Flags: exclusive Name: "m\i\b"; Description: "Часы и дата"; Name: "m\i\c"; Description: "Колесо загрузки"; Name: "m\i\c\b"; Description: "Колесо загрузки в виде скорпиона"; Flags: exclusive Name: "m\i\c\a"; Description: "Колесо загрузки в виде шестеренки "; Flags: exclusive Name: "m\i\c\c"; Description: "Колесо загрузки в виде краба"; Flags: exclusive Name: "m\i\d"; Description: "Панель танков в два ряда"; Name: "m\i\e"; Description: "Вертикальное дерево развития танков"; Name: "m\o"; Description: "Отмена режима Авто при выборе игрового сервера"; Name: "m\p"; Description: "Удаление тумана"; Name: "m\a"; Description: "Комплексный мод XVM"; Name: "m\a\b"; Description: "Конфиг AlaCraD"; Flags: exclusive Name: "m\s"; Description: "WoT_Tweaker 0.9.2"; [Files] Source: "D:\Папка AlaCraD\1\ab\*"; DestDir: "{app}\res_mods\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\a\b Source: "D:\Папка AlaCraD\1\n\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\n Source: "D:\Папка AlaCraD\1\qa\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\q\a Source: "D:\Папка AlaCraD\1\qb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\q\b Source: "D:\Папка AlaCraD\1\qc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\q\c Source: "D:\Папка AlaCraD\1\qd\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\q\d Source: "D:\Папка AlaCraD\1\ed\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\d Source: "D:\Папка AlaCraD\1\ee\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\e Source: "D:\Папка AlaCraD\1\ebb\*"; DestDir: "{app}\res_mods\xvm\res\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\b\b Source: "D:\Папка AlaCraD\1\ebc\*"; DestDir: "{app}\res_mods\xvm\res\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\b\c Source: "D:\Папка AlaCraD\1\ra\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\r\a Source: "D:\Папка AlaCraD\1\rb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\r\b Source: "D:\Папка AlaCraD\1\rc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\r\c Source: "D:\Папка AlaCraD\1\rd\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\r\d Source: "D:\Папка AlaCraD\1\re\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\r\e Source: "D:\Папка AlaCraD\1\t\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\t Source: "D:\Папка AlaCraD\1\ya\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\y\a Source: "D:\Папка AlaCraD\1\ib\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\b Source: "D:\Папка AlaCraD\1\id\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\d Source: "D:\Папка AlaCraD\1\ie\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\e Source: "D:\Папка AlaCraD\1\s\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\s Source: "D:\Папка AlaCraD\1\icc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\c\c Source: "D:\Папка AlaCraD\1\ica\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\c\a Source: "D:\Папка AlaCraD\1\icb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\c\b Source: "D:\Папка AlaCraD\1\iab\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\a\b Source: "D:\Папка AlaCraD\1\iac\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\a\c Source: "D:\Папка AlaCraD\1\iad\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\a\d Source: "D:\Папка AlaCraD\1\iae\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\i\a\e Source: "D:\Папка AlaCraD\1\p\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\p Source: "D:\Папка AlaCraD\1\o\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\o Source: "D:\Папка AlaCraD\1\yb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\y\b Source: "D:\Папка AlaCraD\1\pa\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\p\a Source: "D:\Папка AlaCraD\1\pb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\p\b Source: "D:\Папка AlaCraD\1\pc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\p\c Source: "D:\Папка AlaCraD\1\pd\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\p\d Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\{#Patch}\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Source: "D:\Папка AlaCraD\1\wa\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\a Source: "D:\Папка AlaCraD\1\wb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\b Source: "D:\Папка AlaCraD\1\wc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\c Source: "D:\Папка AlaCraD\1\wd\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\d Source: "D:\Папка AlaCraD\1\wf\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\f Source: "D:\Папка AlaCraD\1\eaf\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\a\f Source: "D:\Папка AlaCraD\1\eac\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\a\c Source: "D:\Папка AlaCraD\1\ead\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\a\d Source: "D:\Папка AlaCraD\1\eca\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\c\a Source: "D:\Папка AlaCraD\1\eae\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\a\e Source: "D:\Папка AlaCraD\1\ecc\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\c\c Source: "D:\Папка AlaCraD\1\ecb\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\c\b Source: "D:\Папка AlaCraD\1\ecd\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\c\d Source: "D:\Папка AlaCraD\1\ece\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\c\e Source: "D:\Папка AlaCraD\1\we\*"; DestDir: "{app}\res_mods\{#Patch}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: m\w\e Edited August 20, 2014 by AlaCraD Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #208496 Posted August 19, 2014 (edited) Выбирает оба компонента вместо одного (эксклюзивный флаг стоит на обоих)! В чем проблема? Во-первых, нужен скрин не секции [Files], а секции [Components]. И, на будущее, если прикрепляете какой-либо код, прячьте его под тег Кода (<> на панели инструментов, чуть выше поля, где вводится сообщение), а то код становится нечитабельным просто. Edited August 19, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
AlaCraD 3 #208497 Posted August 19, 2014 (edited) Во-первых, нужен скрин не секции [Files], а секции [Components]. И, на будущее, если прикрепляете какой-либо код, прячьте его под тег Кода (<> на панели инструментов, чуть выше поля, где вводится сообщение), а то код становится нечитабельным просто. хорошо, исправлюсь. с проблемой сам разобрался - изменил путь до файлов с ...\eab на ...\eae Но все равно не понимаю, в чем была причина проблемы Edited August 19, 2014 by AlaCraD Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #208501 Posted August 19, 2014 О, сразу виден пользователь ужасного "браузера" Гугл Хром с включённым бездушным переводом всего, что попадается "под руку". Фу. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #208503 Posted August 19, 2014 (edited) О, сразу виден пользователь ужасного "браузера" Гугл Хром с включённым бездушным переводом всего, что попадается "под руку". Фу. Ну да, теперь, когда весь скрипт был введён под тег code, видно.. Но все равно не понимаю, в чем была причина проблемы Из двух компонентов, которые ты заскринил, в скрипте есть только один: "m\a\b" Edited August 20, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #208849 Posted August 21, 2014 Насчёт скачивания файлов. Такое искали? Прикрутил как раз распаковку архивов к этой штуке: Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #208854 Posted August 22, 2014 Конечно такое:) Делись примером:) Quote Share this post Link to post Short link Share on other sites
ZLoy 14 #209011 Posted August 22, 2014 Насчёт скачивания файлов. Такое искали? Прикрутил как раз распаковку архивов к этой штуке: Да такое !!! Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #209035 Posted August 23, 2014 @AtotIK, тоже itd? Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #209037 Posted August 23, 2014 нет, скорее всего idp Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #209044 Posted August 23, 2014 Kotyarko_O, использовал IDP (Inno Download Plugin). Quote Share this post Link to post Short link Share on other sites
-zav- 188 #209059 Posted August 23, 2014 Ну и кто осмелится выложить рабочий вариант? :) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #209060 Posted August 23, 2014 (edited) Скрипт только для примера, у меня всё не так написано/описано/подключено! Пример примитивный, включайте воображение и фантазию! Изначальный скрипт имел другой вид, я его немного покромсал под свои нужды. В любом случае рекомендую ознакомиться с оригиналом, справкой и примерами: https://code.google.com/p/inno-download-plugin/. Тестировал под 5.5.1ee2 (u). [Setup] #include "Embedded\idp.iss"; [Setup] AppName= My Program AppVersion= 1.0 DefaultDirName= C:\My Program OutputDir=. [Files] Source: "Embedded\idp.dll"; Flags: dontcopy; Source: "Embedded\7zA.exe"; Flags: dontcopy; Source: "Key.png"; DestDir: "{app}"; Flags: overwritereadonly ignoreversion; [Types] Name: "full"; Description: "Full installation"; Flags: iscustom; [Components] Name: "Bla"; Description: "Bla-bla-bla"; Types: full; Name: "Bla\1"; Description: "Bla-bla-bla-bla"; Types: full; Name: "Bla\2"; Description: "Bla-bla-bla-bla-bla"; Types: full; [_Code_] /// --- UnPack Begin --- /// procedure ExtractResources(); var ResultCode: Integer; begin ExtractTemporaryFile('7zA.exe'); CreateDir(ExpandConstant('{app}\7zA_Files')); CreateDir(ExpandConstant('{app}\res_mods')); FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False); If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\hangar_1.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_1.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_1.7z')); end; If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_2.7z')); end; DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True); end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssDone then begin ExtractResources(); end; end; /// --- UnPack End --- /// procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpInstalling then begin if IsComponentSelected('Bla\1') then begin idpAddFile('http://www.com/hangar_1.7z', ExpandConstant('{app}\hangar_1.7z')); end; if IsComponentSelected('Bla\2') then begin idpAddFile('http://www.com/hangar_2.7z', ExpandConstant('{app}\hangar_2.7z')); end; end; end; procedure InitializeWizard(); begin idpDownloadAfter(wpInstalling); end; Для хранения файлов рекомендую использовать FTP-хранилище (например selectel.ru). Сервис обладает удобной закачкой файлов, контролем за ними, счётчиком скачиваний и т.д. При регистрации начисляется 10 рублей, который хватает для хранения файлов и обмен нескольких Гб трафика. На самый худой случай можно создать на ucoz.ru бесплатный сайт (места дают 400 Мб). З.Ы. Если не сможете подключить скрипт - ваши проблемы. IDP_and_Extract_Example_AtotIK.rar Edited August 23, 2014 by AtotIK 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #209064 Posted August 23, 2014 (edited) Ну и кто осмелится выложить рабочий вариант? :) Держи целых 6 (есть всё, что нужно для компиляции): Inno Download Plugin.rar Для тех, кому горит, есть маленький лайфхак: из itd можно вытащить скрипт сравнения версий и из idp скрипт загрузки (а ща заспойлерю: мало кто из вас сможет разобраться в скрипте обновления из itd, просто не осилите [для тех, кому очень-очень горит: скрипт сравнения версий в itd называется example 3 2.0]). Кушайте :) Edited August 23, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites