ClickOnce Онлайн-приложение только в качестве TS RemoteApp - PullRequest
3 голосов
/ 20 сентября 2008

Я пытался почти все, чтобы наше приложение ClickOnce VB.NET работало в службах терминалов как RemoteApp. У меня есть командный файл, который запускает файл приложения для приложения.

Это прекрасно работает через сеанс рабочего стола RDP на терминальном сервере . Однако, как TS RemoteApp, ну ... не так много.

Я получаю быстрое обновление командной строки (командного файла) в клиентской системе, а затем ... ничего ...

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

Я нашел technet.microsoft.com обсуждение аналогичной проблемы, но в ней нет решения.

Для всех, кто сталкивался с этим раньше и заставил его работать, что вы должны были сделать?

В настоящее время мы используем RemoteApp для всего остального на этом сервере, поэтому я надеюсь придерживаться этого, если это возможно.

Текущий обходной путь - это создание и запуск установщика на основе MSI для приложения на нашем терминальном сервере всякий раз, когда мы публикуем через OneClick выход в сеть, но иногда это может быть довольно трудной задачей, которую легко забыть сделать.

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

Ответы [ 8 ]

8 голосов
/ 06 апреля 2011

Ключом к тому, чтобы заставить его работать, является использование проводника Windows "C: \ windows \ explorer.exe". Этот процесс является базовым процессом при входе в полный сеанс.

Если вы настроили RemoteApp для использования проводника Windows и аргумента командной строки пути к файлу .application для приложения ClickOnce, то он будет работать при запуске в качестве удаленного приложения. При запуске Windows Explorer будет мигать секунду, но исчезнет, ​​после чего запустится приложение ClickOnce.

1 голос
/ 14 июля 2009

Столкнулся с той же проблемой сегодня утром и решил ее, скопировав каталог приложения clickonce из папки пользовательских настроек куда-то вроде c: \ MyApp \ - я знаю, что это неприятно и не очень идеально ... но достаточно хорошо для меня!

1 голос
/ 27 марта 2011

Недавно мы столкнулись с этой проблемой и решили опубликовать отчет об ошибке по этой проблеме для команды разработчиков Visual Studio. Не стесняйтесь комментировать сообщение об ошибке. Это должна быть ошибка в ClickOnce, вызванная некоторыми изменениями в Server 2008.

https://connect.microsoft.com/VisualStudio/feedback/details/653362/net-clickonce-deployment-not-working-as-remoteapp-or-citrix-xenapp-on-server-2008-server-2008-r2

У нас также есть обсуждение на форумах MSDN, посвященное этой проблеме:

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7f41667d-287a-4157-be71-d408751358d9/#92a7e5d9-22b6-44ba-9346-ef87a3b85edc

1 голос
/ 03 февраля 2009

Можете ли вы запустить .exe напрямую? Он похоронен под вашим профилем в \ AppData \ Local \ Apps \ 2.0 [скрытые папки], но вы сможете найти его.

Это пропустит встроенный процесс обновления, но если его можно запустить таким образом, вы можете написать код для обновления вручную после запуска приложения.

1 голос
/ 27 января 2009

Я полагаю, что ваша проблема связана с тем, что ClickOnce необходимо хранить свои данные в специальной папке пользователя, которая называется кэш приложения ClickOnce. Очевидно, из-за того, как службы терминалов настраивают пользовательские папки, ClickOnce не может получить доступ к этому в режиме TerminalServices.

См. Эту ссылку для получения дополнительной информации.

http://msdn.microsoft.com/en-us/library/267k390a(VS.80).aspx

Не может быть способа сделать это: (

1 голос
/ 20 сентября 2008

Почему это должно быть приложение ClickOnce? Я хотел бы рассмотреть просто развертывание исполняемого файла и сборок.

Я знаю, что это только половина решения, но если приложение мало что меняет, это может быть хорошим решением.

0 голосов
/ 28 января 2009

Также, возможно, проверьте журналы событий, чтобы увидеть, регистрируется ли что-нибудь, когда процесс завершается неудачей.

0 голосов
/ 28 января 2009

Попробуйте использовать RegMon и FileMon при запуске приложения - возможно, вы сможете отследить его до проблемы с правами доступа к файлу и / или реестру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...