yamamoWorks

.NET技術を中心に気まぐれに更新していきます

Windows10でRemoteAppを有効化

あまり流行ってない感がありますが、リモートデスクトップで接続した先のアプリのウィンドウだけ表示するRemoteAppという機能がWindowsファミリーにあります。
通常は会社等でシン・クライアントやセキュリティ対策、アプリケーションの互換性対策として、リモートデスクトップサービス(RDS)を導入した上で使われるものですが、実はサーバOSでなくてもリモートデスクトップ機能を持つ Windows Vista/7 Ultimate/Enterprise、Windows 8.1/10 Pro/Enterprise であればRemoteAppでアプリケーションのホストとして動作します。

RemoteAppを有効化するには、アプリケーションホストとなるWindows側でリモートデスクトップを有効化した上で下記のレジストリを変更します。

キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList
値の名前:fDisableAllowList
値の種類:REG_DWORD
値のデータ:1

接続する側はテキストエディタ等で以下のようにRDPファイルを作成します。

full address:s:接続先ホスト名orIPアドレス
remoteapplicationmode:i:1
remoteapplicationprogram:s:"起動するアプリケーションのフルパス"
remoteapplicationname:s:"アプリケーション名(任意の名前)"
remoteapplicationcmdline:s:"コマンドライン引数(任意)"

このRDPファイルを使って接続すると、指定したアプリケーションがリモート先で起動しウィンドウだけがクライアント側に表示されます。