Статья описывает процесс подготовки установочного пакета для «тихого» развертывания сервера UltraVNC на рабочих станциях пользователей


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

Полученный установочный пакет можно будет распространить на компьютеры пользователей посредством групповой политики, Kaspersky Security Center и другими аналогичными способами


  • устанавливаем UltraVNC на тестовом компьютере, запускаем приложение «UltraVNC Settings» и выполняем необходимые настройки
  • При этом обязательно включаем проверку подлинности Windows, обеспечивающую возможность предоставления права удаленного подключения локальным и доменным пользователям и группам. Несмотря на то, что аутентификация в этом случае будет выполняться внешними по отношению к UltraVNC средствами, учетные данные для внутренней проверки подлинности UltraVNC все равно должны быть указаны
  • По завершении конфигурирования в реестре Windows будет создан раздел "HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3", содержащий информацию о группах и пользователях с правом удаленного подключения, а в папке установки программы – файл UltraVNC.ini, хранящий все остальные параметры конфигурации сервера UltraVNC
  • скачиваем ISO-образ Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
  • монтируем скачанный образ, переходим в папку "Setup\WinSDKTools", открываем архив cab1.cab, извлекаем из него файл "WinSDK_Orca_Msi_5E20C107_DAA3_4D49_AFAE_7FB2594F0CDC_x86", изменяем его расширение на "msi" и выполняем установку утилиты ORCA
  • открываем в ORCA установочный MSI-пакет UltraVNC
  • в главном меню выбираем пункт «Transform – New Transform»
  • отключаем установку компонента «Viewer» (на рабочих станциях необходим только сервер "UltraVNC"), для чего переходим к таблице «CustomAction», выбираем строку «CustomCheckC_SetProperty_CHECKBOX2 – 307 – VIEWER – 1» и удаляем значение поля «Target»
  • отключаем создание ярлыков в «Главном меню» и на «Рабочем столе», для чего переходим к таблице «Shortcuts» и удаляем все записи
  • добавляем в реестр информацию о группе безопасности (в нашем случае – локальной группе «Администраторы»), членам которой будет разрешено удаленное подключение, для чего переходим к таблице «Registry» и добавляем новую запись со следующими значениями полей
    • Registry – REG_8E29FEC8D8F44EA898A22D8310862267
    • Замечание: в качестве имени берем имя компонента, создающего папку установки программы в «Program Files», удаляем начальные символы «C__» и добавляем в начало строки «REG_»
    • Root – 2
    • Замечание: «2» означает «HKEY_LOCAL_MACHINE»
    • Key – Software\ORL\WinVNC
    • Name – ACL
    • Value – #x0200200001000000000018000300000001020000000000052000000020020000
    • Замечание: #x используется для обозначения того, что указанной далее значение нужно интерпретировать как двоичные данные
    • Component_ - C__8E29FEC8D8F44EA898A22D8310862267
    • Замечание: в качестве компонента, контролирующего изменения данного параметра реестра, используем компонент, создающий папку установки программы в «Program Files»
  • настраиваем копирование в папку установки файла конфигурации, для чего:
    • генерируем посредством Powershell GUID для имени компонента
    • [guid]::NewGuid().ToString().ToUpper()
    • Замечание: далее в качестве созданного GUID будет использоваться значение «2FB5AE40-B2DB-46A3-831F-37784F6BC8FC»
    • генерируем посредством Powershell GUID для имени файла
    • Замечание: далее в качестве созданного GUID будет использоваться значение «5C57F514-1631-434A-928B-1AB9F1609435»
    • переходим к таблице «Components» и добавляем новую строку
      • Component - С__2FB5AE40B2DB46A3831F37784F6BC8FC
      • CompomemtId - {2FB5AE40-B2DB-46A3-831F-37784F6BC8FC}
      • Directory - TARGETDIR
      • Attributes - 0
      • Замечание: данный параметр определяет атрибуты для удаленного запуска; «0» означает, что никакие дополнительные атрибуты не указаны
      • Condition – оставляем пустым
      • KeyPath - _5C57F5141631434A928B1AB9F1609435
    • переходим к таблице «FeatureComponents» и добавляем новую строку
      • Feature_ - DefaultFeature
      • Component_ - С__2FB5AE40B2DB46A3831F37784F6BC8FC
    • переходим к таблице «File» и добавляем новую строку
      • File - _5C57F5141631434A928B1AB9F1609435
      • Component_ - С__2FB5AE40B2DB46A3831F37784F6BC8FC
      • FileName - UltraVNC.ini
      • FileSize - <размер_файла_в_байтах>
      • Attributes – 8192
      • Замечание: «8192» означает, что файл не сжат
      • Sequence - <наибольшее значение в данном столбце> + 1
    • переходим к таблице «Media» и вносим следующие изменения
      • LastSequence - <использованное выше значение поля "Sequence" таблицы "File">
      • Cabinet - оставляем пустым, т.к. файл не входит в какой-либо cab-пакет
  • выбираем пункт меню «Transform - Generate Transform» и указываем путь для сохранения файла трансформации transform.mst
  • размещаем файл установочный пакет UltraVNC, файл конфигурации UltraVNC.ini и файл трансформации transform.mst в одной папке
  • для запуска "тихой" установки выполняем
  • msiexec /i UltraVnc_1212_X64.msi /quiet TRANSFORMS=transform.mst

Замечание: для использования на удаленном компьютере русской раскладки клавиатуры необходимо в настройках клиента включить параметр "Japanese keyboard", при этом на локальном компьютере также должна быть выбрана русская раскладка клавиатуры, а их переключение должно выполняться на удаленном компьютере

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