views:

205

answers:

3

Ok, so I have an app that checks for updates at http://mysite.ext/sub/sub2/sub3/appname/ and after the very first publish (a few days ago) it was checking for/downloading updates from that url correctly with no problems.

But today, I published a new version, only minor changes to the ui (changing button text etc), then uploaded latest publish to server... Then opened the existing version of my app from my desktop, and it checked for updates, found an update and proceeded to download it, but then failed with this error:

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

I clicked the Details button on that error dialog, and it opened a text file which said:

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.

Why is this update feature suddenly not working? How can I fix it?

UPDATE:


Since I created this question I've finished my own little ftp client, and tried to upload the files mentioned in the stacktrace above to the server and got this error:

The remote server returned an error: (550) File unavailable (e.g. file not found, no access). I don't understand this... It was working before... And now it's not?

A: 

According to the log it seems that the application cannot download the manifest file because it is missing (error 404):

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

You should verify that this file is present on the server and that this address is accessible.

There's also a space in this address - Application Files. Could this be the problem?

Darin Dimitrov
I dono't see why this would cause a problem since the whole update feature has worked in the past, only a few days ago. It just suddenly stopped working today. I just tried uploading the publish again, please see edited question above for new error :)
baeltazor
A: 

There must have been some kind of error when you uploaded the new version, because it isn't on the server, at least, not where the update system expects it to be.

AlcariTheMad
I looked on my server, and all directories/sub dirs are there. And I matched all files in my publish folder with all files on the server... Could it be something else? The stacktrace above says that it failed to download appname.exe.manifest did not succeed, but it's on my server... And it was working before.
baeltazor
Has anything on the update server changed recently? IIS update perhaps?Also try checking the read permissions on the files, they may somehow have been set to disallow remote access.
AlcariTheMad
thanks for that... but i figured out kinda why it's happening... i have two addresses i can use to upload files to the server, an ftp address and a secondary ftp address. i need to use the secondary ftp address for some weird reason. it's working now after i reuploaded them to the secondary ftp address
baeltazor
A: 

The exception seemed to be that the update server was unavailable (HTTP 404). Tried again?

Quoting from your details:

  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)

You might want to try checking the URL via browser. You probably might also want to catch that kind of server connection exception and tell the user that the server is currently unavailable and try again later.

thephpdeveloper