[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Универсальный Авто-обновляемый Инсталлятор (АОИ)
Универсальный АОИ представляет собой ячейку (или ячейки) со множеством методов воздействия на эту ячейку и также множеством информационных каналов (для получения информации о ячейке)
концепция ячейки:
ячейка - это папка, в которой содержатся некие файлы (дистрибутивы определённой программы). для простого юзера ячейка - некий черный ящик.
для неё (ячейки) есть некие типы воздействия (пока их два) и несколько информационных каналов.
типы воздействия:
- первый: обновление инсталлятора (запуск обновлятора)
- второй: запуск инсталлятора
- обновление инсталлятора (запуск обновлятора):
в каждой ячейке есть файл up.bat или pu.bat
его назначение - обновление программ установки (дистрибутивов) из тернета и коррекции версии этих программ
- запуск инсталлятора
это файл ins.bat
его назначение - тихая (возможно) установка программы из файлов (дистрибутивов) в ячейке
файлы для обновления инсталлятора. должен присутствовать только один (или-или):
up.bat - для автообновляемых ячеек!
pu.bat - для обновляемых вручную!
файл для установки инсталлятора:
ins.bat - для автоустановочной ячейки и для установки вручную.
информационные каналы:
- файлы с расширением .txt - текстовые файлы. в них содержится некая информация о ячейке.
вот описание всех информационных файлов:
первая группа информационных файлов (они присутствуют всегда)
name.txt - название ячейки (программы, которая поставится из инсталлятора)
name1.txt - характеристики ячейки: автообновление - автоустановка
version.txt - версия инсталлятора. для автообновляемых инсталляторов заполняется автоматически при обновлении. если ячейка не автообновляемая, то версию надо вводить вручную!
date.txt - дата крайнего успешного обновления
вторая группа информационных файлов (присутствие их необязательно, но важно) .. они введены для использования ячеек в программе MInstall
about.txt - файл описания ячейки (до 600 символов)
group.txt - группа, к которой принадлежит ячейка (число)
guid.txt - строка для проверки уже установленной программы в системе
icon.txt - номер иконки для отображения в списке выбора
icon.ico - вместо номера иконки можно использовать иконку программы
license.txt - число для показа лицензионности программы. free - лицензия (репак) - или trial (ограничения). если файла нет - программа free!
os.txt - совместимость с системой (на какие системы можно поставить инсталлятор). если файла нет - инсталлятор можно поставить на все системы!
два текстовых файла (version.txt и date.txt) изменяются динамически при обновлении инсталляторов.
остальные текстовые фалы неизменны! заполнение и содержимое их - это проблема пользователя! достаточно раз заполнить эти файлы, они остаются неизменны!
файл alarm.txt - это маркер успешности ячейки.
понятие успешности:
ячейка обновляется из тернета. для некоторых ячеек обновление быстрое, для других требуется много времени .. всякое бывает, тернета может и не быть, он может прерваться в любой момент, можем сами прервать обновление ячейки.
как происходит обновление:
- создается файл alarm.txt с неким содержимым (!)
- далее скачивается некая страница с офф-сайта, которая анализируется, в ней находятся строки с ссылками на дистрибутивы и/или версией
- далее идет скачивание не самого дистрибутива, а его копии (качается не сам файл дистрибутив.exe а его копия дистрибутив.exe.~)
- когда копия скачалась полностью - она переименовывается в нормальное название (дистрибутив.exe)
- возможно повторное скачивание для x86-x64 версий
- в конце из уже скачанных строк выделяется версия и записывается в файл version.txt
- в файл date.txt записывается дата обновления. не дата создания инсталлятора, а дата успешного обновления ячейки!
- если всё ок, то файл-маркер alarm.txt удаляется .. ячейка переходит в успешную форму
успех - это состояние ячейки. в успешной ячейке есть инсталлятор, файл версии и файл даты обновления.
неуспешная ячейка - в ней есть те же данные, но возможно старые и в процессе крайнего обновления их были проблемы.
понятие живая-мертвая ячейка:
живая ячейка. периодически появляются обновления дистрибутивов. с помощью обновление инсталлятора (запуск обновлятора) мы можем обновить инсталлятор (и автоматически обновить файл версии).
это живая ячейка .. мы можем обновить её. после обновления в ней будут (возможно) другие файлы (но с тем же именем! имена файлов неизменны!)
мертвая ячейка. в ней содержится инсталлятор уже необновляемой программы. к примеру Winamp .. Google Chrome для WinXp .. Ms .NET Framework 4.6.2
обновить мертвую ячейку можно. но получим те же данные! она не изменится!
мертвую ячейку нужно обновлять только когда она неуспешна!
понятие честная-нечестная ячейка:
обновление инсталляторов (а по сути это обычное скачивание дистрибутивов) - проблема одна. с оффсайта скачать страницу, содержащую ссылки на дистрибутивы, это довольно просто :)
вот получить версию скачанного дистрибутива - это иногда более проблемно, чем получить сам дистрибутив.
иногда на оффсайте просто нет упоминание о версии (или я её просто не нахожу).
честная ячейка - получение инсталлятора и версии этого инсталлятора идет из одного места - это оффсайт данной программы!
нечестная ячейка - дистрибутив получаем с оффсайта, а версию получаем из другого места! чем это грозит? несовпадением версии (заявленной и реальной в дистрибутиве)
практически все ячейки - честные! нечестные ячейки - зачастую браузеры (а именно он-лайновые версии)
для управления и использования ячеек есть Пакет АвтоОбновляемого Инсталлятора (ПАОИ)
как начать работу:
- запустите start.exe - интегратор Пакета
- перейдите на или нажмите кнопку Help и читайте описание Пакета и всех файлов в Пакете.
в качестве демо- (хотя это нормальные сборники программ) можно использовать архивы ячеек.
вложения:
AUI 01.11.17.rar - Пакет АвтоОбновляемого Инсталлятора (ПАОИ)
и
Browzers.rar - рабочий пример (все браузеры в одной оболочке)
еще:
Soft4Boost.rar - сборник всех программ от Soft4Boost Suite
Вложение
Вложение
Вложение


Последний раз редактировалось: wadimus (2017-11-03 11:50), всего редактировалось 4 раз(а)

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Зачем это нужно?
создание сборника программ для автоустановки довольно долгое дело. скачать новые версии программ, закинуть в оболочку, описание и коррекция правильной установки - а вдруг в момент коррекции вышла новая версия программ? опять скачиваем, меняем, проверяем ..
так вот, этот комплект ячеек для леххкого создания своей сборки авто-установочных программ.
изначально ячейки пустые.
заходим в каждую (!) и запускаем файл up.bat
ждем .. при наличие тернета ячейка заполнится программами для дальнейшего инсталлирования
ячейка LibreOffice тяжёлая (необходимо скачать около 500 мег!)
далее можно работать .. инсталлировать нужные программы. для этого заходим в нужную ячейку и запускаем файл ins.bat
ЗЫ. ячейка 2GIS немного некорректна :)
- привязал её для своего города (кырск)
- потерял инсталлятор для создания альтернативных ярлыков
я писал как тихо ставить 2GIS на бабочке:
http://nnm-club.name/forum/viewtopic.php?p=8973884#8973884

[Цитировать]

    Profvit
  • 1322
  • Стаж: 9 лет 3 месяца
  • Сообщений: 53
  • Репутация:3

    [+] [-]
wadimus, очень полезная штука ay! За пол часа прикрутил к MInstAll и получилось автообновление большей части нужных мне программ одной кнопкой, сейчас прикручу еще и их же установку вообще будет bb.

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2587
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
43481УАИ
Привет! aa
Спасибо! ay respekt
По сути своей получается "автообновляемый сборник программ с автоустановкой"
Один раз собрал сборник "под себя" и более нет необходимости качать какие-либо сборники программ с торрентов.
Клёво было бы собрать запуск этих батников на обновление/инсталляцию прог в оболочку MInstAll (с описанием прог), но это естественно нужно немало времени убить на это дело.
И ещё вопросик. При обновлении (скачивании) новой версии инсталятора, старый инсталлятор "убивается" или просто добавляется в папку новый инсталлятор и со временем они там накапливаются? Если да, то может имеет смысл прописать в батнике up.bat, что-то по принципу, как прописано в батнике del_old_driverpacks.bat из Snappy Driver Installer на проверку и "убийство" в ячейке старых версий инсталлятора (по окончанию скачивания с интернета новой версии инсталлятора)??? ah bk-Profvit,
Приветствую! aa
И я как раз об этом же...
...Мысли сходятся... ag

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Profvit, sergeysvirid
в ячейках при обновлении старые файлы (которые обновляются) удаляются!
вместо них скачиваются новые, но с теми же названиями!
поэтому инсталляторы будут продолжать работать.
поменяется только содержимое файла version.txt
замечу, что контроля скачиваемых (обновляемых) файлов нет! пока нет .. надо продумать как это сделать
еще, при прерывании обновлятора (вручную, тернет пропал) - файл не докачается, он будет с тем же названием но неполный.
некоторые обновляторы не докачивают файлы, если они не обновились на офф-сайте, что удобно. но некоторые в любом случае скачаются, даже если версии не сменились. нужен контроль закачиваемых файлов, но это потом ..
и вообще, в ячейках возможно хранить другие файлы.
поглядите ячейку WinRar. там есть файл rarreg.key (ключ), при установке он подхватывается и регистрирует нашу инсталляцию

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2587
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
43493
в ячейках при обновлении старые файлы (которые обновляются) удаляются!
вместо них скачиваются новые, но с теми же названиями!
Понял, спасибо!
43493
замечу, что контроля скачиваемых (обновляемых) файлов нет! пока нет .. надо продумать как это сделать
еще, при прерывании обновлятора (вручную, тернет пропал) - файл не докачается, он будет с тем же названием но неполный.
А вот это, да, есть над чем голову поломать... think bw ab

[Цитировать]

    Profvit
  • 1322
  • Стаж: 9 лет 3 месяца
  • Сообщений: 53
  • Репутация:3

    [+] [-]
wadimus, ну можно сделать примитивную защиту от пропадания интернета, чтобы при закачке присваивалось имя новому файлу ..._update и после удачной закачки удалял старую версию, а только потом переименовывал ..._update в новую. В итоге даже если во время обновления программ будет сбой то останутся старые версии.
sergeysvirid, взаимно aa,
ну так мысль то прекрасная, сделать раз и облегчить себе жизнь в последствии ab

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Один раз собрал сборник "под себя" и более нет необходимости качать какие-либо сборники программ с торрентов.
В сборниках большинство программ - репаки, с удаленной адварью и т.д.
И есть проблема с недокачкой и с изменением страницы, откуда качается файл. Например скачай Anvir и сравни распознанный номер версии и реальный

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
обновляторы и инсталляторы открыты, это обычные bat-файлы.
предложите идею, опробуйте её на какой-либо ячейке ..
некий backup с возможностью отката взад .. определить удачность закачки - вводить контроль закачки с помощью errorlevel? наверное, надо.

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
43501В сборниках большинство программ - репаки, с удаленной адварью и т.д.
да, но многие опасаются ставить репаки .. друг у меня попался на установке компаса 3Д, сейчас переспрашивает - а эта прога бессплатная? :)
я продумывал немного за репаки .. описал, как сделать ячейку для Zentimo.
тут решение такое: или ты сам репакуешь, или качаешь репаки с тернета.
если сам - то можно зарегить программу разными способами: работа с реестром, замена каких-либо файлов ..
вот один хитрый способ сделал для JRiver Media Center, поглядите ..
инсталяционный файл можно распаковать, поправить файлы крякалкой и опять запаковать в репак. я писал об этом где-то ..
но прога часто обновляется, что приводит с замене крякнутых файлов оригиналами.
как метод: ставим оригинальный инсталлятор (он ставится по тихому сюда: "%ProgramFiles%\J River\Media Center 23")
а в корень J River\ ("%ProgramFiles%\J River") копируем кряк jriver.mdc.ptch.exe.
если его потом запустить, то он автоматически закрякает все нужные файлы

[Цитировать]

    bios83
  • 2205
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 101
  • Репутация:16

    [+] [-]
Вариант оболочки для установка и обновления программ MInst. К примеру у меня на нем все реализовано.

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет
  • Сообщений: 1132
  • Репутация:77

    [+] [-]
  • Откуда: Ростов-на-Дону
wadimus, а чего батники в ANSI? В OEM866 сохранять уже не модно?

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
vovan1982, а там есть слова на русском? поэтому что 1251, что 866 - разницы нет!
мне удобнеее в 1251. поисковые запросы на офсайтах задаю в батничках только на англ. ответы приходят на тарабарщине (если русский сайт), но мне важны ссылки на файлы. текстовые файлы тоже в 1251.
в некоторых батниках комменты есть на русском. они заремлены и для юзера не важны, спец переключит язык просто.
ЗЫ. замечу, что все названия запускаемых файлов у меня без пробелов!
не Firefox Setup 54.0.1.exe а Firefox-Setup-x64.exe

Комментарий от vovan1982


Если бы не было, то не спрашивал. Вчера запустил обновлятор телеграмм, а там то, что должно на русском, кракозябрами.

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет
  • Сообщений: 749
  • Репутация:91

    [+] [-]
43526Вариант оболочки для установка и обновления программ MInst. К примеру у меня на нем все реализовано.
дальнейший мой ход будет - структуризация и отказ от говорящих названий ячеек. :)
не Cent Browser, а некий код, типа 03.01.21.044
ибо: название ячейки можно прочитать из файла name.txt + version.txt, да и в оболочке такие названия удобнее

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
43538wadimus, а чего батники в ANSI? В OEM866 сохранять уже не модно?
А как ты их различаешь, если там нет ни одной русской буковки? ai

Страница 1 из 9


Показать сообщения:    

Текущее время: 14-Дек 02:51

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы