вторник, 25 августа 2015 г.

Windows Server 2012 R2 + RemoteApp

Будем считать что роль RDS на сервер уже добавлена и приложения опубликованы.
(Диспетчер серверов\Службы удаленных рабочих столов\Коллекции\QuickSessionCollection\Удаленные приложения REMOTEAPPS)
Нужно решить 3 задачи
1. Получить rdp файл для запуска необходимого приложения.
2. Создать msi пакет для установки пользователям, либо для распространения локальной политикой.
3. Сделать ассоциацию файлов для автоматического открытия в опубликованном приложении.
На клиентской машине установлен Win XP, собственно все манипуляции совершаются для запуска MSO 2013 в неподдерживаемой ОС.

Для получения rdp файла для запуска приложения можно воспользоваться публикацией в вебе
https://%ИмяСервера%/RDWeb/  либо утилитой RemoteAppTool

Для создания msi пакета используем стороннюю утилиту RDP2MSI. В 2008 сервере был встроенный инструмент - а в 2012 его нет. Для работы необходим Net Framework 4.0 и WixToolset. Для создания msi помещаем рядом с rdp2msi rdp файл, опубликованного приложения, обозвав его поприличнее. При необходимости кладем одноименный файл ico.
И запускаем с параметром = имя rdp файла

C:\temp\rdp>rdp2msi winword.rdp
RDP2MSI

Working folder: C:\temp\rdp
RDP file: C:\temp\rdp\winword.rdp
App full name: Word 2013
App short name: WINWORD
Upgrade code: 679491da-e3aa-1ddb-ec9a-315c7a065d71
Icon found: C:\temp\rdp\winword.ico
Locating WiX Toolset
Found WiX Toolset in: C:\Program Files (x86)\WiX Toolset v3.9\bin
Invoking candle.exe from WiX Toolset
candle.exe executed successfully.
Invoking light.exe from WiX Toolset
light.exe executed successfully.
WINWORD.msi created successfully.

Установив msi на нужный комп, получим приложение, которое можно запускать с рабочего стола или меню Пуск.

Теперь ассоциация файлов. В настройках публикации есть параметр "Сопоставления типов файлов", но работает корректно он только для Win 8 и выше.
Для XP решаем проблему правкой реестра:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Winword]"AppUserModelId"="Microsoft.Windows.RemoteDesktop""EditFlags"=dword:00100000
[HKEY_CURRENT_USER\Software\Classes\Winword\DefaultIcon]@="C:\\Program Files\\RemotePackages\\WINWORD.ico,0"
[HKEY_CURRENT_USER\Software\Classes\Winword\shell]
[HKEY_CURRENT_USER\Software\Classes\Winword\shell\open]
[HKEY_CURRENT_USER\Software\Classes\Winword\shell\open\command]@="\"mstsc.exe\" /REMOTEFILE:\"%1\" \"C:\\Program Files\\RemotePackages\\WINWORD.rdp\""
[HKEY_CURRENT_USER\Software\Classes\.docx]@="Winword"
[HKEY_CURRENT_USER\Software\Classes\.docx\Winword]
[HKEY_CURRENT_USER\Software\Classes\.docx\Winword\ShellNew]
[HKEY_CURRENT_USER\Software\Classes\.doc]@="Winword"
[HKEY_CURRENT_USER\Software\Classes\.doc\Winword]
[HKEY_CURRENT_USER\Software\Classes\.doc\Winword\ShellNew]
[HKEY_CURRENT_USER\Software\Classes\.rtf]@="Winword"
[HKEY_CURRENT_USER\Software\Classes\.rtf\Winword]
[HKEY_CURRENT_USER\Software\Classes\.rtf\Winword\ShellNew]
Есть еще один момент - при запуске получим ошибку вот такую:
---------------------------
Удаленное приложение RemoteApp отключено
---------------------------
Удаленный компьютер требует проверки подлинности на уровне сети, которую данный компьютер не поддерживает. Обратитесь за помощью к системному администратору или в службу технической поддержки.
---------------------------
Проверка подлинности на уровне сети в WinXP поддерживается, но по умолчанию не включена. Для включения применяем

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders]
"SecurityProviders"="msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll,  credssp.dll"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"Security Packages"=hex(7):6b,00,65,00,72,00,62,00,65,00,72,00,6f,00,73,00,00,\
  00,6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,73,00,63,00,68,00,61,00,6e,00,\
  6e,00,65,00,6c,00,00,00,77,00,64,00,69,00,67,00,65,00,73,00,74,00,00,00,74,\
  00,73,00,70,00,6b,00,67,00,00,00,00,00
И перезагружаемся.

По материалам:

Комментариев нет:

Отправить комментарий