Как исправить ошибку CustomGrantLicUSERRight при установке или обновлении платформы 1С:Предприятие 8.3?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия
← На главную

При обновлении или первичной установке платформы 1С:Предприятие 8.3 (особенно версий ветки 8.3.6 и выше) пользователи часто сталкиваются с критическим завершением работы установщика. Ошибка сопровождается сообщением: «Неполадка пакета установщика Windows. Непредвиденное завершение программы, являющейся частью установки... Действие CustomGrantLicUSERRight». Иногда это сопровождается системным кодом 1722. Давайте разберем, почему это происходит и как пошагово решить эту проблему, основываясь на техническом анализе и опыте системных администраторов.

Разберем техническую суть ошибки

Для начала проанализируем ситуацию: что именно делает установщик в момент возникновения ошибки? Действие CustomGrantLicUSERRight — это специальный скрипт (Custom Action), встроенный в MSI-пакет 1С. Его основная задача — автоматически назначить права доступа группе «Все» (Everyone) или «Пользователи» на запись и изменение в каталог, где хранятся программные лицензии 1С. Если установщик не может найти этот каталог, не имеет прав на изменение разрешений или сталкивается с поврежденной структурой системных папок, процесс прерывается.

Чаще всего проблема проявляется на устаревших операционных системах вроде Windows XP, но может возникнуть и на современных версиях Windows из-за некорректных настроек безопасности или «хвостов» от предыдущих инсталляций.

Решение 1: Манипуляции с каталогом лицензий (самый эффективный способ)

Как показывает практика, наиболее действенным методом является временное устранение папки, в которую установщик пытается прописать права. Рассмотрим алгоритм действий для разных ОС:

Для Windows XP:

  1. Перейдем по пути: C:\Documents and Settings\All Users\Application Data\1C\.
  2. Найдем там папку licenses.
  3. Важный момент: не удаляйте её сразу, если у вас уже установлены программные лицензии, иначе 1С их «потеряет». Просто переименуйте папку, например, в licenses_old.
  4. Запустим установку платформы заново. Установщик сам создаст новую папку licenses с нужными ему правами.
  5. После успешного завершения установки скопируем файлы лицензий из licenses_old обратно в новую папку licenses.

Для Windows 7, 10, 11:

  1. Перейдем в каталог C:\ProgramData\1C\. Обратите внимание, что папка ProgramData является скрытой, поэтому в настройках проводника нужно включить отображение скрытых элементов.
  2. Если папки licenses не существует — создадим её вручную. Как ни странно, это часто помогает инсталлятору «проскочить» проблемный шаг.
  3. Если папка существует, проделаем ту же операцию с переименованием, что и для Windows XP.

Решение 2: Проверка наличия системной папки Installer

Иногда корень проблемы кроется глубже — в отсутствии или повреждении системного кэша установщика Windows. Разберем, как это проверить. Установщику MSI критически важна папка C:\Windows\Installer. Она является скрытой и системной. Если системные администраторы в целях экономии места на диске удалили этот каталог, многие операции Custom Action (включая нашу CustomGrantLicUSERRight) начнут выдавать ошибку.

Выясним причину: просто проверьте наличие пути C:\Windows\Installer. Если его нет — создайте пустую папку с таким именем. Это вернет работоспособность многим скриптам инсталляции.

Решение 3: Использование специализированных параметров запуска

Если стандартный запуск setup.exe не помогает, попробуем обратиться к возможностям командной строки. Мы можем запустить установку MSI-пакета напрямую, минуя некоторые проверки или принудительно задавая логирование для выявления точного места сбоя.

Рассмотрим пример команды для запуска из папки с дистрибутивом:


msiexec /i "1CEnterprise 8.3.msi" /L*V install_log.txt

Проанализируем файл install_log.txt после сбоя. Если мы увидим сообщения о невозможности доступа к реестру или конкретным веткам SID, это будет сигналом к проверке прав текущего пользователя. Убедитесь, что вы запускаете установку от имени Администратора. В некоторых случаях на Windows XP помогает создание специального пользователя USR1C с правами администратора и запуск установки под его учетной записью.

Решение 4: Исправление прав доступа через вкладку «Безопасность»

Посмотрим на ситуацию со стороны логики прав NTFS. Действие CustomGrantLicUSERRight падает, когда папка licenses уже существует, но имеет жестко заданные права, которые запрещают наследование или изменение владельца.

Попробуем исправить это вручную:

  1. Нажмем правой кнопкой на папку C:\Documents and Settings\All Users\Application Data\1C (или C:\ProgramData\1C).
  2. Выберем «Свойства» -> «Безопасность» -> «Дополнительно».
  3. Установим флажок «Заменить разрешения всех дочерних объектов на разрешения, наследуемые от этого объекта».
  4. Добавим пользователя «Все» (Everyone) и предоставим ему «Полный доступ» на время установки.

Решение 5: Специальные файлы техподдержки (start.cmd)

В некоторых случаях (особенно для релизов платформы 8.3.6.2041 и близких к ним) фирма «1С» признавала наличие ошибки в самом MSI-пакете при работе на Windows XP. Техподдержка высылала исправленные файлы или специальный скрипт start.cmd, который нужно поместить в папку с дистрибутивом.

Если у вас есть такой архив, алгоритм следующий:

  1. Распакуем содержимое архива непосредственно в папку, где лежат файлы setup.exe и 1CEnterprise 8.3.msi.
  2. Запустим файл start.cmd от имени администратора.
  3. Этот скрипт обычно содержит команды по предварительной очистке временных каталогов и принудительному созданию структуры папок перед вызовом основного инсталлятора.

Дополнительные рекомендации

Проанализируем еще несколько факторов, которые могут мешать установке:

Выполнив эти шаги, мы успешно преодолеем ошибку CustomGrantLicUSERRight и сможем продолжить работу с актуальной версией платформы 1С:Предприятие.

← На главную