Как сделать приложение.NET ClickOnce "опубликованным приложением" через Citrix?

У нас есть приложение WPF ClickOnce, которое необходимо развернуть как непосредственно на рабочих столах пользователей через ClickOnce (который работает нормально), так и в качестве опубликованного приложения Citrix (не опубликованного рабочего стола).

В этом сообщении на форуме Citrix есть некоторое обсуждение, но нет очевидного ответа на проблему.

Если мы просто "публикуем" URL-адрес ClickOnce (например, из IE), я не понимаю, как он будет работать - куда загружается исполняемый файл? Даже если это работает, каждый уникальный пользователь Citrix загружает приложение в уникальные места на диске?

Ссылка ClickOnce может выглядеть следующим образом и запускать загрузочный EXE-файл, который загружает последнюю версию EXE-файла приложения перед его запуском. Это кажется трудным сделать с моделью "опубликованного приложения", которую, я думаю, хочу указать на один существующий EXEcutable для запуска...

http://webservername/foldername/ApplicationName.application#ApplicationName.application

Кто-нибудь знает, если это определенно невозможно? Или, если возможно, как заставить это работать?

ОБНОВЛЕНИЕ: мы используем.NET 3.5 SP1

3 ответа

Решение

Пара вещей здесь.

При работе с приложениями ClickOnce обратите особое внимание на ситуацию в вашем профиле. Начиная с.NET Framework 3.0 вы не могли запускать приложения ClickOnce с обязательными профилями. Это должно было быть исправлено в.NET 3.5, но у меня не было возможности проверить это утверждение.

Если вы используете перемещаемые профили, у вас есть несколько вариантов здесь. Если вы используете свой TS в режиме непринужденной безопасности, каждый пользователь будет загружать приложение ClickOnce, если вы опубликовали его в качестве аргумента для Internet Explorer, и запустите его из своего профиля. В режиме повышенной безопасности TS не разрешает запуск исполняемого файла.

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

У меня есть небольшой обходной путь для этого:

  • создать отдельную учетную запись
  • Войдите в учетную запись и установите приложение clickonce.
  • Вы найдете *exe-файл в папке Appdata этого пользователя. Для меня это было в%userprofile%\Appdata\local\2.0{string}{string}{clickoncename}. Путь обязательно будет отличаться в зависимости от установленного приложения.

  • Создайте новый скрытый общий ресурс для этой папки и предоставьте доступ всем пользователям, которые должны использовать опубликованное Приложение.

  • опубликуйте *exe-файл поверх скрытой папки

  • будь счастлив, что это работает!:D

Я разработчик, и мы создаем пакет non-clickonce (набор файлов) специально для Citrix. Можете ли вы дать более подробную информацию о том, как вы настроили IE (передача аргументов, исчерпание их профиля и т. Д.). Я надеюсь, что затем я могу передать это нашим администраторам Citrix, чтобы они поняли и увидели целесообразность этого.

Другие вопросы по тегам