Манифест ClickOnce и проблема развертывания - PullRequest
2 голосов
/ 25 августа 2010

Некоторые пользователи (но не все) получают сообщение об ошибке при попытке установить приложение ClickOnce с определенного веб-сервера.Это ошибка, которую они получают:

ИНФОРМАЦИЯ О ВЕРСИИ ПЛАТФОРМЫ Windows: 5.1.2600.196608 (Win32NT) Common Language Runtime: 2.0.50727.3615 System.Deployment.dll: 2.0.50727.3053 (netfxsp.050727-3000)) mscorwks.dll: 2.0.50727.3615 (GDR.050727-3600) dfdll.dll: 2.0.50727.3053 (netfxsp.050727-3000) dfshim.dll: 4.0.31106.0 (Main.031106-0000) ИСТОЧНИКИ развертывания URL-адрес: http://TheCorrectDeploymentURL/MyApp.application ОБЩАЯ ИНФОРМАЦИЯ ОБ ОШИБКАХ Ниже приведена сводная информация об ошибках, подробности об этих ошибках приведены ниже в журнале.* Активация http://TheCorrectDeploymentURL/MyApp.application привела к исключению.Обнаружены следующие сообщения об ошибках: + Манифест чтения исключения из https://TheWrongServer.TheUrlForLoggingIntoTheVPN.com/url_3/welcome.cgi: Манифест может быть недействительным или файл не может быть открыт.+ Начальный тег 'link' в строке 14 не совпадает с конечным тегом 'noscript'.Строка 15, позиция 3. КРАТКОЕ ИЗЛОЖЕНИЕ СБОРА СБОРА КОМПОНЕНТНОГО ХРАНИЛИЩА Ошибка транзакции не обнаружена.ПРЕДУПРЕЖДЕНИЯ Во время этой операции предупреждений не было.СТАТУС ПРОГРЕССА В ЭКСПЛУАТАЦИИ * [24.08.2010 13:15:12]: активация http://TheCorrectDeploymentURL.com/MyApp.application началась.ДЕТАЛИ ОШИБОК Во время этой операции были обнаружены следующие ошибки.* [24.08.2010 13:15:37] System.Deployment.Application.InvalidDeploymentException (ManifestParse) - манифест чтения исключения из http://TheCorrectDeploymentURL.com/publish.htm

Он пытается прочитатьманифест из неправильного места.Исключение происходит, когда ClickOnce считает, что веб-страница для VPN является манифестом для приложения.Любая идея о том, почему Clickonce пытается прочитать манифест из URL-адреса VPN-подключения, а не с сервера, на котором развернуто приложение clickonce?

Спасибо!

1 Ответ

0 голосов
/ 25 августа 2010

Местоположение манифеста определяется в файле .application развертывания ClickOnce (в теге independentAssembly). Я не уверен, как вы могли бы все это перепутать, если сгенерировали это, определив это в свойствах вашего проекта. Кроме того, после создания манифеста его нельзя изменить, поскольку в нем хранятся хеш-коды для его проверки.

Я бы проверил файл .application и проверил, что указанный там URL-адрес правильный, и что его корень совпадает с путем к файлу .application. Фактически, обычно путь к файлу манифеста определяется как относительный URL-адрес, что означает, что если пользователь смог получить доступ к файлу .application, на самом деле нет никаких причин, по которым он не должен иметь возможность получить файл манифеста. .

UNLESS - возможно, у вас есть другая защита, определенная в подпапке в папке, где хранится файл .application? Возможно, веб-сервер пытается заставить пользователя войти в систему, когда у него нет надлежащего безопасного доступа к подпапке, но есть доступ к корневой папке.

...