Установка приложения в корпоративной среде при помощи групповых политик (на примере Adobe Acrobat Reader).

В продолжение темы борьбы с «дырками» в продуктах третьих фирм вообще (и в Adobe Acrobat Reader  в частности), решил написать для себя небольшую заметку-инструкцию по установке и обновлению этого ПО в корпоративной среде при помощи подручных средств. Т.к. из подручных средств у меня имеется только GP (Групповые политики), то речь пойдет именно о них. И так, общая схема работы такова:

  1. надо где-то раздобыть приложение в формате msi
  2. создаем общую папку на сетевом ресурсе для размещения файлов административной установки.
  3. выполняем административную установку приложения в папку, созданную в п.2
  4. выполняем настройку пакета инсталляции (msi), путем его редактирования и/или создания файла модификации/преобразования (mst)
  5. создание/редактирование GPO для добавления пакета инсталляции.

 

Рассмотрим, каким образом мы можем выполнить каждый из вышеперечисленных пунктов на примере создания объекта Групповой политики, предназначенной для выполнения установки Adobe Acrobat Reader’а в корпоративной среде.

1) Как добыть инсталлятор  Acroreader’а? Как выяснилось это не просто, а очень просто. Сначала нам придется скачать с сайта производителя инсталлятор Acroreader’а, представляющий обычный исполняемый exe-файл. Сделать это можно одним из следующих способов: посетить сайт www. adobe.com, потыркать по ссылочкам и добраться, наконец, до страницы со ссылкой на файл-дистрибутив, либо, сократив количество телодвижений, непосредственно забрать оный инсталлятор с ftp-сервера производителя. Последняя (на момент написания этих строк) версия инсталлятора 9.3.4 доступна для скачивания по следующему адресу: ftp://ftp.adobe.com/pub/adobe/reader/win/9.x/9.3.4/enu/AdbeRdr934_en_US.exe. И так, мы добыли инсталлятор в виде исполняемого файла. К нашему счастью этот инсталлятор есть не что иное, как, своего рода, самораспаковывающийся архив, который содержит в себе нужный нам msi-пакет. Поэтому нам не придется заниматься самостоятельной изготовкой msi-пакета. Все, что нам нужно сделать, это распаковать полученный «архив». Для этого обратимся к документации от производителя (Deploying Adobe Reader 9). Для того, чтобы извлечь содержимое exe-файла в папку AR9, необходимо дать команду:

AdbeRdr934_en_US.exe -nos_o"AR9" -nos_ne

 В результате в папке AR9 будет создан следующий набор файлов:

PS > dir -Recurse

     Каталог: Microsoft.PowerShell.Core\FileSystem::C:\ar9
 Mode           LastWriteTime       Length Name
—-           ————-       —— —-
d—-    22.09.2010    15:22        <DIR> Reader9
-a—    20.06.2010     2:05       308656 Setup.exe
-a—    14.08.2010    16:02          769 setup.ini

    Каталог: Microsoft.PowerShell.Core\FileSystem::C:\ar9\Reader9
Mode           LastWriteTime       Length Name
—-           ————-       —— —-
-ar–    12.12.2007     1:29         1728 abcpy.ini
-ar–    04.01.2010    21:41      3972608 AcroRead.msi
-a—    04.04.2010    10:54     11850240 AdbeRdrUpd932_all_incr.msp
-a—    20.06.2010    12:01      8040960 AdbeRdrUpd933_all_incr.msp
-a—    13.08.2010    22:09     12263936 AdbeRdrUpd934_all_incr.msp
-ar–    04.01.2010    21:39    109673432 Data1.cab
-ar–    22.12.2009     7:16       345520 Setup.exe
-a—    14.08.2010    16:02          382 setup.ini

Из полученного набора нас интересует файл AcroRead.msi, это, собственно говоря, и есть наш пакет.

2) Со вторым пунктом нашего плана, думаю у нас проблем возникнуть не должно. Все мы умеем папки создавать да права на них выдавать. Единственный нюанс: права на папку должны быть таковы, чтобы доступ к папке имели  компьютеры домена (т.к. мы собираемся прописать пакет установки в разделе «Конфигурация компьютера» групповых политик). Для этих целей можно, например, предоставить доступ на чтение для группы «Компьютеры домена» или «Прошедшие проверку».

3) Выполняем административную установку. Для этого нам потребуется полученный в п. 1 настоящей инструкции пакет AcroRead.msi. Выполняем команду msiexec /a <Full_path_to_AcroRead.msi>

, где  <Full_path_to_AcroRead.msi> – это полный путь (включая имя файла) к пакету AcroRead.msi . Для вышеприведенного примера эта команда будет выглядеть так: msiexec /a C:\ar9\Reader9\ AcroRead.msi. В результате на экране появится «визард», в котором необходимо будет указать полный путь к папке, в которую мы хотим поместить административную установку (эта папка была создана нами на предыдущем шаге). 

4) Настройка пакета инсталляции, создание «модификации» (mst-файла).

Для настройки пакета установки мы воспользуемся «Adobe Customization Wizard 9» (ACW), любезно предоставленного для этого производителем: запускаем ACW, открываем msi-пакет, находящийся в папке административной установки. Вносим следующие изменения:

а) в разделе «Installation options» выбираем Unattended установку (установка без вмешательства пользователя), а так же «Suppress reboot» (запрещаем перезагрузку после установки)

б)  «В разделе EULA and Document Status» взводим галку «Suppress display of EULA» (подавление отображения  лицензионного соглашения)

рис.3

в) В разделе «Online and Acrobat.com features» запрещаем выполнять любые обновления, т.к. обновление будет выполняться администратором централизовано (об этом речь пойдет ниже).

В целях безопасности взводим «галку» «When launching PDF in Internet Explorer, prompt user in open|save dialog», тем самым не позволяя открывать pdf-документ в окне браузера (вместо этого пользователю будет предложено открыть/сохранить файл).

Запрещаем доступ к Adobe.com features.

рис.4

Если есть желание, можно осуществить более тонкую настройку путем «непосредственного редактирования» в разделе «Direct Editor». Так, например, если вы хотите отключить  установку «Быстрого запуска Acrobat Reader’а» (“Adobe Reader Speed Launcher”), то для этого вам потребуется удалить элемент таблицы Registry838 (о некоторых других параметрах тонкой настройки инсталляционного пакета Adobe Acrobat Readerа можно прочитать здесь: “Deploying Adobe Reader 9 for Windows”

рис.5

Затем, сохраняем выполненные настройки в новом файле модификации (mst-файл): для этого выполняем Transform->Generate Transform

5)Создание/редактирование GPO для добавления пакета инсталляции

а) В редакторе групповых политик щелкаем правой кнопкой по узлу «Установка программ»

рис.6

б) В появившемся окне диалога открытия файла находим и выбираем  на сетевом ресурсе с административной установкой msi-пакет. После открытия этого пакета мы увидим следующее окно:

рис.7

В этом окне мы должны выбрать «особый» метод развертывания, т.к. мы собираемся использовать файл модификации (mst-файл).

в) на вкладке «Модификации» добавляем созданный нами при помощи  ACW файл модификации  Acroread.mst.

рис.8

Не забудьте прилинковать созданную политику к нужному OU.

Ну, и остался последний важный момент. Политику мы создали, прилинковали. На компьютерах она применилась. А как же быть с обновлениями?

Обновления выпускаются фирмой Adobe в виде patch-файлов, имеющих расширение msp. С помощью этих файлов мы можем выполнять обновление административной установки. Обновление выполняется в 2 этапа:

a)      собственно обновление, т.е. применение patch’а к административной установке.
После того, как мы скачали с сайта производителя очередной инкрементальный файл патча, применим его к административной установке при помощи следующей команды:  

msiexec /a <Full_path_to_AcroRead.msi_on_share_with_admin_install> /p <Full_path_to_patch_file>

<Full_path_to_AcroRead.msi_on_share_with_admin_install> – полный путь к msi-пакету административной установки AcroRead.msi
<Full_path_to_patch_file> – полный путь к файлу patch’а.
Для вышеприведенного примера команда будет выглядеть следующим образом:
msiexec /a \\Server\Deploy\Acrobat\AcroReadd.msi  /p C:\ar9\Reader9\ AdbeRdrUpd932_all_incr.msp

b)      распространение обновления на клиентские компьютеры.
Для того чтобы клиентские компьютеры выполнили обновление ПО, ранее установленное при помощи групповых политик, необходимо, открыв соответствующую политику на редактирование, дать команду «Развернуть приложение заново» (см. рисунок ниже)

рис.9

При написании данной заметки были использованы следующие источники информации:

Adobe Acrobat 9 Deployment on Microsoft Windows Group Policy and the Active Directory Service

Deploying Adobe Reader 9

“Deploying Adobe Reader 9 for Windows”

[Upd 2010.10.27]

 Добавлю еще немного полезных настроек, которые могут быть сохранены в файле-модификации (*.mst):

 Добавляем параметры реестра, отключающие JavaScript (встроенный в Acrobat):

рис. 11

Обратите внимание, что раздел реестра JSPrefs с параметром bEnableJS может быть добавлен, как в куст HKCU, так и в HKLM. Думаю, что лучше будет добавить эти параметры в оба куста и вот почему: как я уже писал ранее, этот параметр действует в обоих случаях, но приоритетнее параметр, заданный в ветке HKCU. С другой стороны, параметр из куста HKLM полезен тем, что он задает дефолтное значение  (JavaScript вкл/выкл)  для любого пользователя компьютера (в том числе и локального).
Не смотря на то, что мы может отключить встроенный JavaScript в пакете msi, после установки приложения пользователь может снова его включить (взведя соответствующий checkbox в меню Acrobat Reader’а). Поэтому настоятельно рекомендую прикрутить в политику, которая бы постоянно выполняла отключение встроенного интерпретатора JavaScript.

Кроме того, из соображений безопасности стоит запретить документу PDF открытие других файлов и запуск приложений:

рис. 12

47 Comments

    • Всегда рад помочь ;)
      Заходил на ваш блог, хотел оставить пару коментов – ничего не вышло: при нажатии на кнопку “отправить” получаю сообщение об ошибке “Intrenal Server Error 500”

      • а можно ещё потестить? Я просил друзей, оставляли комменты – я их получаю. Может быть Akismet зарезал? Если можно, свяжитесь со мной по аське 141215 – не отказался бы от вашего чтения и комментирования :)

    • Что касается картинок, я согласен (попробую в следующий раз сделать покрупнее). Касательно информации – не совсем согласен: дать набор параметров не объясняя, что они означают, и почему автор рекомендует их применять, IMHO, не есть правильно. Я решил, что будет лучше привести, в качестве примера, описание одного из вариантов “тонкой настройки” и дать ссылку на источник информации, где аналогичные настройки подробно расписаны (а не копипастиь их к себе в блог, не снабдив комментариями).

      • Кстати вопрос по указанной мной ссылке, автор расписал что нужно сперва взять голую версию 9.3, а потом уже дополнить его обновлениями 9.3.1 – 9.3.2 – 9.3.3 – 9.3.4.
        Хотелось бы услышать от вас комментарии по этому поводу. Я то уже ставил версию 9.4. Меня вот поэтому интересует когда будет 9.4.1. Как поступать?

        • Это все из-за того, что Adobe не выпускает для каждой минорной версии новый msi-пакет. Новый msi-пакет выходит только при крупных изменениях (при изменении 2й цифры в номере версии продукта). Для каждого минорного изменения (изменение 3й цифры в номере версии) выходит только инкрементальный патч.

  1. В статье указанной выше автор сделал упор что нужно сперва скачать голый 9.3.0 а потом уже файлы обновлений. Интересно ваше мнение по этому поводу. Я то устанавливал уже 9.4.0, но потом то будут выходить новые обновления как быть?

    • Дистрибутив последней версии, доступный для скачивания на оф. сайте, представляет из себя архив. Этот архив содержит в себе пакет msi и патчи к нему.
      Так, например, дистрибутив AdbeRdr934_en_US.exe, содержит в себе пакет установки: AcroRead.msi (v 3.0)
      и набор инкрементальных патчей:
      AdbeRdrUpd932_all_incr.msp
      AdbeRdrUpd933_all_incr.msp
      AdbeRdrUpd934_all_incr.msp

      (Я об этом писал в инструкции, см. выше)

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

    • >Хотелось бы услышать от вас комментарии по этому поводу. Я то уже ставил версию 9.4. Меня вот поэтому интересует когда будет 9.4.1. Как поступать?

      v 9.4.1, если Adobe будет придерживться традиций, должна представлять из себя инкрементальный патч. Поэтому все, что вам потребуется, – это применить его к имеющей место быть административной установке v 4.0 и дать команду на redeploy приложения.

  2. Подробно и без излишеств. Хочу порекомендовать ресурс: . Множество практических советов по развёртыванию продуктов. А также (оттуда):

    The following message was posted by TAiNiUM in the Package Development forum:
    Subj: Adobe 9.3 Standard Package

    I am trying to create an adobe 9.3 install package without Adobe Updater. I tried the instructions from the 9.1 with ORCA and keep getting errors about missing references.

    These are the instructions I am trying to follow:
    After you download it, copy it to a temporary folder such as c:\R9. Then execute the installer with this command line:
    C:\R9\AdbeRdr90_en_US_Std.exe -nos_o”./InstallFiles” -nos_ne Note the lack of a space between -nos_o”./InstallFiles”
    This will cause the installer files to be extracted to C:\R9\InstallFiles Open AcroRead.msi in Orca and then do the following:
    – In the Component table, drop any row containing ‘AdobeUpdater’ or ‘Adobe_Updater’
    – In the Feature table, drop any row containing ‘AUM’ or ‘Updater’
    – In the FeatureComponents table, drop any row containing ‘AUM’ or ‘Updater’
    – In the File table, drop any row containing ‘AdobeUpdater’ or ‘Adobe_Updater’
    – In the ModuleComponents table, drop any row containing ‘AdobeUpdater’ or ‘Adobe_Updater’
    – In the MsiFileHash table, drop any row containing ‘AdobeUpdater’
    – In the Registry table, drop any row containing ‘Adobe_Updater’
    – In the Registry table, drop the row containing ‘Registry838’
    – In the Shortcut table, drop the row containing ‘SC_READER_DT’
    – In the Property table, set the value for SYNCHRONIZER to YES
    – In the Property table, set the value for EULA_ACCEPT to YES Also in the Property table, you could set the value of DISABLE_BROWSER_INTEGRATION to YES, to prevent Reader from opening within the browser. This would be beneficial in Terminal Server environments. When a PDF file is opened within the browser and the user then browses to a different page, the Reader components are stay in memory until the browser is closed.
    Save the new MSI.

    Идти можно разными путями, выше предложен один из них. Я сделал иначе, изменил INSTALLLEVEL для “ненужных” компонент.

  3. Про appdeploy.com знаю (полезный ресурс). При написании своей заметки-инструкции, как раз руководствовался похожим описанием (на нее приведена ссылка в конце заметки).
    Для выполнения вышеприведенных настроек вместо Orca, вполне, можно пользовать предлагаемый Adobe’ом ACW. Но, вот никакого InstallLevel в ACW (при беглом осмотре) мне обнаружить не удалось.
    Мои знания о структуре пакетов msi (мягко говоря) далеки от совершенства, посему за InstallLevel мне трудно что-либо сказать (не подскажете, где и при помощи какого инструментария можно подправить этот параметр?)

    ЗЫ начинаю читать описание WiX с вашей подачи ;)

    • Рад, что Вы приступили к изучению WiX. Плюсы его в том, что он “открытый”. Ну и собирать дистрибутив гибко и удобно, работая при этом в Visual Studio. При этом можно собрать “чистый” msi (без всяких InstallShield) даже с интерфейсом с локализацией без особых проблем. Если есть интерес – сообщите, выложу исходники простейшего msi для публикации ЯРЛЫКА (типа – развернули сервис). Могу и посложнее выложить – уже с приложениями на примере той же 1С 7.7 либо на примере Tops System TFlex CAD 3D, WinRAR (собственная сборка).
      Касательно InstallLevel. Этот аттрибут через Orca следует искать в таблице Features. Feature – компонент (не путать с Component, не знаю, как иначе здесь перевести Feature на русский язык) верхнего уровня, параметрами установки которого мы даём возможность управлять пользователю. Для пользователя Feature – это атом. Он либо весь встаёт, либо весь не ставим. Для нас – Feature состоит из множества Component. Так вот, для каждого Feature в таблице Features мы можем переопределить InstallLevel. По умолчанию он – 100. Есть также связанное свойство в Properties – INSTALLLEVEL. Его значение по умолчанию также 100. И для конкретного Feature msi определяет ставить его или нет (что можно изменить) первоначально по InstallLevel. Если InstallLeve <=INSTALLLEVEL – ставим, иначе – не ставим.

      • Спасибо большое. Честно говоря, как начал читать про WiX, так и закончил (руки не доходят). Если бы вы в вашем блоге сделали бы ряд статей с примерами его применния из вашего личного опыта, с удовольствием бы прочитал.

        • Сделаем. На зимних каникулах напишу. Будет здесь: http://sergey-s-betke.blogs.csm.nov.ru/category/it/app-publishing/wix и здесь http://sergey-s-betke.blogs.csm.nov.ru/category/msi-gpo/wix. Пока там нет ничего, но на каникулах накидаю :-). Как раз будут примеры и простенькие, и посложнее. И перепишу статьи по публикации 1С, не столько ради 1С, сколько по причине возможности демонстрации на данном примере широкого круга возможностей msi.

        • Как и обещал, поправил статью про msi для 1C на WiX, и привёл также простейший пример – развёртывание простейшего сценария, который должен выполняться также и в том случае, если машина offline (WiX+MSI+GPO).

          • Провел полдня в безуспешных способах запустить devenv.exe из установленной VS2010. При потытк езапуска пишет: “недопустимые данные лицензии требуется переустановка”. 100500 раз переустановил. Выполнял шаманские действия с реестром, которые удалось нагуглить, – результат нулевой. а сейчас вообще наткнулся на следующее: “The isolated shell and integrated shell are not meant to be directly used by end users. They are for ISVs or Visual Studio extenders to build on top of.

            If you install the isolated shell, you cannot just run devenv.exe. A VS extender is supposed to create his or her own stub .exe to replace devenv.exe. Devenv.exe should never have been included in the isolated shell product”
            Та как ее вообще запускать?

  4. Pingback: Установка Java Runtime Environment в корпоративной среде - ShS's Blog

  5. Здравствуйте! Во-первых, большое спасибо за статью, руководствуюясь ею, установил и обновил Acrobad Reader X до версии 10.0.1.
    Во-вторых, вопрос, про обновления. После того, как применил патч обновления к файлу msi, в каталоге установки появилось много новых папок – например, ProgramFiles, Windows и т.д. Можно их всех удалить и оставить только то, что было до применения патча (msi-файл, data1.cab и еще кое-что по мелочи)?

    • Не думаю, что следует удалять что-либо. Если звезды зажигают файлы и папки создаются – значит это кому-то нужно. ;)

    • Однозначно – нельзя. Я рекомендую Вам и для “изначальной” версии правильно подготовить административную точку развёртывания, уже без cab. (msiexec -a “setup.msi” TARGETDIR=”папка, куда делать административную точку, папка должна отличаться от исходной”).
      В результате Вы получите уже развёрнутую точку, и при установке на рабочей станции на будут складываться кроме msi ещё и cab файлы.

  6. У меня не получается пропатчить (

    1. Административная установка в D:\#InstallApp\AdobeReader
    msiexec /a D:\#InstallApp\AdobeReader\Update\AdbeRdr1000_ru_RU.msi

    2. Патч до версии 10.0.0.1
    msiexec /a D:\#InstallApp\AdobeReader\AdbeRdr1000_ru_RU.msi /p D:\#InstallApp\AdobeReader\Update\AdbeRdrUpd1001_Tier4.msp

    3. В итоге D:\#InstallApp\AdobeReader\AdbeRdr1000_ru_RU.msi – версии 10.0.0.1, но при запуске ошибка, что установлена другая версия продукта

    • 1) на сколько я понял пропатчить все-таки удалось “В итоге D:\#InstallApp\AdobeReader\AdbeRdr1000_ru_RU.msi – версии 10.0.0.1,”
      2) при запуске чего и где возникает ошибка? Приведите точный текст ошибки

      • 1. да, версия 10.0.1
        2. При запуске напрямую из \\domain\#InstallApp\AdobeReader\AdbeRdr1000_ru_RU.msi – Уже установлена другая версия программного продукта. Установка не будет завершена и так далее …

        Но я так понимаю, у меня проблема в понимании самого механизма.
        Сегодня, через GPO – cтарая версия 10.0.0 продукта удаляется, ставится 10.0.1. Я думал, что тут именно будет update.

        • Мне сейчас не на чем проверить запуск msi “руками” (везде уже установленны последнии версии программ). Я делаю менно так, как описано выше и у меня все работает. Так, совсем недавно, обновил Acrobat до 9.4.4. Кстати, попробуйте все-таки для теста провести установку из обновленной административной точки при помощи политик и посмотреть на результат.

          • При помощи политик всё удачно, удалилась 10.0.0 – установилась 10.0.1
            Видимо оно так и должно работать. (точно не знаю, только учусь)

    • Я так понимаю, Вы обновили тот пакет, с которого и разворачивали Reader? Исходный пакет оставьте в покое, создайте новую папку (я их по версиям именую), туда заново msiexec /a (создайте административную точку установки, кстати – не вижу TARGETDIR=…, куда создали административный образ? его же создавать нужно в отдельную папку, а не “поверх””), после чего msiexec /a /p (причём – к пакету уже административной точки установки, а не к исходному). И в политику укладывайте как новый пакет, указаывая, что он обновляет предыдущий. И всё будет прекрасно.
      Золотое правило: если пакет уже развернули, НЕ ТРОГАЙТЕ ЕГО, создавайте новые административные точки.

      • А я всегда обновляю точку развертывания административной установки Adobe Reader (предварительно сделав ее Backup). Пока никаких проблем не имел ;)

      • TARGETDIR=D:\#InstallApp\AdobeReader
        Если я буду создавать новые административные точки, мне же придёться изменять путь в политиках установки программ?
        Или, Вы имеете ввиду, что после того, как я проделал msiexec /a /p – я иду на вкладку Upgrades

  7. Доброго времени суток!
    Спасибо за познавательную статью! Давно искал описанный в ней способ автоматизировать обновление AdobeReader.Всё здоровою Всё работает. Назрел маленький вопросик – возможно ли каким-то образом править полученные *.mst файлы или каждый раз необходимо все настройки инсталляции прописывать заново, если вдруг понадоилось что-то поправить?

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

  9. Pingback: Установка 1с v8.2 в корпоративной среде при помощи групповых политик - ShS's Blog

  10. Спасибо за содержательную статью! При установке версии Х столкнулся с тем, что инсталлер ждет файл с неправильным именем. Отсюда вопрос- как посмотреть лог при такой установке?

  11. При загрузке компа высвечивается “..идет установка управляемого приложения Acrobat ..”. После загрузки- ничего нет. Я запустил установку Acrobat через установщик msiexec c логированием. Результат- “… ожидается файл ..Common\Adobe\ARM\1.0\AcrobatUpdater”, а наличиствует- ReaderUpdater! После переименования(!)- все установилось и ч/з GP! Вот и вопрос- как включить/посмотреть логирование при установке ч/з GP?

  12. А никто не сталкивался с такой проблемой:
    Подготовил GPO с версией 10,1,3 рус по этой инструкции.
    Разворачиваю его на машине, где не стоит Reader – всё в порядке, всё как нужно.
    Разворачиваю его на машине с уже установленным английским Reader’ом такой же версии – политика вроде как применяется, но программа остаётся английской и всякие менюшки онлайн сервисов акробата активны.. Т.е. не обновляется.

    Несколько раз пробовал, никак не пойму, куда копать?

    • Возможно, что с точки зрения WinInstaller’а Reader русский и Reader английский – это два разных приложения. Посему совершенно естественно, что одно не обновляет другое.

      • Да нет, тогда было бы две версии продукта, а русской вообще нет. Может быть он просто видит, что уже установлено и не ставит?
        Тогда возникает вопрос, как удалить предыдущую и у становить новую с помощью GP?

        • А вы уверены, что политика применилась?
          А в логах что? Если в них информации недостаточно, то можно включить расширеное протоколирование групповых политик и/или wininstall’ера.
          PS Кстати, можно попробовать установить ваш пакет “руками” и посмотреть – не возникнет ли ошибка в процессе его развертывания?

  13. Pingback: Установка Adobe Acrobat Reader при помощи GPO | Шпора начинающего IT-шника

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.