Pull to refresh

Обновление одним файлом или объединяем несколько патчей

Reading time3 min
Views4.5K
Большинство пользователей следят за обновлениями по безопасности и обновляют свои компьютеры и программы. Но как быть, если это локальная сеть, а интернет есть не у всех пользователей, а обновить Adobe продукты очень как хотелось бы? В данной статье будет расмотрено обновление для Adobe Reader 9.x для Microsoft Windows. На основе данного примера Вы сможете создавать и другие файлы обновлений для любых программ.

Исходные данные: у пользователей установлен/или не_установлен Adobe Reader 9.x. Необходимо установить/обновить его до последней версии. Посетив официальный сайт Adobe, видим что последняя версия 9.4. Однако обновления имеются до версии 9.4.7. Скачивание инкрементальных патчей и применение по очередности позволит нам истратить много времени для установки на каждом компьютере. Мы будем создавать единый файл с установщикой, который будет так же включать в себя и все обновления с помощью AutoIt..



Установив пакет Autoit и скачав с сайта Adobe файлы: AdbeRdr940_ru_RU.exe (последняя версия доступная в линейке 9.4.) и инкрементальные патчи-обновления: AdbeRdr94*_ru_RU.exe, где * число от 1 до 7 разместим их в папке c:\AutoItPhotoshop\.

Файл acrobat94sci.au3:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#NoTrayIcon
; Включим интегрирование файлов
;Исходный файл будет упакован в наш архив и после запуска скрипта распакован в папку c:\temp
;Создадим папку
DirCreate("c:\temp")
$b = True
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdr940_ru_RU.exe", "c:\temp\AdbeRdr940_ru_RU.exe")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd941_all_incr.msp","c:\temp\AdbeRdrUpd941_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd942_all_incr.msp","c:\temp\AdbeRdrUpd942_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd943_all_incr.msp","c:\temp\AdbeRdrUpd943_all_incr.msp")
if $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd944_all_incr.msp","c:\temp\AdbeRdrUpd944_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd945_all_incr.msp","c:temp\AdbeRdrUpd945_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd946_all_incr.msp","c:\temp\AdbeRdrUpd946_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\AdbeRdrUpd947_all_incr.msp","c:\temp\AdbeRdrUpd947_all_incr.msp")
If $b = True Then FileInstall("C:\AutoItPhotoshop\acrobat940-947.bat","c:\temp\acrobat940-947.bat")
;запустим обновление
RunAsWait("nameuser","namedomain","passworduser",2,"c:\temp\acrobat940-947.bat","c:\temp",@SW_HIDE)
;Т.е. запускаем от пользователя с правами администратора в домене файл acrobat940-947.bat
filedelete("c:\temp\acrobat940-947.bat"


Осталось узнать содержимое файла acrobat940-947.bat, который тоже должен быть сохранен в папке C:\AutoItPhotoshop:

AdbeRdr940_ru_RU.exe /sAll /rps /msi /qn
msiexec /update c:\temp\AdbeRdrUpd941_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd942_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd943_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd944_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd945_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd946_all_incr.msp /quiet /norestart
msiexec /update c:\temp\AdbeRdrUpd947_all_incr.msp /quiet /norestart

del c:\temp\AdbeRdr940_ru_RU.exe
del c:\temp\AdbeRdrUpd941_all_incr.msp
del c:\temp\AdbeRdrUpd942_all_incr.msp
del c:\temp\AdbeRdrUpd943_all_incr.msp
del c:\temp\AdbeRdrUpd944_all_incr.msp
del c:\temp\AdbeRdrUpd945_all_incr.msp
del c:\temp\AdbeRdrUpd946_all_incr.msp
del c:\temp\AdbeRdrUpd947_all_incr.msp
rem del c:\temp\acrobat94sci.exe c:\temp\acrobat94sci.bak
del c:\temp\acrobat940-947.bat
rem del c:\temp\acrobat94sci.bak


Сохраняем проект с именем acrobat94sci и в меню выбираем Tools-Compile и получаем скомпилированный файл acrobat94sci.exe (размером около 90 Мб), после запуска который распакует установщик Acrobat 9.4 и все инкриментальные патчи. Затем запустится скрипт установки, устанавливающий Reader и затем последовательно все инкрементальные патчи. Результат -у пользователей установлен Acrobat 9.4.7.

Остается только запустить наш файл на каждом компьютере (скопировать в локальную папку, либо запускать с сервера через групповую политику или Task задание).
Потратив несколько часов на создание данного мини-скрипта и его тестирование, мы сэкономили время, которое тратили бы на рутинную операцию установки на каждом компьютере.
Tags:
Hubs:
Total votes 4: ↑4 and ↓0+4
Comments11

Articles