Как установить программные лицензии 1С на арендованный сервер в режиме RemoteApp и обновить платформу без остановки работы?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

В этой статье мы подробно разберем практические шаги по миграции платформы с устаревшей взломанной версии 8.3.11.2867 на современную лицензионную 8.3.13 (или более новую) без прерывания текущей работы пользователей, а также детально изучим механизм лицензирования 1С в терминальной среде RemoteApp.

Особенности лицензирования 1С в терминальном режиме и RemoteApp

Прежде чем приступать к техническим работам, давайте разберем фундаментальное правило работы программных лицензий «1С:Предприятие 8». Оно звучит следующим образом: лицензия должна находиться там, где непосредственно запускается исполняемый файл 1С.

При использовании службы удаленных рабочих столов (RDP) или ее разновидности RemoteApp пользователи запускают ярлык программы на своих локальных компьютерах, но сам процесс 1cv8.exe (или тонкий клиент 1cv8c.exe) физически стартует и выполняется в оперативной памяти удаленного сервера. Локальный компьютер пользователя выступает лишь в роли устройства вывода графического интерфейса и ввода данных (мышь, клавиатура). Из этого следует важный вывод: все программные лицензии 1С должны быть активированы и установлены непосредственно на самом терминальном сервере. Вариант с установкой лицензий на локальные рабочие станции пользователей при работе через RemoteApp работать не будет — запущенная на сервере программа просто не увидит эти файлы.

Существует распространенное заблуждение, что при работе через RemoteApp на каждое открытое окно 1С тратится отдельная лицензия. Давайте проанализируем, как обстоит ситуация на самом деле. Начиная с современных версий Windows Server (2012 R2, 2016, 2019, 2022), операционная система по умолчанию группирует все подключения одного и того же пользователя под одной учетной записью в рамках одного и того же терминального сеанса (сессии ОС). Платформа 1С при проверке лицензий опрашивает именно окружение текущей сессии операционной системы. Если один пользователь открывает три разные базы через RemoteApp, система создает три процесса 1С, но все они выполняются в рамках одной терминальной сессии. Таким образом, на работу этого пользователя будет израсходована всего одна программная лицензия. Это правило справедливо для файловых баз данных и для клиент-серверных вариантов работы, если раздачу лицензий осуществляет локальный терминальный сеанс, а не сервер приложений «1С:Предприятие».

Однопользовательские vs Многопользовательские пин-коды: критически важный выбор

При покупке дополнительных лицензий (например, комплекта на 10 пользователей) в комплекте поставки вы обнаружите два типа пин-кодов для активации:

  1. Однопользовательские пин-коды — предназначены для активации по одной лицензии на конкретных рабочих станциях.
  2. Многопользовательский пин-код — предназначен для активации всего пакета лицензий (в данном случае 10 штук) на одном компьютере (как правило, сервере).

Внимание! Для работы в терминальном режиме и через RemoteApp на сервере необходимо активировать лицензию, используя именно многопользовательский пин-код. Если вы по ошибке активируете однопользовательские пин-коды на терминальном сервере, система выдаст лицензию только первому подключившемуся пользователю, а для остальных лицензии будут недоступны. Многопользовательский пин-код активируется один раз, создавая единый файл лицензии на сервере, из которого платформа будет динамически выделять свободные слоты для активных терминальных сессий пользователей.

Пошаговый план перехода и временного сосуществования двух платформ

Для того чтобы процесс перехода на легальную платформу прошел гладко и незаметно для пользователей, мы рекомендуем использовать схему параллельной установки платформ. Рассмотрим этот процесс по шагам.

Шаг 1. Сохранение работоспособности текущих сеансов

Не нужно удалять старую взломанную версию платформы 8.3.11.2867 перед установкой новой. Платформа 1С спроектирована таким образом, что на одном сервере может одновременно находиться неограниченное количество различных версий. Они устанавливаются в разные папки внутри каталога C:\Program Files\1cv8\ (или C:\Program Files (x86)\1cv8\ для 32-битных версий) и не мешают друг другу.

Шаг 2. Разделение каналов запуска для пользователей

Чтобы во время проведения технических работ и активации лицензий пользователи продолжали беспрепятственно работать в старой версии, перенастройте ярлыки запуска RemoteApp. Обычно ярлык ссылается на общий загрузчик 1cestart.exe, расположенный в папке C:\Program Files\1cv8\Common\. Этот загрузчик автоматически выбирает самую последнюю установленную в системе версию платформы. Если вы установите 8.3.13, то при следующем запуске через 1cestart.exe у пользователей автоматически попытается стартовать именно версия 8.3.13, которая потребует лицензию и заблокирует работу.

Чтобы избежать этого, временно переведите запуск RemoteApp непосредственно на исполняемый файл старой версии платформы. Измените путь публикации в настройках вашей службы RemoteApp (в диспетчере серверов Windows Server): вместо общего загрузчика укажите прямой путь к исполняемому файлу тонкого или толстого клиента старой версии, например:
C:\Program Files\1cv8\8.3.11.2867\bin\1cv8c.exe (или 1cv8.exe для толстого клиента).

Альтернативный вариант: в свойствах конкретной информационной базы в списке баз 1С (кнопка «Изменить» -> далее -> на последней вкладке) в поле «Версия платформы» жестко прописать строку 8.3.11.2867 или просто 8.3.11. В этом случае даже при запуске через общий стартер система принудительно запустит именно указанную старую версию платформы.

Шаг 3. Установка новой платформы и активация лицензий

Теперь, когда пользователи гарантированно запускают старую версию платформы и их работе ничего не угрожает, установите новую платформу 8.3.13. Запустите программу под учетной записью администратора. При попытке входа в любую базу (или при создании новой пустой файловой базы) система выдаст сообщение об отсутствии лицензии и предложит выполнить ее получение. Пройдите все шаги мастера активации:

Куда сохраняется файл лицензии и настройка прав доступа

При правильной активации (с выбором опции «Всем пользователям данного компьютера») программный файл лицензии с расширением .lic сохраняется в каталог общего доступа операционной системы Windows Server:

C:\ProgramData\1C\licenses

Давайте проанализируем возможные проблемы с правами доступа. Терминальные пользователи в операционной системе Windows Server обычно работают с ограниченными правами и входят в группу «Пользователи» или «Пользователи удаленного рабочего стола». Если права безопасности на папку C:\ProgramData\1C\licenses настроены некорректно, обычные пользователи при запуске 1С через RemoteApp увидят ошибку «Лицензия не обнаружена», хотя под Администратором всё будет запускаться успешно.

Чтобы решить эту проблему, выполните следующие действия:

  1. Перейдите в проводнике к каталогу C:\ProgramData\1C\ (папка ProgramData является скрытой, поэтому введите путь в адресную строку вручную).
  2. Нажмите правой кнопкой мыши на папку licenses и выберите «Свойства».
  3. Перейдите на вкладку «Безопасность» и нажмите кнопку «Изменить».
  4. Добавьте в список пользователей группу «Пользователи» (Users) или «Все» (Everyone).
  5. Установите для этой группы права на «Чтение» (Read) и «Чтение и выполнение» (Read & Execute). Права на запись обычным пользователям давать не требуется.
  6. Примените изменения ко всем вложенным папкам и файлам.

Особенности работы на арендованном виртуальном сервере (VDS/VPS)

Работа на арендованном сервере накладывает определенные технические особенности, связанные с виртуализацией. Арендованный сервер почти всегда представляет собой виртуальную машину, развернутую на гипервизоре провайдера (Hyper-V, KVM, VMware). Программные лицензии 1С привязываются к уникальному «аппаратному отпечатку» компьютера. Изменение ключевых параметров виртуальной машины приведет к тому, что лицензия «слетит» и потребует повторной активации с использованием резервного пин-кода (в комплекте поставки их обычно идет ограниченное количество).

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

Борьба со следами эмуляторов и проверка целостности системы

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

Проанализируем основные места, которые необходимо проверить и очистить:

  1. Проверка системных библиотек. Убедитесь, что в каталогах установки платформы, а также в системных папках Windows (C:\Windows\System32\ и C:\Windows\SysWOW64\) отсутствуют нештатные или измененные библиотеки типа mcond.dll, backend.dll или патченные файлы 1cv8.dll. Легальная платформа должна быть установлена только из официального дистрибутива, скачанного с сайта поддержки пользователей 1С.
  2. Удаление виртуальных USB-эмуляторов. Откройте Диспетчер устройств Windows. Проверьте раздел «Контроллеры USB» и «Системные устройства» на наличие установленных виртуальных шин, таких как Virtual Usb Bus Enumerator, VUSBBUS или MultiKey. При их обнаружении удалите эти устройства и сопутствующие им файлы драйверов из системы.
  3. Очистка служб. Проверьте список запущенных служб Windows. Остановите и удалите службы, имеющие отношение к нелегальным эмуляторам ключей (например, службы с названиями hasp, sentinel, hlm, не принадлежащие официальным продуктам SafeNet/Aladdin).

Завершение миграции и тестирование работы

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

  1. Измените настройки публикации RemoteApp обратно, указав в качестве исполняемого пути общий загрузчик:
    C:\Program Files\1cv8\Common\1cestart.exe
  2. Если вы жестко прописывали версию 8.3.11.2867 в свойствах баз данных, зайдите в свойства каждой базы и очистите это поле (оно должно остаться пустым).
  3. Запустите 1С под учетной записью обычного терминального пользователя через RemoteApp.
  4. Убедитесь, что стартует новая версия платформы. Откройте любую информационную базу.
  5. В верхнем меню программы перейдите в раздел «Справка» -> «О программе» (или нажмите на значок «Показать информацию о программе» в правом верхнем углу).
  6. В самом низу открывшегося окна найдите раздел «Лицензия:». Там должна быть отображена информация о вашей легальной программной лицензии, включая ее серийный номер, тип (локальный компьютер или сетевой сервер) и путь к файлу лицензии .lic.

Рассмотренная нами схема позволяет совершить переход на легальные программные лицензии максимально безопасно. Выполнив все шаги последовательно, вы получите стабильно работающую систему, полностью соответствующую лицензионной политике компании «1С».

← На главную