Может уже и решилась проблема, но я тоже давно ищу решение такой задачи, точнее, жду когда это будет реализовано штатными средствами Windows. Мое текущее решение - есть утилитка (можно заказать написать свою), которая делает очень простую вещь - запускает любые файлы с параметрами командной строки, в зависимости от поступающих команд на входе. Пример. Определяете браузером по-умолчанию эту утилиту (допустим flyer.exe). В утилите прописываете действие в зависимости от содержимого параметров, можно добавить дополнительный ключ (например "-browser"). Далее - утилитой запускается mstsc с нужными параметрами командной строки (/remotecmdline) на нужный терминальный сервер. На терминальном сервере запускается опубликованное приложение с полученными параметрами (либо, опять же утилитка для правильной обработки параметров и последующего запуска уже нужного приложения, например, чтобы обработать ключ -browser, который мы передали от клиента). Общая схема такая, а далее - уже а зависимости от потребностей можно реализовать любую другую схему.