Загрузка обновлений с веб-адреса. C # - PullRequest
0 голосов
/ 07 февраля 2010

Хорошо, у меня есть приложение, которое проверяет наличие обновлений на http://mysite.ext/sub/sub2/sub3/appname/, и после самой первой публикации (несколько дней назад) оно проверяло / загружало обновления с этого URL-адреса правильно, без проблем.

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

Cannot download the application. The application is missing required files. Contact application vendor for assistance.

Я нажал кнопку «Подробности» в этом диалоговом окне с сообщением об ошибке, и он открыл текстовый файл, который сказал:

PLATFORM VERSION INFO
 Windows    : 6.1.7600.0 (Win32NT)
 Common Language Runtime  : 4.0.21006.1
 System.Deployment.dll   : 4.0.21006.1 (B2Rel.021006-0100)
 clr.dll    : 4.0.21006.1 (B2Rel.021006-0100)
 dfdll.dll    : 4.0.21006.1 (B2Rel.021006-0100)
 dfshim.dll    : 4.0.30902.0 (Main.030902-0000)

SOURCES
 Deployment url   : file:///C:/Users/Jason/Desktop/appname.appref-ms%7C
      Server  : Microsoft-IIS/7.0
      X-Powered-By : ASP.NET
 Deployment Provider url  : http://mysite.ext/products/multimediaoffice/appname/appname.application

ERROR SUMMARY
 Below is a summary of the errors, details of these errors are listed later in the log.
 * Activation of C:\Users\Jason\Desktop\appname.appref-ms| resulted in exception. Following failure messages were detected:
  + Downloading http://mysite.ext/products/multimediaoffice/appname/Application Files/appname_11_0_0_5/appname.exe.manifest did not succeed.
  + The remote server returned an error: (404) Not Found.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
 No transaction error was detected.

WARNINGS
 There were no warnings during this operation.

OPERATION PROGRESS STATUS
 * [7/02/2010 8:38:03 PM] : Activation of C:\Users\Jason\Desktop\appname.appref-ms| has started.
 * [7/02/2010 8:38:03 PM] : Performing necessary update check as specified by the deployment.
 * [7/02/2010 8:38:06 PM] : Consuming new update.
 * [7/02/2010 8:38:07 PM] : Installation of the application has started.

ERROR DETAILS
 Following errors were detected during this operation.
 * [7/02/2010 8:38:09 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
  - Downloading http://mysite.ext/products/multimediaoffice/appname/Application Files/appname_11_0_0_5/appname.exe.manifest did not succeed.
  - Source: System.Deployment
  - Stack trace:
   at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
   at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
   at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
   at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
   at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
   at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
   at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
   at System.Deployment.Application.ApplicationActivator.ConsumeUpdatedDeployment(SubscriptionState& subState, ActivationDescription actDesc)
   at System.Deployment.Application.ApplicationActivator.PerformDeploymentUpdate(SubscriptionState& subState, String& errorPageUrl)
   at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
   at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
   at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
  --- Inner Exception ---
  System.Net.WebException
  - The remote server returned an error: (404) Not Found.
  - Source: System
  - Stack trace:
   at System.Net.HttpWebRequest.GetResponse()
   at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)

COMPONENT STORE TRANSACTION DETAILS
 No transaction information is available.

Почему эта функция обновления вдруг не работает? Как я могу это исправить?

UPDATE

<ч />

С тех пор, как я создал этот вопрос, я закончил свой собственный маленький FTP-клиент и попытался загрузить на сервер файлы, упомянутые в вышеупомянутой стековой трассировке, и получил эту ошибку:

Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, файл не найден, нет доступа). Я этого не понимаю ... Раньше это работало ... А сейчас нет?

Ответы [ 3 ]

0 голосов
/ 07 февраля 2010

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

0 голосов
/ 07 февраля 2010

Исключением является то, что сервер обновлений был недоступен (HTTP 404).Пробовал еще раз?

Цитирую ваши данные:

  System.Net.WebException
  - The remote server returned an error: (404) Not Found.
  - Source: System
  - Stack trace:
   at System.Net.HttpWebRequest.GetResponse()
   at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)

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

0 голосов
/ 07 февраля 2010

Судя по журналу, приложение не может загрузить файл манифеста, поскольку он отсутствует (ошибка 404):

http://mysite.ext/products/multimediaoffice/appname/Application Files/appname_11_0_0_5/appname.exe.manifest

Вы должны убедиться, что этот файл присутствует на сервере и этот адрес доступен.

В этом адресе также есть space - Application Files. Может ли это быть проблемой?

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