Установка любого программного обеспечения средствами WSUS — 2

В продолжение первой части от yosemity я бы хотел представить логическое продолжение и развитие LUP — WSUS Package Publisher. В отличие от LUP, WSUSPP живет, развивается и поддерживает работу с Windows Server 2012. В данной инструкции будут рассмотрены только добавление обновлений, создание правил и описаний самого распространенного стороннего ПО. А именно:

1) Adobe Flash Player & Adobe Reader
2) 7-Zip
3) PDF24 Creator
4) X-Mouse Button Control
5) Adobe Acrobat Reader DC (обновление с Adobe Reader XI)

Внимание! Много картинок, ссылок и информации!

Само собой, вам необходим работающий WSUS и WSUSPP. Настройка WSUSPP тривиальна и рассмотрена не будет.
Инструменты, которые не будут лишними:

— Remote MSI Manager — ПО для просмотра/удаления установленных продуктов, установки msi-пакетов на удаленные компьютеры. Понадобится для обнаружения Produst Code’ов.
 — SuperOrca — развитие Orca, просмотр/изменение свойств msi-пакетов.
 — Несколько тестовых виртуальных машин, количество зависит от вашего парка рабочих мест.


Adobe Flash Player & Adobe Reader


Для данных продуктов на сайте WSUSPP есть примеры, изучить можете самостоятельно. Ссылки на все ресурсы оставлю ниже.
Но чего в инструкциях нет, так это документации по SCUP каталогам. Да-да, WSUSPP поддерживает каталоги сторонних производителей ПО. И именно для этих продуктов Adobe есть предустановленные шаблоны.
Создание обновления
1) «Updates» → «Manage Catalog Subscribtions…»
8924bb09dbaf4c55baba5b09ae7e2e23.png

2) Настроить каталоги и их параметры
1b42f649a3494483a74abff9204fa382.png
Где:
Load a shared catalog — загрузка каталога в формате xml в список. По умолчанию показывается папка с предустановленными
Add this catalog — добавление каталога в случае если вы вручную вносите изменения в поля «Address» и «File name»
Check every:  — интервал проверки обновлений каталога
Modify — сохранение параметров выделенного каталога
Delete — удаление выделенного каталога
Import Updates from this Catalog… — просмотр имеющихся обновлений. Аналогично двойному щелчку мышью по строке. В это меню так же можно попасть через «Updates» → «Import from Catalog»
Test Connectivity — проверка связи
Check Update Availability Now — проверка обновлений для выделенного каталога.

3) Для добавления нового обновления необходимо выбрать каталог, нажать «Import Updates from this Catalog…» → «Open Catalog», отметить интересующие вас обновления и нажать «Import Selected Updates».
749383db6183445584e0103e21de1592.png
После скачивания и публикации, вам останется только нажать «Close». Обновление готово к одобрению. Никаких дополнительных изменений не требуется, пакеты msp уже имеют все необходимые параметры.


Этот же метод можно применить и для Adobe Flash Player. Все необходимые правила уже есть на уровне пакета, и обновление установится только там, где ранее был установлен плейер.

Просто, не правда ли? Все это, конечно, можно делать и вручную.

Ссылки
Adobe Reader, Adobe Flash Player (пока не закрыли), GUID’ы для плейера.


Архиватор 7-Zip


Для данного ПО каталогов нет, но существуют сборки msi для 32- и 64-бит. Поэтому задача сводится только к правильному определению куда что ставить. Практически всегда индикатором того, что обновление установлено, служит Product Code. Посмотреть этот код в msi можно как самим WSUSPP («Tools» → «Msi Reader»), так и сторонними программами типа SuperOrca. А вот индикатором необходимости установки будут архитектура ОС и продакт-коды версий 16.00, 16.01 и 9.20.
Создание обновления
Product Code для версий:
9.20 — {23170F69–40C1–2701–0920–000001000000}
16.00 — {23170F69–40C1–2701–1600–000001000000}
16.01 — {23170F69–40C1–2701–1601–000001000000}
16.02 — {23170F69–40C1–2701–1602–000001000000}

1) Создаем простое обновление, указываем файл, «Next».
Кстати, советую оставлять несколько версий старых обновлений.
81e0aca14307463bb446edb5d4f4b51d.png

2) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. «Package Type» стоит указать как «Application».
4ec067a6afcf491eb7c0cb7dda33cd20.png

3) Раздел Installed. Здесь указывает Product Code устанавливаемого пакета.
«Rule Type: Processor Architecture» → «Add Rule» — > Architecture x86→ «Ok»
«Rule Type: Msi Produst Installed» → «Add Rule» — > вставка с кодом для 16.02 → «Ok» → «Next»

ad4f66f652e84b98b14b63f42e436143.png

4) Раздел Installable. А вот здесь нужна конструкция сложнее.
Для 32-бит:
«Rule Type: Processor Architecture» → «Add Rule» — > Architecture x86→ «Ok»
«Add a «OR» Group»
«Rule Type: Msi Produst Installed» → «Add Rule» — > вставка Product Code версии 9.20 → «Ok»
«Rule Type: Msi Produst Installed» → «Add Rule» — > вставка Product Code версии 16.00 → «Ok»
«Rule Type: Msi Produst Installed» → «Add Rule» — > вставка Product Code версии 16.01 → «Ok» → «Next»

В итоге должно получиться следующее:
654800f5dcee48a2886f44cdf08a6ecc.png

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

5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
7c0cd4dcc97b466ba310e6643771bd78.png

Обновление опубликовано и готово к одобрению.
Для 64-битной версии манипуляции аналогичны за одним исключением: «Processor Architecture» → «Architecture x64».

Как вы заметили, мы обновляем только избранные версии.


PDF24 Creator


А что, если у пользователей установлены не 2–3 версии ПО, а 10? Продакт-кодов на них не напасешься. В моем случае это был PDF24 Creator, бесплатный инструмент для работы с PDF.
Помогут нам в этом 2 проверки: существование файла и версия файла. Нельзя ограничиться только проверкой на версию, т.к. в случае отсутствия файла она считается положительной. Еще одним тонким моментов будет то, что PDF24 Creator — это 32-битное приложение. А значит, проверять нужно в обеих папках Program Files и Program Files (x86).
Создание обновления
Product Code для версии 7.9.0 — 26364d59–91dd-4b5f-a521–8c7d35e1743c
Первые 2 шага аналогичны оными из примера с 7-Zip

3) Раздел Installed.
«Rule Type: Msi Produst Installed» → «Add Rule» — > вставка Product Code → «Ok» → «Next»
8a5a77e8d5af4557bce5344eeac96c11.png

4) Раздел Installable.
Перевести основное правило в «Start OR». Для этого необходимо дважды кликнуть по полосе «Start AND», либо нажать на кнопку «Edit».
«Add a «AND» Group»
«Rule Type: File Exists» → «Add Rule» — > «Known Folder: PROGRAM_FILES», «File Path: PDF24\pdf24.exe» → «Ok»
«Rule Type: File Version» → «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: PDF24\pdf24.exe», «Comprasion: Less Then», «File Version: 7.9.0.0» → «Ok»

Перевести выделение в основное правило
«Add a «AND» Group»
«Rule Type: File Exists» → «Add Rule» — > «Known Folder: PROGRAM_FILESX86», «File Path: PDF24\pdf24.exe» → «Ok»
«Rule Type: File Version» → «Add Rule» — > «Wellknown directory: PROGRAM_FILESX86», «File Path: PDF24\pdf24.exe», «Comprasion: Less Then», «File Version: 7.9.0.0» → «Ok»

Указывать файл так же можно через полный путь.

В итоге у вас должно получиться следующее:
815068e33b974be1920a377261f9807f.png

5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish»


С msi-пакетами разобрались. А если доступны только exe?

X-Mouse Button Control


Есть такая прекрасная бесплатная программа — X-Mouse Button Control. Она позволяет назначать клавишам мыши множество разных функций и сочетаний. Крайне рекомендую, если используете мышь с 5+ кнопками. Обновления для этого ПО приходят в виде exe-файлов, которые нужно перехватывать в директории Temp активного пользователя. Так же для обновления необходимо, чтобы в системе не было запущено ни одного процесса программы. Все это поддерживается, конвертация в msi не требуется.
Создание обновления
Создаются такие обновления через «Updates» → «Create a Custom Update».
Нужные действия добавляются двойным кликом. Если вы ошиблись в последовательности, то строку вверх/вниз можно передвинуть, кликнут правой кнопкой мыши по действию.

1) Сначала накидаем все действия для полноценной установки.
«Allow to kill process by his name» → XMouseButtonControl → «Ok» (имя указывается без расширения)
«Allow to execute a file» → XMBCUpdate_2.13.1.exe → «Ok» → «Ok» (имя произвольное, но файл именно с таким именем должен использоваться во 2 пункте)
550be2db23d54d5f8e38790070853886.jpg

2) В следующем окне необходимо добавить exe-файл. Остальные файлы трогать не стоит.
«Add Files…» → XMBCUpdate_2.13.1.exe → «Ok» → «Next»
4067eb359f9f403598d5867e710064f8.jpg

3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
173ba35e7a914a4488a63aa6f6391173.png

4) Считать обновление установленным будем через проверку версии файла, т.к. Product Code в системе не прописывается. Для x32 и x64 устанавливается одинаково в Program Files.
«Rule Type: File Version» → «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe», «Comprasion: Equal To», «File Version: 2.13.1.0» → «Ok» → «Next»
ec4f689604d24e4b88419216332a866f.png

5) Необходимость установки проверяем как и в предыдущем примере.
«Rule Type: File Exists» → «Add Rule» — > «Known Folder: PROGRAM_FILES», «Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe» → «Ok»
«Rule Type: File Version» → «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe», «Comprasion: Less Then», «File Version: 2.13.1.0» → «Ok» → «Next»

b44126424592493db080ade5f3fa8d8c.png

6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».



Обновление Adobe Reader XI до Adobe Acrobat Reader DC


Наверное многие задавались этим вопросом. Причем обновлять хочется сразу на актуальную версию. Ничего сложного, нужно лишь несколько дополнительных действий. А так же документация: Bootstrapper с ключами, GUID’ы, Свойства Adobe.
Подготовка
Для начала нужно распаковать exe. Делается это из командной строки с помощью параметров -sfx_o«путь распаковки» -sfx_ne (вместо sfx можно использовать nos).
В моем случае получается так:
«C:\WSUS\CustomUpdates\Adobe Acrobat Reader\AcroRdr20151500630033_MUI.exe» -sfx_o«C:\WSUS\CustomUpdates\Adobe AcrobatReader\AcroRdr20151500630033_MUI» -sfx_ne

В папку с распакованным содержимым необходимо поместить актуальный патч (на момент написания статья — 15.006.30201).
a8914de53037430fa8354e23a9a260ae.png

И, наконец, отредактировать файл Setup.ini, добавив 2 строки:
[Startup]
CmdLine=/sAll /rs /msi UPDATE_MODE=0 EULA_ACCEPT=YES

[Product]
PATCH=AcroRdr2015Upd1500630201_MUI.msp
2c8102eb793342a5acc7d72928ca4674.png


Создание обновления
0) «Updates» → «Create a Custom Update».

1) Чтобы полностью автоматизировать процесс, нужно завершить процесс AcroRd32.exe.
«Allow to kill process by his name» → AcroRd32 → «Ok» (имя указывается без расширения)
«Allow to execute a file» → AcroRdr20151500630033_MUI\Setup.exe → «Ok» → «Ok» (так как в пункте 2 будет указана папка, то путь к файлу указывается с ее учетом).
24f3e37ab5094969a9998e8995140625.png
Дополнительные параметры не используются, т.к. все уже указано в Setup.ini

2) Добавляем папку
«Add Folders…» → AcroRdr20151500630033_MUI → «Ok» → «Next»
03b6a89ef2714f188b640e590b481133.png

3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
b9fdd1b31f264854857749f29f59df64.png

4) Считать обновление установленным будем через проверку Product Code. Он не меняется при установке новых патчей.
«Rule Type: Msi Produst Installed» → «Add Rule» — > AC76BA86–7AD7-FFFF-7B44-AE0F06755100 → «Ok» → «Next»
d8ccfa71dc67434c813fbc4b4e02ee2c.png

5) Необходимость установки проверяем аналогично, но еще и по версии ОС (версия DC поддерживает Windows 7 и новее).
«Rule Type: Msi Produst Installed» → «Add Rule» — > AC76BA86–7AD7–1049–7B44-AB0000000001 → «Ok»
«Rule Type: Windows Version» → «Add Rule» — > «Comparison: Greater Then or Equal To», «Easy Selection: Windows 7» → «Ok» → «Next»

030e5b47414b4b0996e6d28b7112ee7c.png

6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».

P.S.: Содержимое CmdLine можно перенести из Setup.ini в Parameters (Optional) на шаге 1.


Как оказалось, WSUSPP — это очень мощный продукт, способный составить конкуренцию SCCM. Конечно, он не лишен недостатков. К таковым можно отнести невозможность ревизии первых шагов в мастере «Custom Update Creator», а так же своеобразная логика добавления правил. Но даже с учетом этого WSUS Package Publisher пригодится многим системным администраторам, которые понимают важность up-to-date своего парка.

Комментарии (3)

  • 9 августа 2016 в 13:54

    0

    А с обновлениями для Java так же или есть нюансы?
    • 9 августа 2016 в 13:58 (комментарий был изменён)

      0

      Для Явы есть мануал, но сам я его не тестировал. По идее должно работать.
    • 9 августа 2016 в 14:50

      0

      Для 8-й Java. Работает.

© Habrahabr.ru