Установка и обновление "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 )

  1. Serg_IV
    says:

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

    • kvazar
      says:

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

  2. Serg_IV
    says:

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

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

    • kvazar
      says:

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

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

    • kvazar
      says:

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

  5. unvasily
    says:

    Спасибо 🙂 Статья оказалась актуальна и для версии 8.1.14.72.

  6. edelweiss
    says:

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

  7. tructunse
    says:

    Мне очень понравился ваш блог, большое спасибо что вы есть!

  8. grirm
    says:

    The matchless theme, very much is pleasant to me 🙂

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

    • Kvazar
      says:

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

  10. ALex
    says:

    c 8.2 всё ок ? нужно с ключом /a запускать ?

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

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены знаком *

20 − три =

Яндекс.Метрика