[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION: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)
.. еще нужные нам "обновляторы" в папках
в дальнейших постах буду публиковать обновляторы


Last edited by wadimus on 2017-07-29 18:02; edited 2 times in total

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION: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)

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION: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)

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION: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)

[Quote]

    KottoSOFT
  • 206
  • Longevity: 9 years
  • Posts: 562
  • REPUTATION:65

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

[Quote]

    MBTY
  • 1499
  • Longevity: 9 years 2 months
  • Posts: 86
  • REPUTATION:9

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

[Quote]

    KottoSOFT
  • 206
  • Longevity: 9 years
  • Posts: 562
  • REPUTATION:65

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

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION: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 программой (блокноте)


Last edited by wadimus on 2017-07-30 00:05; edited 1 time in total

[Quote]

    dialmak
  • 2607
  • Longevity: 8 years 10 months
  • Posts: 842
  • REPUTATION:40

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

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION:91

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

[Quote]

    dialmak
  • 2607
  • Longevity: 8 years 10 months
  • Posts: 842
  • REPUTATION:40

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

[Quote]

    dialmak
  • 2607
  • Longevity: 8 years 10 months
  • Posts: 842
  • REPUTATION:40

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

[Quote]

    wadimus
  • 14910
  • Longevity: 8 years
  • Posts: 749
  • REPUTATION:91

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

[Quote]

    korsak7
  • 107
  • Longevity: 9 years
  • Posts: 1063
  • REPUTATION:62

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


Last edited by korsak7 on 2017-07-30 11:58; edited 1 time in total

[Quote]

    sergeysvirid
  • 104
  • Longevity: 9 years
  • Posts: 2585
  • REPUTATION:127

    [+] [-]
  • Location: 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

Page 1 of 3


Display posts:    

Current time is: 06-Dec 00:42

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum