3
votes

My application has been successfully updating for ages, and I've been making changes, releasing new builds etc every day for the past few months, but now, when the application starts (it checks for updates on startup), it begins downloading the updated version from the server, and then fails 3-quarters of the way through with the following message:

PLATFORM VERSION INFO Windows : 6.1.7600.0 (Win32NT) Common Language Runtime : 4.0.30319.1 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.1 (RTMRel.030319-0100) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000)

SOURCES Deployment url : file:///C:/Users/Jason/Desktop/OOM.appref-ms%7C Server : Microsoft-IIS/7.0 X-Powered-By : ASP.NET Deployment Provider url : http://www.website.net.au/software/updates/something/OOM.application Application url : http://www.website.net.au/software/updates/something/jusername/Application%20Files/OOM_2_0_0_8/OOM.exe.manifest Server : Microsoft-IIS/7.0 X-Powered-By : ASP.NET

IDENTITIES Application Identity : OOM.exe, Version=2.0.0.8, Culture=neutral, PublicKeyToken=38928ec70a12c5e6, processorArchitecture=x86, type=win32

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\One Stop Management.appref-ms| resulted in exception. Following failure messages were detected: + Downloading http://www.website.net.au/software/updates/something/jusername/Application Files/OOM_2_0_0_8/One Stop Management.exe.config 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 * [18/02/2011 5:55:50 PM] : Activation of C:\Users\Jason\Desktop\One Stop Management.appref-ms| has started. * [18/02/2011 5:55:50 PM] : Performing necessary update check as specified by the deployment. * [18/02/2011 5:55:51 PM] : Consuming new update. * [18/02/2011 5:55:52 PM] : Installation of the application has started. * [18/02/2011 5:55:53 PM] : Processing of application manifest has successfully completed. * [18/02/2011 5:55:53 PM] : Found compatible runtime version 4.0.30319. * [18/02/2011 5:55:53 PM] : Request of trust and detection of platform is complete.

ERROR DETAILS Following errors were detected during this operation. * [18/02/2011 5:55:54 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype) - Downloading http://www.website.net.au/software/updates/something/jusername/Application Files/OOM_2_0_0_8/One Stop Management.exe.config 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.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options) 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.

Okay, so that tells me that there is a file that was not found. But I have double-checked, several times, and the file is there.

Anybody know what causes this?

Any help at all is appreciated!

2
well i tried your url and it did returned 404 - Shekhar_Pro
I know you said you checked, but did you just paste website.net.au/software/updates/something/jpezzimenti/… Files/One Stop Management_2_0_0_8/One Stop Management.exe.config into your browser and checked that it downloads? - Daniel Hilgarth
The url I put here is just a dummy since I am not allowed to reveal the actually address. - anon271334
Thank you very much, @Daniel, we're a lot closer to fixing this now! I just pasted it (I didn't do that in the first place since I knew it existed), and I got this error: HTTP Error 404.7 - Not Found The request filtering module is configured to deny the file extension. - anon271334
You should probably change the title of the question to something like "404 when downloading app update with <name of deployment framework>". The current title made me think you wanted to figure out how to implement an application update. - Merlyn Morgan-Graham

2 Answers

1
votes

IIS won't serve up *.config files by default to protect web.config and various other ASP configuration files which usually contain connection strings and other sensitive information involved in running the site. To get around this for Click-Once deployments all files get a .deploy added to the end so a *.config would be automatically renamed *.config.deploy when published. Did you manually add One Stop Management.exe.config or something? You might add a .deploy on the end as a temp workaround but in reality this should have been done for you at publish time. You DON'T want enable configs to download from IIS as this will present a security hole with your site.

0
votes

I recently solved this exact same problem.

We had an application that was at a x.y.z.14 version and we kept making tons of modifications to it to the point where it got up to x.y.z.33 before we released it to our end users. After releasing the live version a handful were unable to upgrade from x.y.z.14 because we had removed the folder for it in the Application Files directory in the ClickOnce deploy.

After using fiddler to see exactly what the HTTP requests were saying I realized that yes indeed the 404 not found error was created because that folder that people needed to update through to the x.y.z.33 and beyond version just wasn't there. The manifest file that is.

If this happens to you, hopefully you have a rollback that you can use to add the most recent base version of your application to 'jump start' to the new version.