Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Универсальный Авто-обновляемый Инсталлятор АОИ, теория Идеальной Сборки (ИС)

Ответить
Настройки темы
Универсальный Авто-обновляемый Инсталлятор АОИ, теория Идеальной Сборки (ИС)

Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


Универсальный Авто-обновляемый Инсталлятор АОИ, теория Идеальной Сборки (ИС)

концепция ячейки
Скрытый текст
ячейка - это папка, в которой содержатся некие файлы.
для простого юзера ячейка - черный ящик.

для неё (ячейки) есть два типа воздействия и несколько информационных каналов.

типы воздействия:
- первый: обновление инсталлятора (запуск обновлятора)
- второй: запуск инсталлятора

- обновление инсталлятора (запуск обновлятора):
в каждой ячейке есть файл up.bat или pu.bat (а может и не быть)
его назначение - обновление программ установки из тернета и коррекции версии этих программ

- запуск инсталлятора
это файл ins.bat
его назначение - тихая (возможно) установка программы из файлов в ячейке

файлы для обновления инсталлятора. должен присутствовать только один (или-или):
up.bat - для автообновляемых ячеек!
pu.bat - для обновляемых вручную!

файл для установки инсталлятора:
ins.bat - для автоустановочной ячейки и для установки вручную.

информационные каналы:
- файлы с расширением .txt - текстовые файлы. кодовая страница (кодировка) стандартная 1251.

в информационных каналах содержится вся информация о ячейке.

вот описание всех информационных файлов:

первая группа ячеек (они присутствуют всегда)

name.txt - название ячейки (программы, которая поставится из инсталлятора)
name1.txt - характеристики ячейки: автообновление + автоустановка
version.txt - версия инсталлятора. для автообновляемых инсталляторов заполняется автоматически при обновлении.
date.txt - дата крайнего успешного обновления. если крайнее обновление было неуспешным, то дата не изменяется! при успешном обновлении используется текущая дата.

вторая группа ячеек (присутствие их необязательно, но важно) .. они введены для использования ячейки в сборке программ (для этого используется MInstall)
about.txt - файл описания ячейки (до 600 символов! возможно и больше)
group.txt - группа, к которой принадлежит ячейка (число)
guid.txt - строка для проверки уже установленной программы в системе
icon.ico (или icon.txt) - иконка (или номер иконки) для отображения данной ячейки в списке выбора в сборке

license.txt - число. для показа лицензионности программы. free - лицензия (репак) - или trial (ограничения). если файла нет - программа free!
os.txt - совместимость с системой (на какие системы можно поставить инсталлятор). если файла нет - инсталлятор можно поставить на все системы!

все текстовые файлы однострочные! в процессе дальнейшего использования ячеек в сборке используются только первые строки этих файлов.

разберём подробнее информационные потоки.

name.txt - название ячейки

следует отличать название каталога (папки), в которой расположена данная ячейка и название этой ячейки.
для избежания проблемм названия всех папок желательно делать только англ.буквами, цыфрами, без русских или иных национальных символов.
а вот название ячейки (содержимое файла name.txt) может быть любым.

name1.txt - характеристики ячейки

ячейка предназначена для двух задач: обновление и/или установки.
обновление ячейки бывает автоматическое (запуском обновлятора) или неавтоматическое (для обновления нужны некие усилия)
установка инсталлятора из ячейки тоже бывает автоматическое (запуск дистрибутива с ключами) или неавтоматичесое (установка требует ручное действие)
в файле name1.txt записано 2-хзначное число, которое и показывает эти характеристики данной ячейки.

возможные комбинации такие:
11 - ячейку можно автоматически обновить и автоматически инсталлировать. это самый благоприятный вариант!
10 - ячейку можно автоматически обновить, но для установки инсталлятора требуется ручное воздействие (как вариант нажатие кнопок Далее-Далее .. -Конец)
01 - ячейка не автообновляемая, но установка инсталлятора автоматическое. как вариант это репаки.
00 - ячейку надо обновлять и устанавливать инсталляторы вручную.

version.txt - версия инсталлятора

используется первая строка! версия определяется (для автообновляемых ячеек) автоматически, как она (версия) прописана на офсайтах данного инсталлятора.

date.txt - дата успешного обновления

в файле содержится дата, когда данная ячейка успешно обновилась. форма даты (для русской версии Win) такой: ДД.ММ.ГОД (15.03.2018)
при дальнейшем использовании в сборках показ даты без года (15.03) для упрощения вывода

group.txt - группа, к которой принадлежит ячейка (число)

группирование (каталогизация, тегирование) ячейки очень важна!
в ячейке содержится инсталлятор, который можно группировать по разл.критериям.
например ячейка Mozilla Firefox (в ней содержится инсталлятор, что устанавливает браузер Mozilla Firefox в систему)
тегирование может быть таким: интернет, браузеры
все возможные и нужные теги пронумерованы.

есть файл All-Group.txt (он расположен в корне сборки .. вернее в корне папки, где расположены все ячейки, которые представляют собой сборку)

содержимое файла All-Group.txt такое (я использовал свою сборку всех браузеров):
Код: Выделить весь код
[Group]
0=- неправильная группа-
1=-- Браузеры на основе Firefox
2=-- Браузеры на основе Chromium
3=-- Браузеры на основе Internet Explorer
4=-- Комбо-Браузеры (много-движковые)
...
99=-- Выход / Перезагрузка
и в каждой ячейке, что составляют мою сборку, есть файл group.txt
вот он такой для ячейки Waterfox Browser (его содержимое):
1

если файла group.txt нет, то группа считается нулевой (0)
тогда при создании сборки такие ячейки будут выделятся в группу - неправильная группа-

изначально в ячейках нет тегирования. задача группирования - это проблема пользователя!
причина: просто я не хочу навязывать своё вИдение группирования.
диапазон числа 0 - 99 (99 - для выхода)

в моих готовых сборках тегирование есть!

icon.ico (или icon.txt)

для визуального представления списка ячеек в сборке желательно использовать иконки. MInstall (как оболочка) использует иконки размером 32х32
для удобства вместо файла icon.ico можно использовать файл icon.txt
в файле icon.txt содержится число х (> или < 0). MInstall использует для коллекции иконок два файла (dll-1.dll и dll-2.dll)

расположение этих файлов от файла MInstall.exe такое:
Код: Выделить весь код
\profiles\Icons\
число х (к примеру 234 - используем номер иконки 234 из файла dll-1.dll) (-87 - используем номер иконки 87 из файла dll-2.dll)

Важно!
файл icon.ico важнее! если в ячейке есть кроме файла icon.ico текстовый файл icon.txt - то будет использоваться иконка icon.ico!
если таких файлов нет - будет подставляться первая иконка из файла dll-1.dll

about.txt - файл описания ячейки

описание ячейки, краткое описание программы, что поставится при установки инсталлятора.
используется только одна строка! если необходимо вывести информацию на сл.строке, используем символ |
длина строки ограничена. предел 500-600 символов.

файлы guid.txt license.txt os.txt не рассматриваются. см. описание программы MInstall, там эти файлы подробно описаны.

файл alarm.txt - это маркер успешности ячейки

понятие успешности

ячейка обновляется из тернета. если содержащийся в ячейке инсталлятор обновился, то маркера alarm.txt в ячейке нет!

успех - это состояние ячейки. в успешной ячейке есть инсталлятор, файл версии и файл даты обновления.
неуспешная ячейка - в ней есть те же данные, но возможно старые и в процессе обновления (инсталлятора) были проблемы.

еще важное понятие: живая-мертвая ячейка.

ячейка живая. периодически появляются обновление софтов. с помощью обновление инсталлятора (запуск обновлятора) мы можем обновить инсталлятор и обновить файл версии.
это живая ячейка .. иногда она обновляется.

ячейка мертвая. в ней содержится инсталлятор уже необновляемой программы. к примеру Winamp .. Google Chrome для WinXp .. Ms .NET Framework 4.6.2 ..
обновить мертвую ячейку можно. но получим те же данные! она не изменится!

концепция Идеальной Сборки
Скрытый текст
сборка - это интегратор + Мастер автоустановки приложений (MInstAll) + ячейки

интегратор (файл start.exe):

управляющий сборкой. с помощью него можно перестроить сборку (собрать MInstAll) в различных режимах (фазах) и также запустить MInstAll
на одном уровне с файлом start.exe есть файл start.ini - он текстовый, для управления интегратором.

папка Scripts - в ней скрипты для управления, вывода, создания фаз (режимов сборки)
папка ToolZ - фазо-создатели (bat-файлы). исполняемые файлы (текстовые, можно править и корректировать)

Фазы - режимы перестройки сборки. пока фазы 2. сборка 2-хфазная!
первая фаза: собрать сборку в режиме установка
вторая фаза: собрать сборку в режиме обновления

!!
третья фаза Обновление необновляемых инсталляторов пока разрабатывается.
!!

смысл фаз. сборка динамичная, ячейки, которые составляют сборку, могут в любой момент обновиться и/или инсталлироваться.
при обновлении ячейки может изменится версия инсталлятора в ячейке, могут возникнуть ошибки при обновлении.
а Мастер автоустановки приложений (MInstAll) требует при работе статичные файлы профилей.
поэтому после обновления ячеек требуется перестройка профилей (пересборка)

интегратор взял отсюда:
http://azjio.ucoz.ru/

Мастер автоустановки приложений (MInstAll):

взял отсюда:
http://forum.oszone.net/thread-265582.html

Ячейки:

ячейки, которые содержит наша сборка, расположены в определенном месте.
обычно (можно менять) это папка Install
которая расположена на одном уровне с интегратором

в папке Install расположены ячейки в виде папок и есть еще один файл:
All-Group.txt
в этом файле прописаны строки для группирования сборки

Итак, структура Идеальной Сборки:

start.exe - файл интегратора
start.ini - файл управления интегратором

далее на одном уровне папки:

Install - папка, где расположены ячейки
MInstall - Мастер автоустановки приложений
Scripts - папка скриптов и прочих файлов для создания фаз
ToolZ - папка фазо-создателей


Обновлятор
Скрытый текст
рассмотрим только авто-обновляемые ячейки.
в каждой ячейке есть файл up.bat (а может и не быть). его назначение - обновление программ установки из тернета и коррекции версии этих программ

файл up.bat - текстовый, его можно просмотреть или откорректировать в простом блокноте.

сам файл шаблонизирован и сделан блоками.

рассмотрим блоки:

- блок определения переменных

переменные используются одни и те же.
переменная прямой ссылки на файл, переменная названия файла, который будет сохранятся (это наш дистрибутив)
переменная донора (исходной веб-страницы), где расположена ссылки на нужные файлы
переменная парсинговых выражений
переменная версии
аналогичных переменных может быть несколько.

- блок парсинга (если он нужен). при парсинге из переменных создается текстовый файл (он мусорный, потом будут удален), в котором расположены нужные ссылки.

- блок анализа из подготовленного текстового файла выделяются в переменные прямые ссылки на скачиваемые файлы.

- блок скачивания файлов из подготовленных переменных (файлы скачиваются в названия по переменным). возможно скачивание 1, 2 или более файлов. например отдельно дистрибутив для х86 и отдельно для х64

- блок анализа (верификации) для определения версии дистрибутива. версия определяется или по версии уже скачанного файла или берется из результатов парсинга.

- блок записи файлов в ячейку создание файлов version.txt и date.txt

- блок чистки от мусорных файлов

пример.
рассматриваю ячейки из своей сборки Все Браузеры

Mozilla Firefox
(в сборке 2-е ячейки для получения дистрибутива. первая - официальная. вторая - получение инсталлятора по FTP)

подробнее рассмотрим первый способ.
есть прямые ссылки для скачивания, которые мы будем использовать.

- блок переменных
переменные названий готовых файлов:
Код: Выделить весь код
set "w1=Firefox-Setup-x86.exe"
set "w2=Firefox-Setup-x64.exe"
переменные прямых ссылок:
Код: Выделить весь код
set "g1=http://download.mozilla.org/?product=firefox-latest&os=win&lang=ru"
set "g2=http://download.mozilla.org/?product=firefox-latest&os=win64&lang=ru"
сразу переходим на блок скачивания файлов

предварительно перед началом процесса создаем файл alarm.txt

это символ неуспеха процесса обновления. если процесс обновления будет успешен, то в конце этот файл удалится.
если же будут проблемы со скачиванием или мы сами прекратим процесс, то этот файл останется!

скачивание идет не сразу!
расcчитываем размер файла переменной %w1% (Firefox-Setup-x86.exe).
если мы уже его скачивали (то есть в ячейке уже находится инсталлятор и мы хотим обновить ячейку), вычисляем его размер и заносим в переменную %fsize%
если файла нет, в переменную %fsize% пишем 0
далее вычисляем размер дистрибутива (по прямой ссылке из переменной %g1%) напрямую из тернета, без скачивания самого дистрибутива!
число (размер файла) заносим в переменную %nsize%

сравниваем переменные %fsize% и %nsize%

если они одинаковые, то наш инсталлятор (или первый дистрибутив) одинаков с расположенным в тернете! и его скачивать не надо!

если есть отличия, то дистрибутив изменился. качаем его.
скачивание идет не напрямую в файл переменной %w1%, а в промежуточный файл %w1%.~ (Firefox-Setup-x86.exe.~)
файл скачался, проверяем его по размеру.
если размер равен 0, то в процессе скачивания произошли ошибки (отсутствие тернета, недоступность файла, возможно сами прервали скачивание), тогда просто переходим на блок чистки и выход.

размер не равен 0, скачивание успешное, переименовываем промежуточный файл в нужный %w1% (Firefox-Setup-x86.exe).

если инсталлятор состоит из нескольких дистрибутивов (Firefox-Setup-x64.exe), выполняем еще раз блок скачивания
но используем другую пару переменных %g2% и %w2%

блок верификации (определение версии инсталлятора)

зачастую версия вычисляется из уже готовых дистрибутивов используя определенный файл от мелкософта.
но для мозилл такой способ не годится!
версию вычисляем блоком верификации, используя определенный файл напрямую определяя версию из тернета.

далее выполняем блок записи файлов в ячейку (заносим переменные версии и даты в нужные файлы.)
убираем маркер успешности alarm.txt

выполняем блок чистки от мусорных файлов

всё!

обновлятор в ячейке отработал.
поменялись ли дистрибутивы (инсталлятор) в этой ячейке?
смотрим версию и дату обновления.
сама ячейка визуально не изменилась. файлы одни и те же. стал новее инсталлятор - это хорошо
даже если в процессе обновления произошли ошибки (остался файл alarm.txt), то предыдущие файлы дистрибутивов остались!


Инсталлятор
Скрытый текст
файл ins.bat

его назначение - тихая (возможно) установка программы из файлов в ячейке.

в ячейке есть файл name1.txt - характеристики ячейки: автообновление + автоустановка
если вторая цЫфра в 2-х-значном числе равна 1 (11 или 01), то эту ячейку можно инсталлировать тихо с ключами.

красота концепции ячейки: дистрибутивы (инсталлятор) скачиваются из тернета в независимости от названия файлов, расположенных на офсайте!
поэтому содержимое ячеек (число и название файлов) неизменно! могут появляться мусорные файлы, которые леххко удалить.

пример.
Mozilla Firefox
прямая ссылка:
http://download.mozilla.org/?product...os=win&lang=ru

если скормить эту ссылку любому качальщику или вставить её в браузере, то пойдет скачивание дистрибутива.

на 18.03.18 будет предлагаться сохранить такой файл: Firefox Setup 59.0.1.exe

мы же его сохраняем под определённым именем! и это имя неизменно!
Firefox-Setup-x86.exe

в файле version.txt (при успешном обновлении ячейки, т.е. запуска обновлятора) будет записана строка: 59.0.1

неизменность имён дистрибутивов при любом действии обновлятора приводит к упрощению работы инсталлятора.

в файле ins.bat в кодировке 866 приведены строки, которые тихо устанавливают Mozilla Firefox:
Код: Выделить весь код
if defined ProgramW6432 (
set file=Firefox-Setup-x64.exe
) else (
set file=Firefox-Setup-x86.exe
)
start /wait %file% -ms -ira
и тут также существуют блоки и переменные.
- блок определения переменной %file% дистрибутива для установки:
Код: Выделить весь код
if defined ProgramW6432 (
set file=Firefox-Setup-x64.exe
) else (
set file=Firefox-Setup-x86.exe
)
- блок авто-установки нужного дистрибутива из переменной:
Код: Выделить весь код
start /wait %file% -ms -ira
некоторые инсталляторы не позволяют установить дистрибутивы тихо с ключами.

пример. (использую ту же сборку Всех Браузеров)
QQBrowser

файл ins.bat такой:
Код: Выделить весь код
start /wait QQBrowser_Setup.exe
и в файле name1.txt этой ячейки число такое:
10
т.е. обновляем эту ячейку автоматически, а устанавливаем руками


Изоляция ячеек
Скрытый текст
ячейка - независима от иных папок. убрав любую ячейку и перестроив сборку (выполнив фазы пересборки), мы удалим любые следы упоминания об этой ячейки!
аналогично, добавив ячейку и перефазировав сборку - у нас появится еще одна программа для установки-обновления (если такие возможности есть в этой ячейке)

главная проблема для пользователя: группирование новых ячеек! контролируйте содержимое файла group.txt в такой ячейке.
если такого файла не будет, то ячейка при фазировании попадет в неправильную группу.
в файле All-Group.txt перечислены наши группы. выберите нужную группу (или добавьте строку, содержащую новую группу и число)
и потом в новой ячейке исправьте или введите нужное число в файле group.txt

в папке есть только один файл инсталлятора ins.bat, что подразумевает одно действие при установке.
а как же быть, если возможно установить один и тот же инсталлятор разными путями, используя другие ключи установки.

пример.
ячейка Comodo Internet Security (CIS) 10
допустим, это папка с названием CIS10 (Full)
в ней содержится обновлятор up.bat, который может обновить дистрибутивы cis_setup_x86.msi и cis_setup_x64.msi

и в ней содержится инсталлятор ins.bat, который может установить полную версию Comodo Internet Security:
Код: Выделить весь код
if defined ProgramW6432 (
set file=cis_setup_x64.msi
) else (
set file=cis_setup_x86.msi
)
start /wait msiexec.exe /i %file% /qn REBOOT=ReallySuppress CIS_LANGUAGE_ID=1049 SETOURDNSSERVER=2
а как же быть с возможностью установки Comodo Firewall (CF) 10 из тех же дистрибутивов?

решение:
создаем рядом еще одну ячейку. название папки CIS10 (CF)
в этой ячейки нет обновлятора (файла up.bat)
поэтому эта ячейка не будет учитываться в фазе: собрать сборку в режиме обновления
но, т.к. есть инсталлятор (файл ins.bat), то эта ячейка будет учитываться в фазе: собрать сборку в режиме установка

файл ins.bat в этой ячейке CIS10 (CF) такой:
Код: Выделить весь код
set where=CIS10 (Full)
if defined ProgramW6432 (
set file=cis_setup_x64.msi
) else (
set file=cis_setup_x86.msi
)
start /wait "" msiexec.exe /i "%where%\%file%" /qn REBOOT=ReallySuppress CIS_LANGUAGE_ID=1049 INSTALLANTIVIRUS=0 SETOURDNSSERVER=2
Reg Add "HKLM\SYSTEM\software\Comodo\Firewall Pro\Configurations\2\HIPS\Settings\" /v "Mode" /t "REG_DWORD" /d "0x018ee7fe" /f
т.е. опустимся на уровень ниже, зайдем в папку, которая описана переменной %where% (это папка CIS10 (Full)) и там запустим с ключами нужный файл из переменной %file%

ячейка CIS10 (CF) взаимо-зависима от ячейки CIS10 (Full)
и т.к. в ней нет обновлятора (файла up.bat), то версия этой ячейки не изменится. а она и не нужна! можно убрать файл version.txt
при фазировании (фаза: собрать сборку в режиме установка) вместо отсутствующих файлах будет подставляться пробел.
остальные файлы нужны!


Утилиты и папка Scripts
Скрытый текст
для работы обновлятора (файла up.bat или pu.bat) нужны некоторые файлы (утилиты), к примеру: скачать файл по ссылке, проверить его размер по ссылке, утилиты для ускорения скачивания, утилита верификации

держать такие файлы в каждой ячейке неразумно. поэтому все они собраты и размещены в отдельной папке.
эта папка Scripts
расположение её рядом с нашими ячейками, что составляют сборку.
эта папка должна быть! иначе многие блоки в обновляторах ячеек не сработают.

вызов таких утилит из любых ячеек таков:
к примеру, скачать ускорителем промежуточный файл, что определён переменной %w1% по ссылке, которая определена переменной %g1%
Код: Выделить весь код
"%~dp0..\Scripts\axel.exe" "%g1%" -a -n 8 -o "%~dp0%w1%.~"
файл axel.exe берется так:
- спустились на уровень ниже ячейки (..\) т.е. это корневая папка где расположены все наши ячейки
- и запустили файл axel.exe из ячейки Scripts\

перечислю утилиты, что содержатся в ячейке Scripts (тоже считаем эту папку ячейкой, но в ней нет ни обновлятора ни инсталлятора, поэтому при обработки фаз эта ячейка будет игнорироваться)
замечу, что в папке, где содержатся ячейки, которые составляют нашу сборку, могут присутствовать любые папки и файлы.
если в таких папках нет файлов up.bat или pu.bat и ins.bat - то они не учавствуют в фазах!

wget.exe - главный файл для получения файлов из тернета. в папке присутствует в двух видах: wget-x86.exe и wget-x64.exe (по умолчанию используется х86 вариант)
axel.exe (+ cygwin1.dll) - ускоритель скачивания. используется вместо wget.exe. реально ускоряет получения нужных файлов. некоторые сайты не поддерживают такой вид скачивания. в таком случае используем старый и медленный wget.exe
http2cli.exe - утилита получения парсенных страниц
netsize.exe - утилита получения размера скачиваемого файла без его реального скачивания.
dl.exe - утилита для скачивания файлов, используется для получения версии качаемого файла без его реального скачивания.
filever.exe - утилита получения версии реального (скачанного) файла. не работает на некоторых файлах (мозилло-подобных браузерах к примеру)
7z.exe (+ 7z.dll) - утилита разархивирования некоторых файлов. есть часть дистрибутивов, которые распространяются в архивном виде. в ячейках дистрибутивы уже готовые для инсталляции. поэтому в некоторых ячейках после скачивания нужных файлов, они распаковываются.
AkelPad.exe (AkelPad.ini) - небольшой текстовый редактор для показа текстовых файлов.
aria2c.exe - комбайн. большой и мощный. пока в ячейках не использую. но пусть будет!

файлы http2cli.exe netsize.exe и dl.exe взял отсюда:
http://dzzb.ru/blog/http2cli
http://dzzb.ru/blog/2pomogators

остальные взяты на просторах тернета

Отправлено: 15:25, 22-03-2018

 

Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


Парсинг и проблемы устойчивость ссылок.
Скрытый текст
Устойчивость ссылок

Компания, ведёт дела ни ниве программизЬма, разрабатывает программы (продукты), их обновляет с различными временными периодами.
Каждая такая компания имеет сайт, на котором размещает ссылки для скачивания этих продуктов, или доверяет размещение таких ссылок своего рода огромным интеграторам.

например сайт
http://www.softpedia.com/
каждый день, час обновляется, некий продукт обновился - отдельная страница для этого продукта обновляется, на этой странице обновляется версия, формируется новая ссылка на новый продукт.

вот, на 22.02.18 я выловил на этом сайте интересную для меня программу:
Wise Anti Malware
http://www.softpedia.com/get/Securit...-Malware.shtml
скачаем эту страницу и поглядим, где расположена строка, показывающая версию:
Код: Выделить весь код
var spjs_prog_version="1.2.6.68 Beta";
и эта ссылка навечно! навсегда! пока программисты, разрабатывающие сайт Softpedia не изменят саму структуру сайта.
а оно им надо? думаю, нет.

пойду в рассуждениях дальше. тот же сайт Softpedia.
каждая программа, рассмотренная на этом сайте, имеет устойчивую и неизменную страницу, на которой расположены устойчивые и неизменные ссылки на программы, версии и протчее ..

еще пример:
Telegram Desktop
http://www.softpedia.com/get/Interne...-Desktop.shtml
строка версии:
Код: Выделить весь код
var spjs_prog_version="1.2.14";
эта устойчивость в большинстве случаев распространяется на всё!
можно логически понять, люди, разрабатывающие некий продукт, в меньшей степени заботятся об красоте своего сайта, на котором расположены ссылки для скачивания этого продукта.
конечно, есть вариант некоего ребрендинга, импульса перестройки сайта для красивости и удобства.
такая перестройка сайта ведет к потере размещения ссылок, которые мы выловили.

Парсинг

Парсинг - некий процесс, позволяющий из огромного потока ссылок, сайтов, HTML-страниц выловить интересующую нас информацию.

рассмотрим его поподробнее.
для моего обновлятора (файла up.bat) парсинг - это двигатель процесса получения дистрибутивов.
после парсинга выделяются прямые ссылки на скачивания или получения версии. а скачать что-то по ссылкам - уже просто и шаблонно.

вернусь к сайту Softpedia.

Telegram Desktop
страница донора (в терминах )
http://www.softpedia.com/get/Interne...-Desktop.shtml

поисковое выражение:
Код: Выделить весь код
var spjs_prog_version=
сам парсинг выглядит так:
начинаю читать (скачивать страницу донора), используя поисковое выражение. чтение идет в файл (он мусорный, по окончании работы обновлятора удалится)
этот файл тоже неизменный:
down.txt

вот команда парсинга:
Код: Выделить весь код
("%~dp0..\Scripts\wget.exe" -q -O- "http://www.softpedia.com/get/Internet/Chat/Instant-Messaging/Telegram-Desktop.shtml" | findstr /R /C:"var spjs_prog_version=") >"%~dp0down.txt"
в файле down.txt строка:
Код: Выделить весь код
var spjs_prog_version="1.2.14";
и вообще парсинг в обновляторе сделан в виде блока. есть переменные донора, поисковых выражений.
работа блока парсинга заканчивается созданием переменных (с неизменными именами) в которых будут прямые ссылки на скачивания или строка версии.

файл down.txt содержит отпарсенные строки. в идеале хорошо иметь одну строку. но обычно таких строк много.
например парсим ссылки на дистрибутивы для х86 и х64 версий. ссылки разные, значит и строки будут разные.
конечно, можно сузить поиск и отпарсить отдельно ссылку на х86, включая в поисковые выражения упоминания об х86.
потом еще раз парсить ту же страницу уже с другими поисковыми выражениями.

для меня главный принцып - минимализация использования тернета!
парсинг - скачали страницу из тернета.
обработка результатов поиска, выделение ссылок - тернет не используется
далее проверка необходимости качать нужный файл (сравнение уже существующего у нас в ячейке дистрибутива с находящимся в тернете без непосредственного скачивания) - тернет нужен!
если есть необходимость качать файл - он качается! если есть возможность скачать этот файл ускорителем - он качается ускорителем! тоже использование тернета!

если уже есть прямые ссылки на дистрибутивы, пример Yandex:
https://download.cdn.yandex.net/brow.../ru/Yandex.exe
использование тернета такое:
- проверили необходимость скачивания
- если файл по ссылке (его размер) не равен нашему файлу в ячейке - его скачиваем!
остальные действия по определению версии и протчее - тернет не нужен!

еще пример. WinRar

страницы, где имеются ссылки на х86 и х64 разные.
http://www.win-rar.com/postdownload.html?&L=4
http://www.win-rar.com/postdownload....&Version=64bit
тут интересно, если эти ссылки открыть в браузере, то он предложит скачать уже готовый дистрибутив (сработал внутренний парсер на офсайте)
но для нас эта такая же страница, на которой есть реальные ссылки на скачивание!

поисковая строка такая:
Код: Выделить весь код
winrar-versions
после парсинга получим в файле down.txt такую строку:
Код: Выделить весь код
<span><a href="https://www.win-rar.com/fileadmin/winrar-versions/winrar/wrar550ru.exe" class="postdownloadlink">нажмите здесь</a></span>
Обработка результатов парсинга

после парсинга имеем файл down.txt в котором есть одна или несколько строк.
используем ранее рассмотренный принцЫп устойчивости ссылок.

WinRar
в выше приведенной строке интересующая нас ссылка располагается между первым появлением символа " и заканчивается вторым появлением символа "

(открою хитрость, разделитель " очень опасен для поисковых выражений, он заменяется на +++ путем использования при парсинге не простой утилиты wget.exe, а более навороченной http2cli.exe)

используем сл. команду:
Код: Выделить весь код
FOR /F "usebackq tokens=2 delims=+++" %%a in ("%~dp0down.txt") do set "g1=%%a"
в переменной %g1% будет прямая ссылка на дистрибутив:
https://www.win-rar.com/fileadmin/wi.../wrar550ru.exe

если выйдет новая версия архиватора, то по принцЫпу устойчивости ссылок при всех тех же поисковых выражений и команд у нас в итоге в переменной %g1% будет прямая ссылка на дистрибутив!
пусть он будет другим, к примеру:
https://www.win-rar.com/fileadmin/wi.../wrar566ru.exe
но ссылка будет всегда!

вернусь к Telegram Desktop

в файле down.txt строка:
Код: Выделить весь код
var spjs_prog_version="1.2.14";
ищем всё между первым появление символа = и заканчиваем поиск появлением символа ; всё пишем в переменную версии %f%
это: "1.2.14"
далее отрезаем по одному символу вначале и конце.

команды такие:
Код: Выделить весь код
FOR /F "usebackq tokens=2 delims==;" %%a in ("%~dp0down.txt") do set f=%%a
set f=%f:~1,-1%
в переменной %f% будет такая строка: 1.2.14

на 22.03.14 это самая новая версия Telegram Desktop

сразу покаюсь, я не гуру, который изрекает вечную истину я так вижу, я так думаю, и я об этом и пою!
возможно, в моих рассуждениях, делах и теориях много ерунды (рениксы), много неправильных суждений, возможно я неправильно понимаю некие процессы и делаю из этого неправильные выводы.
хм, давай поговорим за это!
приводите примеры, думайте со мной, разбирайтесь лучше меня.

я специально ввел слова ТЕОРИЯ и концепция .. Теория Идеальной Сборки, концепция ячейки.
это не есть ИСТИНА, это есть вИдение некой недостижимой ИСТИНЫ мною.


Верификация и проблемы получения версии
Скрытый текст
главная задача обновлятора - получение прямых ссылок на дистрибутивы, скачивание файлов по этим ссылкам и нормализация названий уже скачанных файлов.
помимо получения файлов, определение версии дистрибутивов - тоже вполне нетривиальная задача.
Версия важна! ведь мы порой начинаем установку того или иного продукта, глядя на версию .. она новее моей установленной! а вот у меня новая версия браузера, срочно установи его! .. в новой версии исправили много ашипок, надо установить её.
знакОмо?

много сайтов, помимо ссылок на дистрибутив, выделяют версию этих дистрибутивов. типа так: вот ссылка на дистрибутив, а вот версия этого дистрибутива. качайте!

однако, есть сайты, где есть ссылка на файл, но нет упоминание об версии. и нет от слова вообще

пример. наш любимый Яндекс.Браузер
https://browser.yandex.ru/

ссылка на дистрибутив есть, версию этого дистрибутива вижу, на 22.03.18 она такая: версия 18.2.1
но попробуйте пропарсить эту версию, её нет! она динамически показывается на странице, используя джава-вызовы из самого офсайта.
как быть?

путь первый. я назвал его нечестным и ячейка, в которой версия инсталлятора получена таким способом - эта нечестная ячейка.

честная ячейка: дистрибутив получен с офсайта, версия получена с офсайта (или получена из самого дистрибутива, но об этом позжее)
нечестная ячейка: некоторые элементы ячейки получены не из официальных ссылок! например версия.

итак. используем огромные интеграторы программ.

например
Softpedia
http://www.softpedia.com/

или такой сайт:
http://www.majorgeeks.com/

страницы, описывающие наш Яндекс.Браузер на таких интеграторах неизменны:
http://www.majorgeeks.com/files/deta...x_browser.html
http://www.softpedia.com/get/Interne...-Browser.shtml

получить версию, пропарсив эти ссылки довольно леххко.

путь второй. работающий во многих случаях, но на многих продуктах не покажет ничего (например на мозилло-подобных браузерах)

версию можно получить из самого дистрибутива! она там зашита! попробуйте на чём-либо исполняемом нажать ПКМ, свойства, закладка Подробно, смотрим строку Версия файла.

тактика такая:
- скачиваем дистрибутив (если он поменялся)
- и путем использования небольшой утилиты от мелко-софта filever.exe получаем версию.

такая верификация тоже сделана в виде блока.
есть блок быстрого получения версии и блок получения версии подробным способом (иногда версия зашита в дистрибутив более глубоко)

еще один способ.
версия имеется в ссылках на дистрибутивы!

например Evernote
https://evernote.com/intl/ru/download

ссылка на дистрибутив:
https://cdn1.evernote.com/win6/publi....10.3.6921.exe

порядок действия таков:
- пропарсили донорскую ссылку:
https://evernote.com/intl/ru/download
- выделили ссылку на дистрибутив:
https://cdn1.evernote.com/win6/publi....10.3.6921.exe
- обработали эту ссылку:
прочитаем её после первого появления символа _ до конца строки:
6.10.3.6921.exe
уберем 4 символа с конца .exe и получим версию:
6.10.3.6921

завтра, через неделю будет новая версия этого продукта, она будет выглядеть так (к примеру):
https://cdn1.evernote.com/win6/publi....16.6.6666.exe

вид ссылки неизменен! и обработка и получение версии останется прежней!

еще пример. Tor Browser
получаем инсталлятор через FTP. есть прямые ссылки через офсайт, но они порой запаздывают с новинками. вышла новая версия, её все обсуждают, но на офсайте всё еще старая версия.
некоторые ячейки есть в таких 2-х вариантах. один вариант получение инсталлятора через офсайт, другой через FTP.

итак, ссылка:
https://dist.torproject.org/torbrowser/

поисковое выражение:
Код: Выделить весь код
href.*[0-9][.].[^a-b]
поясню это поисковое выражение:
- ищем строки, в которых есть символы: href
- потом идут любые символы: .*
- потом идет любая цЫфра: [0-9]
- потом точка [.]
- потом любые символы, кроме символов из диапазона a-b (т.е это цЫфры 0-9 и точки .): .[^a-b]

итого, пропарсив с такими данными в файле down.txt получим сл. строки:
Код: Выделить весь код
<img src="/icons/folder.gif" alt="[DIR]"> <a href="7.5.1/">7.5.1/</a>                  2018-03-12 21:45    -
<img src="/icons/folder.gif" alt="[DIR]"> <a href="7.5.2/">7.5.2/</a>                  2018-03-17 01:06    -
далее просто, берем последнюю строку, выделяем из неё версию в переменную %f%:
Код: Выделить весь код
FOR /F "usebackq tokens=6 delims=>/" %%a in ("%~dp0down.txt") do set f=%%a
и соответственно прямая ссылка на дистрибутив переменная %g1%::
Код: Выделить весь код
set "g1=https://dist.torproject.org/torbrowser/%f%/torbrowser-install-%f%_ru.exe"
далее блок скачки (если это необходимо) дистрибутива ..

Структуризация ячеек. Группы
Скрытый текст
в хорошей сборке может быть не одна сотня ячеек. Представляете, как трудно будет работать с таким списком, что обновить, что установить.

В каждой ячейке есть инсталлятор, который ставит некую программу в систему.
предназначение этой программы можно описать некими тегами:
- интернет утилиты
- браузеры
- текстовые редакторы
- кодеки
- плейеры
- системные утилиты
- и т.д.

т.е. каждую ячейку необходимо про-стуктуризировать для облегчения восприятия и дальнейших действий.
термин структуризация в пределах нашей сборки заменён словом группы.

Группа

каждая ячейка в себе содержит файл group.txt (и в этом файле в одну строку прописано число - номер группы)
Номер группы - число от 0 до .. думаю, предела нет
Группы нумеруются по порядку!
по-умолчанию 0 - это неправильная группа (если в ячейке нет файла group.txt, то при фазировании сборки этой ячейке присвоится номер группы 0)

в сборке есть файл All-Group.txt (он расположен в папке, где находятся все наши ячейки, по умолчанию эта папка Install)
первая строка этого файла строго фиксирована:
Код: Выделить весь код
[Group]
и далее по списку:
Код: Выделить весь код
номер группы = описание группы (не увлекайтесь описанием)
вот содержимое файла All-Group.txt моей сборки Все Браузеры:
Код: Выделить весь код
[Group]
0=- неправильная группа-
1=-- Браузеры на основе Firefox
2=-- Браузеры на основе Chromium
3=-- Браузеры на основе Internet Explorer
4=-- Комбо-Браузеры (много-движковые)
5=-- Браузеры : Opera
6=-- Браузеры : Yandex
7=-- Браузеры : Экзотика и собственные движки
8=-- Браузеры в архиве (без инсталляции)
9=-- Online Браузеры (интернет-установка полной версии)
99=-- Выход / Перезагрузка
в каждой ячейке нашей сборки содержимое файла group.txt должно соответствовать нужному номеру
например ячейка Maxthon5 Ru и там в файле group.txt число 4

если в этом файле прописано число вне нашего диапазона, например 10, то ячейка не будет участвовать в фазах и не попадет в списки

приведу пример группирования

сборка BELOFF 2018 [Ru]
Код: Выделить весь код
[Group]
0=Системa | Компоненты
1=Microsoft Office 2003
2=Microsoft Office 2007
3=Microsoft Office 2010
4=Microsoft Office 2013
5=Microsoft Office 2016
6=Текст | Перевод
7=Офис | Учёба
8=Архивация | Распаковка
9=Установка | Удаление
10=Файловые Менеджеры | Редакторы Ресурсов
11=Информация и Диагностика ПК | ОС
12=Обслуживание HDD | SSD
13=Обслуживание ОС
14=Виртуальные машины
15=Графика | Дизайн
16=Графика
17=Медиа | Кодеки
18=Медиа | Плееры
19=Медиа | Редакторы
20=Медиа | Конвертеры
21=DVD | ISO | USB
22=Общение | Почта
23=Интернет | Сети
24=Скачивание | Загрузка
25=Мини-Игры
26=Интерфейс | Гаджеты
27=Скринсейверы | Обои
28=Браузеры
29=Безопасность
30=3Planesoft
31=Завершение
MInstAll v.16.03.2018 By Andreyonohov & Leha342 [Ru]
Код: Выделить весь код
[Group]
0=АКТИВАЦИЯ :
1=СИСТЕМНЫЕ :
2=ОБСЛУЖИВАНИЕ ОС :
3=ИНТЕРНЕТ :
4=БРАУЗЕРЫ :
5=ГРАФИКА :
6=ТЕКСТОВЫЕ РЕДАКТОРЫ :
7=ОФИС :
8=ИНТЕРФЕЙС :
9=ИГРЫ :
10=КОДЕКИ :
11=ПЛЕЕРЫ :
12=DVD-BLU-RAY ISO :
13=АРХИВАТОРЫ :
14=ИНФОРМАЦИЯ :
15=ФАЙЛОВЫЕ МЕНЕДЖЕРЫ :
16=РЕДАКТОРЫ РЕСУРСА :
17=ИНСТАЛЛЯЦИЯ :
18=УДАЛЕНИЕ :
19=КОНВЕРТЕРЫ :
20=МЕДИА РЕДАКТОРЫ :
21=ЗАПИСЬ :
22=ОБСЛУЖИВАНИЕ HDD-SSD :
23=ВИРТУАЛЬНЫЕ МАШИНЫ :
24=ДРАЙВЕРЫ :
25=MICROSOFT OFFICE  2003 :
26=MICROSOFT OFFICE  2007 :
27=MICROSOFT OFFICE  2010 :
28=MICROSOFT OFFICE  2013 :
29=MICROSOFT OFFICE  2016 :
30=БЕЗОПАСНОСТЬ :
31=ЗАВЕРШЕНИЕ :
вот моя расширенная (оставлены лакуны, если наступит острая нужда добавить еще одну группу):
Код: Выделить весь код
[Group]
0= - неправильная группа-
1= - CD-DvD-ISO : Burn
2= - CD-DvD-ISO : Copy
3= - CD-DvD-ISO : ISO
4= - CD-DvD-ISO : Virtual
5= -
6= - Drv : DrvPack
7= - Drv : Drv-Update
8= - Drv : Tools
9= - Drv : Mobile
10= -
11= - DeskTop : Calendar-DockBar-Widget
12= - DeskTop : Scr
13= - DeskTop : Tools
14= -
15= - Grafics : Edit
16= - Grafics : Snapshot
17= - Grafics : View
18= - Grafics : Toolz
19= -
20= - HDD : Defrag
21= - HDD : Manager
22= - HDD : Tweak
23= -
24= - File : Archive
25= - File : BackUp
26= - File : Dublicate
27= - File : FileManager
28= - File : Rename
29= - File : Search
30= - File : Synchro
31= - File : Tools
32= -
33= - Lan : Manager
34= - Lan : Remote
35= - Lan : Toolz
36= -
37= - I-net : Browzer
38= - I-net : Chat
39= - I-net : Cloud
40= - I-net : DC-FTP
41= - I-net : DefenZe
42= - I-net : Download
43= - I-net : Mail
44= - I-net : Toolz
45= - I-net : Torrent
46= - I-net : TV-Radio
47= -
48= - Media : Codecs
49= - Media : Edit
50= - Media : Encoder
51= - Media : Player
52= - Media : Toolz
53= -
54= - Office : Big-Pack
55= - Office : DJV-DWG-AutoCAD-Kompas
56= - Office : Edit
57= - Office : Font
58= - Office : Organize
59= - Office : PDF
60= - Office : Reader
61= - Office : Russ-ClipBoard
62= - Office : Scan
63= - Office : Translate
64= -
65= - Recovery : Password
66= - Recovery : Recovery
67= -
68= - USB-Flash : Defenze
69= - USB-Flash : Install
70= - USB-Flash : Manager
71= -
72= - Games
73= -
74= - System : Ms-Patch-Dx-Update
75= - System : Clear
76= - System : Toolz
77= - System : Tweak
78= - System : UnInstall
79= - System : Test
80= -
81= - DefenZe : Avir
82= - DefenZe : FireWall
83= - DefenZe : Scan
84= - DefenZe : Toolz
85= -
86= - Win7-8-10 : Crack
87= - Win7-8-10 : StartMenu
88= - Win7-8-10 : Tools
89= -
99= - Выход / Перезагрузка

Последний раз редактировалось wadimus, 22-03-2018 в 20:13.


Отправлено: 15:28, 22-03-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


Сборка браузеров (Browser-Pack) вариант 16.03.18

немного за сборку ..
в этой сборке собрал более 100 браузеров. реально! все популярные, не-популярные, экзотика, сплошная кЕтайщина, собрал всё, что встретилось на просторах тернета. много дублей и форков .. не правится браузер - ячейку долой!

готовая сборка, распакуйте в любое место (флешку) и пользуйтесь.

Browzers Pack Full (16.03.18).7z

Сборка AKVIS Suite вариант 01.03.18

сборка всех программ от AKVIS. ретриалы и прочие варианты снятия триала удалены!

AKVIS Suite (01.03.18)

Последний раз редактировалось wadimus, 14-04-2018 в 21:24.


Отправлено: 05:58, 23-03-2018 | #3


Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


начало работы со всеми сборками:
- в сборке нет ни одного профиля, все ячейки неуспешные
- в ячейках нет даты обновления, нет версии
- одним словом: сборка пустая!
- нам нужно её заполнить (обновить и загрузить свежие дистрибутивы)
- если совсем ничего непонятно - нажмите 5-ую кнопку (Help) и четайте

- запустите интегратор: файл start.exe
- вначале создаём профиль для обновления нашей сборки: 3-ая кнопка (Create Update-pack)
- сработает определённый скрипт (в окне) и по окончании работы скрипта появится попап-окно (сколько ячеек отработано)
- далее можно запустить MInstAll (с профилем обновления)
- в окне MInstAll будет много символов ? - не беда ячейки неуспешные.
- отмечаем галочками нужные строки (можно всё) для обновления
- для запуска обновления жмём кнопку Выполнить
- после чего в синем окне будут работать скрипты обновлятора наших ячеек

Внимание!
вариант для Browzers Pack Full (16.03.18) : полностью заполненная сборка занимает около 7 Гиг!
т.е. для заполнения всей сборки вам необходимо принять не менее 7 гиг из тернета!
бойтесь владельцы лимитированного или платного трафика!

вариант для AKVIS Suite (02.18) : полностью заполненная сборка занимает 4.8 Гиг!

Еще одна проблема:
время заполнения (обновления) сборки.
если вы держите сборку в более или менее актуальном состоянии, то даже если вы выбрали все ячейки для обновления, в итоге у вас обновится 1-2 .. ну 10 ячеек.
обновление будет только тогда, когда изменилась версия дистрибутива на офсайте (вернее их размер)
в иных случаях обновлятор быстро завершит работу.
некоторые ячейки заполняются ускорителем (спец.утилитой в 8-м потоков)
некоторые ячейки не поддерживают такой тип скачивания и качаются обычным wget.exe
время работы обновляторов зависит от серверов, где находятся эти дистрибутивы. некоторые быстрые, некоторые до ужжаса медленные
определяйте сами такие ячейки (которые долго обновляются)

- итак, после обновления всех (или любой части) ячеек ничего визуально не изменилось. ведь наш MInstAll работает со статичными профилями.
- выйдем из MInstAll и перестроим профили заново.
- перестроим профиль для обновления нашей сборки и запустим заново MInstAll - поглядим, остались ли еще в строках символа ?
- если символ ? присутствует в ячейках - обновим эти ячейки (галочки и Выполнить)
- наша задача: полностью заполнить сборку!

Внимание!
всего в сборке может быть очень много ячеек, 50 - 100 - ... кому-то это много
многие ячейки дублируются, многие просто не нужны.
как быть? убирайте ненужные ячейки!
все ячейки расположены в папке Install
зайдите туда и удалите всё ненужное вам. просто удалите папку!
затем запустите интегратор и заново создайте профили

- если в строках запущеного MInstAll уже нет символа ?, то наша сборка полностью заполнена!
- выходим из MInstAll и создаем профиль Create Install-pack (2-ая кнопка)
- далее опять заходим в MInstAll (1-ая кнопка) и уже работаем с профилем авто-установки.

работа с уже заполненной сборкой:
- запускаем интегратор, нажимаем первую кнопку и запускаем MInstAll (там уже выбираем нужный профиль)

необходимо обновить сборку:
- запускаем интегратор, создаем профиль для обновления нашей сборки: 3-ая кнопка (Create Update-pack)
- запускаем MInstAll и обновляем нужные ячейки (или все)
- после обновления перестроим профили и уже можно запускать MInstAll с профилем установки

Последний раз редактировалось wadimus, 10-04-2018 в 20:32.


Отправлено: 13:34, 24-03-2018 | #4


Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


добавил AKVIS Suite вариант 01.03.18

см сообщение
http://forum.oszone.net/post-2804943.html#post2804943

Отправлено: 20:31, 10-04-2018 | #5


Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


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

тут имеем 2-е проблемы:
- первая: как определить, что дистрибутив изменился на офсайте?
с обычными файлами проще - высчитали размер существующего файла (если он есть), определили размер файла на офсайте (без его скачивания), далее простое сравнение двух размеров. размеры одинаковы - качать не надо! размер разный - качать надо!
архив же после распаковки не нужен, сохранять его в ячейке - не нужно!

я эту проблему решаю так:
- в ячейке появляется еще один файл size.txt. в нём в одной строке записан размер архива.
в начале скачивания (когда ячейка пустая) этого файла нет. он создастся, когда будет успешно скачан архив, и в него (в файл size.txt) будет записан размер архива.
далее после обработки (распаковки) и удаления архива у нас останется размер, с которым мы можем в дальнейшем сравнивать и принимать решение о скачивании изменившегося архива.

- вторая проблема: что в архиве?
некоторые (большинство ?) производителей в архиве пакуют определённое имя exe- или msi- (или иное) файлов.

пример:
Comodo Internet Security 10
дистрибутив получаем со стационарной ссылки:
https://cdn.download.comodo.com/cis/..._installer.exe
но полученный exe-файл - это архив! в нём есть 2 интересующих нас файла:
cis_setup_x64.msi и cis_setup_x86.msi
и эти файлы неизменны по именам!

Winstep Nexus
http://www.winstep.net/nexus.zip
внутри архива неизменный файл: NexusSetup.exe

посложнее пример:
MusicBee
отсюда:
https://www.getmusicbee.com/downloads/
ищем архив и его скачиваем. на 11.04.18 ссылка такая:
https://www.mediafire.com/file/d3fr2..._1_Update3.zip
внутри архива имя такое:
MusicBeeSetup_3_1_Update3.exe
как быть тут?
- качаем архив в определённое имя: MusicBeeSetup.zip
- распаковываем его и переименовываем получившийся exe-файл в определённое имя: MusicBeeSetup.exe

Отправлено: 11:05, 11-04-2018 | #6


Старожил


Сообщения: 239
Благодарности: 60

Профиль | Отправить PM | Цитировать


переработал сборку
Сборка всех браузеров версия от 01.11.18

распакуйте в любое место
читайте !faq!.txt - там вопросы и ответы
сборка пустая, полное заполнение зависит от скорости тернета и может продолжаться более 1 часа
полная сборка занимает более 8Гб

Отправлено: 21:03, 05-11-2018 | #7



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Универсальный Авто-обновляемый Инсталлятор АОИ, теория Идеальной Сборки (ИС)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
в Google Chrome выходит такое сообщение: мы зарегистрировали подозрительный трафик ис Honey.da Лечение систем от вредоносных программ 1 02-06-2013 15:00
Доступ - Авто принтеры и авто поиск сетевых папок Василий-аноним Microsoft Windows 2000/XP 1 18-06-2012 18:02
ИС Метролог 2.1 OSZone Software Новости программного обеспечения 0 25-09-2009 21:30
Система - [решено] Хочется обновляемый полный комплект утилит Nirsoft truvo Программное обеспечение Windows 4 20-04-2009 23:14
Проблема ис запуском Win 2000 Anatoliy2004 Microsoft Windows NT/2000/2003 9 06-08-2007 08:17




 
Переход