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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Универсальный пакет обновления программ
Предлагаю концепцию, открытую и обновляемую.
Немного лирики :)
У каждого есть сборник утилит и/или программ для установки. И каждый желает, чтобы программы, входящие в эти сборники были актуальные и новые.
Для этого периодически заходим в тернет и ищем новые версии. Для пару программ в сборнике время поиска неважно, а если таких программ много?
Вот для автоматизации поиска и получения новых версий я предлагаю Универсальный пакет обновления программ
Что:
Универсальный пакет обновления программ (УП) представляет собой набор обновляторов (простые bat-файлы) и несколько программ, необходимых для работы.
Эти bat-файлы совершенно открыты, каждый может просмотреть их, дополнить или улучшить.
Как:
Запустив определённый bat-файл в конечном итоге получим рядом несколько файлов:
- это инсталляторы, которые будут загружены с официальных источников (!) (и вообще - все загружаемые файлы будут скачиваться с оффсайтов)
- если предусмотрено - портабельная версия или иные файлы (например для Utorrent-а Langpack: utorrent.lng, для Palemoon-а файл русского языка: ru.xpi)
- обязательно (не совсем конечно) файл version.txt (текстовый), в котором в одной строке записана версия продукта (например на 29.07.17 для Google Chrome MSI Stable строка такая: 60.0.3112.78)
- причем, если инсталляторы или портабели есть как в х86, так и в х64 - то они будут в 2-х файлах (х86 и х64) соответственно
- и все файлы будут нормализованы по названию (не "Firefox Setup 54.0.1.exe" как на оффсайте, а "Firefox-Setup-x86.exe" и аналогично "Firefox-Setup-x64.exe")
Структура УП:
- создаем папку, в которой будут накапливаться или обновляться нужные нам программы, допустим: \Main
- создавать папки желательно на англ.языке
- внутри \Main создаем папку \Scripts (название строго фиксировано), там есть несколько утилит:
-- wget.exe
-- dl+.exe (переименовал в dl.exe) и http2cli.exe (взял отсюда: http://dzzb.ru/blog/http2cli )
-- консольный 7-Zip: 7za.exe и 7za64.exe
- теперь создаем папки (внутри \Main), которые можно назвать как угодно (там будут располагаться нужный обновлятор и куда будут скачиваться файлы)
Main
|Scripts
|- папка для обновления LibreOffice (назовем LibreOffice) (и туда копируем обновлятор для получения LibreOffice)
|- папка для обновления Google Chrome (назовем Google Chrome MSI) (и туда копируем обновлятор для получения Google Chrome)
.. еще нужные нам "обновляторы" в папках
в дальнейших постах буду публиковать обновляторы


Последний раз редактировалось: wadimus (2017-07-29 18:02), всего редактировалось 2 раз(а)

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Mozilla Firefox
@echo off
CD /d "%~dp0"
echo ... Mozilla Firefox
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://download.mozilla.org/?product=firefox-latest&os=win&lang=ru" -O "%~dp0Firefox-Setup-x86.exe"
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://download.mozilla.org/?product=firefox-latest&os=win64&lang=ru" -O "%~dp0Firefox-Setup-x64.exe"
("%~dp0..\Scripts\dl.exe" "https://download.mozilla.org/?product=firefox-stub&os=win&lang=ru" /noredirect | findstr /R /C:"Location") >"%~dp0down.txt"
FOR /F "usebackq tokens=6 delims=/" %%a in ("%~dp0down.txt") do set f=%%a
echo %f%> "%~dp0version.txt"
del "%~dp0down.txt"
получим 3 файла:
Firefox-Setup-x86.exe
Firefox-Setup-x64.exe
version.txt (содержимое его: 54.0.1)

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Opera
@echo off
CD /d "%~dp0"
echo ... Opera
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://www.opera.com/download/get/?partner=www&opsys=Windows&product=Opera&nothanks=yes" -O "%~dp0Opera_setup-x86.exe"
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://www.opera.com/download/get/?partner=www&opsys=Windows&product=Opera&arch=x64&nothanks=yes" -O "%~dp0Opera_setup-x64.exe"
("%~dp0..\Scripts\dl.exe" "http://www.opera.com/download/get/?partner=www&opsys=Windows&product=Opera&nothanks=yes" /noredirect | findstr /R /C:"Location") >"%~dp0down.txt"
FOR /F "usebackq tokens=2 delims=_" %%a in ("%~dp0down.txt") do set f=%%a
echo %f%> "%~dp0version.txt"
del "%~dp0down.txt"
Opera_setup-x64.exe
Opera_setup-x86.exe

version.txt (внутри 46.0.2597.57)

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
Telegram Desktop + Russ
@echo off
CD /d "%~dp0"
echo ... Telegram Desktop + Russ
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "https://tdesktop.com/win" -O "%~dp0tsetup.exe"
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "https://tlgrm.ru/files/locales/tdesktop/Russian.strings" -O "%~dp0Russian.strings"
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "https://telegram.org/dl/desktop/win_portable" -O "%~dp0tportable.zip"
("%~dp0..\Scripts\wget.exe" -q -O- "https://github.com/telegramdesktop/tdesktop" | findstr /R /C:"Version ") >"%~dp0down.txt"
<"%~dp0down.txt" (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do set "s%%a=%%b")
set s1=%s1:*Version =%
set s1=%s1:~0,-1%
echo %s1%> "%~dp0version.txt"
del "%~dp0down.txt"
tsetup.exe - инсталлятор
tportable.zip - портабель
Russian.strings - русская локаль
version.txt (1.1.18)

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

    KottoSOFT
  • 206
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 562
  • Репутация:65

    [+] [-]
wadimus,
Спасибо интересная штука.

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

    MBTY
  • 1499
  • Стаж: 9 лет 1 месяц
  • Сообщений: 86
  • Репутация:9

    [+] [-]
wadimus, очень приятно видеть как твоими инструментами пользуются с удовольствием. Очень спешу поделиться и своими наработками в этой области.
Делюсь архивом со всеми необходимыми консольными утилитами. По сути набор скриптов которые тихо скачивают (если есть возможность и необходимость - обновляют) дистрибутивы софта и устанавливают. Скрипты названы в соответствии программе, которую они качают/ставят.
7znew_xx.cmd
Aimp.cmd
MPCnew_xx.cmd
NewAdobe.cmd
newSKYPE.cmd
newYANDEX.cmd
Opera.cmd
STDUViewer.cmd
UpdatepackXP.cmd
Скриптов много и в них для надежности прописаны конкретные пути расположения консольных вспомогательных утилит, а потому в архиве всё уже разложено по папкам, что где должно лежать. Местные сриптоволшебники запросто переправят под себя нужные им строки. Часто скрипты сами определяют разрядность системы и качают соответствующий дистрибутив.
Скачать
Надеюсь кто-то почерпнет из них пользу для себя.

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

    KottoSOFT
  • 206
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 562
  • Репутация:65

    [+] [-]
MBTY,
Спасибо, в хозяйстве всё пригодится.

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
MBTY, спсибо!
но, вы обьяли небьятное :)
у вас: - скачиваем (возможно), и тут же ставим. два действия! их надо отделить.
почему?
поясняю ..
Немного лирики :)
у вас есть сборник программ для тихой установки, на флешке, к примеру. вы этим сборником активно пользуетесь, ставите программы.
потом замечаете, что доступны новые версии программ из тернета.
в сборнике был инсталлятор K-Lite Mega CodecPack, к примеру версии 1330, а уже доступна для скачивания версия 1335.
что делаем:
- скачиваем новую версию кодек-пака
- переименовываем её в какое-то имя, что используется в нашей оболочке тихих установок
- переделываем строки в оболочке
и что можно сделать с использованием обновляторов:
- запустили обновлятор и дождались конца работы
- всё! нужные файлы обновились
запуск обновлятора можно сделать из оболочки (отдельно выбор установки или обновления)
при выборе обновления также ставим галочки, что обновить (или все) и запускаем процесс.
по окончании - у нас сборка с реальными, новыми инсталляторами!
далее - запускаем оболочку, выбор уже установки программ, далее галочки - далее запуск установок ..
и не важно, есть ли обновления для конкретной программы, а вдруг, мы проспали тот день, когда она обновилась на офф-сайте: запустили обновлятор - и она новенькая и свежая у нас на нужном месте :)
это концепция!
что из этого есть? пока только обновляторы!
оболочку типа WPI или MInstAll надо будет дорабатывать!
как дорабатывать?
так:
- каждый инсталлятор в определенной папке (так называемая ячейка)
- в папке есть обновлятор (один bat-файл)
- и в той же папке есть инсталлятор (другой bat-файл)
пример:
папка для Google Chrome Enterprise:
- папка Google Chrome MSI
- внутри файл up.bat
@echo off
CD /d "%~dp0"
echo ... Google Chrome MSI stable
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi"
"%~dp0..\Scripts\wget.exe" -N --waitretry=5 -t5 -T15 "http://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise64.msi"
("%~dp0..\Scripts\wget.exe" -q -O- "https://download.my-chrome.ru/" | findstr /R /C:"""hide-on-small-only""") >"%~dp0down.txt"
<"%~dp0down.txt" (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do set "s%%a=%%b")
FOR /F "tokens=3 delims=><" %%a in ("%s1%") do set f=%%a
echo %f%> "%~dp0version.txt"
del "%~dp0down.txt"
- и inst.bat
if defined ProgramW6432 (
set file=googlechromestandaloneenterprise64.msi
) else (
set file=googlechromestandaloneenterprise.msi
)
start /wait msiexec.exe /i %file% /qb
- и файл version.txt, в нем строковая номер версии (60.0.3112.78)
дальнейшая работа с этой ячейкой такова:
- запустили файл Google Chrome MSI stable\up.bat - и обновили инсталляторы
- запустили файл Google Chrome MSI stable\inst.bat - установили тихо в систему
и всё!
обновления инсталляторов можно делать, когда хороший тернет, когда есть необходимость обновления чего-то.
установка - когда нужна :)
что лежит в такой ячейке, какие файлы, новые ли они - не важно!
запустили обновлятор - и получили в ячейке новые версии!
запустили авто-установку - и получили в системе установленную программу
это так называемая концепция Универсального Авто-обновляемого Инсталлятора!
для простого юзера - чёрный ящик! с двумя входами. один вход - обновление, другой вход - тихая установка!
два действия! одно - обновление делаем по мере необходимости, другое - инсталляцию - по нужде.
и из таких ячеек уже создаем свою сборку программ ..
проблемы и недостатки?
очень много!
- как контролировать версии?
- как в оболочке типа типа WPI или MInstAll использовать файл version.txt (в нём версия)
- как быть с репаками? и с не фриварными программами?
хотя, есть много тонких моментов :)
к примеру, WinRAR. если рядом с инсталляторами положить корректный ключ - то можно установить WinRAR легко и правильно.
ЗЫ. всё же для ячейки есть и третий вход - версия!
запустили файл Google Chrome MSI stable\version.txt - поглядели версию в ассоциированной с .txt программой (блокноте)


Последний раз редактировалось: wadimus (2017-07-30 00:05), всего редактировалось 1 раз

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

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
Имхо установка любых прог делается одной строкой через пакетный менеджер Chocolatey, к примеру
choco install googlechrome stduviewer aimp skype notepadplusplus.install 7zip.install totalcommander dotnet4.7
Обновление тоже можно делать из Chocolatey.
Подробнее на офсайте или тут
Как альтернативный вариант https://ninite.com/ , но возможностей меньше и прог на порядок меньше. Но иногда очень удобен.

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
dialmak, спсибо за ссылки :)
да!
оччень полезная программа!
но!
а если тернета нет? ну, нет его, или он дорогой, чиса-для-сэбэ?
и ладно, мелочь какая-то, а если это LibreOffice? пол-гига качать - это плохо!
я и пишу - обновления только для необходимости! есть хороший, быстрый тернет - обновили .. нет - пользуемся тем, что есть! но пользуемся и ставим! без пропусков или потом поставим ..

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

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
а если тернета нет?
А если есть? ag
Если нету интернета, то имхо положи на USB-HDD minstall (сборок его куча разных есть) и ставь чего хошь.

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

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
пол-гига качать - это плохо!
Я уж года 2 офис 2013\2016 ставлю только из интернета, а его дистр 1 гиг. И ничего.. Мне так удобнее ибо грузится последний со всеми обновами.

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

    wadimus
  • 14910
  • Стаж: 7 лет 11 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
43385Если нету интернета, то имхо положи на USB-HDD minstall (сборок его куча разных есть) и ставь чего хошь
да!
вот именно! положи сборку. если необходимо - обнови инсталляторы и/или ставь! два разных действия: обновил - и на USB будут новые версии, потом можешь ставить инсталляторы уже без обновления и без тернета!

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

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

    [+] [-]
В наше время надеяться на прямую закачку последней версии из тырнета и безболезненную установку - это очень оптимистично. Косяки версий, внезапно появляющаяся адварь в инсталляторе и т.д. (как пример - http://nnm-club.name/forum/viewtopic.php?p=9169100#9169100 ) А про онлайн установку в "поле" вообще молчу - для меня это из области сказок ai


Последний раз редактировалось: korsak7 (2017-07-30 11:58), всего редактировалось 1 раз

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
43364
Структура УП:
- создаем папку, в которой будут накапливаться или обновляться нужные нам программы, допустим: \Main
- создавать папки желательно на англ.языке
- внутри \Main создаем папку \Scripts (название строго фиксировано), там есть несколько утилит:
-- wget.exe
-- dl+.exe (переименовал в dl.exe) и http2cli.exe
-- консольный 7-Zip: 7za.exe и 7za64.exe
Привет! aa
Так а где сам набор необходимых утилит для папки \Scripts?
И я так понимаю для выполнения инсталляции нужна ещё некая утилита msiexec.exe?
Извиняюсь, если вопросы глупые, но я пока в этом деле нуб ah ag

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


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

Текущее время: 31-Окт 10:31

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


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