Меню Закрыть

Установка и обновление "1С Предприятие v8" с помощью групповых политик (GPO)

При установке или обновлении программы 1С Предприятие многие администраторы сталкиваются с невозможностью корректного выполнения этих заданий с помощью групповых политик. Наиболее распространена ошибка 1720:

Product: 1C:Enterprise 8.1 — Error 1720.There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action customDetectPrevVersion script error -2147467259, Msi API Error: ProductInfo,Product,Attribute Line 7, Column 5

Данная ошибка вызвана некорректной работой механизма обновления программы, то есть мы не можем выполнить установку свежего билда поверх установленной предыдущей версии.

Для выполнения обновления необходимо вручную отредактировать установочный файл msi до создания групповой политики. Для этого мы используем бесплатный инструмент компании Microsoft для редактирования файлов msi под названием Orca. Эта утилита входит в состав  Microsoft Windows Software Development Kit (SDK), а такжe её можно скачать отдельно здесь.

Итак:1cupdate_orca

  1. Скачиваем и устанавливаем Orca;
  2. Открываем программой файл 1CEnterprise 8.1.msi
  3. Находим раздел “CustomAction” и в нем параметр “customDetectPrevVersion“. Удаляем этот параметр, сохраняем изменения;
  4. Копируем в общедоступную сетевую папку дистрибутив, который установлен на текущий момент (если мы обновляем билд) и новую версию с измененным нами файлом msi. Копируем, естественно, в разные папки

Теперь нам необходимо создать групповую политику и создать в разделе “Установка программ” два пакета установки – старой (например 8.1.11)и новой (8.1.13) версий (рис.2).

1cupdate_install1
Затем в свойствах пакета установки новой версии 1С нам необходимо указать, что данный пакет выполняет обновление старой версии 8.1.11 (рис.3). После назначения политики может потребоваться дополнительная перезагрузка компьютера, так как не синхронизированы удаление старой и установка новой версий ПО.

1cupdate_update

В дальнейшем, с выходом нового билда, Вам будет необходимо лишь добавить еще один пакет в созданную политику и также указать параметр обновления предшествующей версии.

Обращаю Ваше внимание, что политика применяется к учетной записи компьютера, и отработку политик раздела пользователя можно отключить.

14 Comments

  1. Serg_IV

    В свое время мучался с развертыванием 1С V8 через политики. Но как оказалось достаточно скопировать проинсталеную 1С на общий ресурс и она прекрасно оттуда запускается, точка обновления получается всего одна.

    • kvazar

      Как я понимаю, вы имеете в виду запуск установки с помощью скрипта и административной установки? Да, такой метод может быть применен, однако в случае обновления текущих версий он также может вызывать приведенную в статье ошибку.

  2. Serg_IV

    Нет, я имею ввиду то, что коиента 1с можно вообще не инсталировать на юзерских машинах. Инсталируем на одной, а потом директорию с проинсталеной 1С выкладываем на общий ресурс и оттуда с клиентов просто екзешник запускаем

  3. Mix

    А почему необходимо устанавливать как обновление?
    Дистрибутивы предущих исталяций необходимо будет хранить вечно или достаточно только последнего?
    Возможен ли вариант, когда каждое следующая версия ставится как новая?

    • kvazar

      Все дело в кривом пакете 1С. Последние два билда этим грешили. Если в будущем (как обещают) программисты 1C сваяют более корректный пакет, то в дальнейшем для обновления достаточно будет добавлять к существующей политики новый билд, оставляя только предпоследний, указывая что это обновление. Вариант удаления вчистую для дальнейшей установки приходится использовать в случае, если не использовать приведенный в статье способ.

  4. Mix

    Спасибо за статью! Твои рекомендации для версии 1С 8.1.13.х помогли.
    Если знаешь, поясни в чем различие между установкой следющей версии как обновление и как новый релиз, без указания, что это обновление, т.е. сначала удаляем из политики предыдущий пакет, затем добавляем новый.

    • kvazar

      Разница в том, что если используются корректные пакеты, происходит обновление текущего релиза БЕЗ УДАЛЕНИЯ предыдущего, то есть поверх.

  5. edelweiss

    Квазар, реальное спасибо!
    У МЕНЯ ОКОЛО СОТНИ МАШИН, уже думал,что свихнусь!
    Единственный момент: из них определенное кол-во машин обновилось изначально без проблем, у всех остальных ошибка 1720, после проделывания вышеописанных процедур обновились и последние. как можешь прокомментировать?
    Еще раз спасибо за статью!!!

  6. dle

    Все понятно, мне лично всё понравилось, только вот один минус, сайт слегка подтормаживает у вас, а так всё норм! 😉

    • Kvazar

      В ближайшее время перееду на другой хостинг, а то Majordomo уже совсем обнаглел…

Добавить комментарий

Ваш адрес email не будет опубликован.

2 × 2 =

%d такие блоггеры, как: