CSharp - 在应用程序启动时,C# Windows 窗体应用程序更新

  显示原文与译文双语对照的内容
0 0

我的申请已成功更新的年龄,我已经修改,发布新构建等过去几个月的每一天,但现在,当应用程序开始( 它在启动时检查更新), 它开始从服务器下载更新版本,然后失败 3-quarters 通过以下信息:

平台版本信息 Windows: 6.1.760 0.0 ( Win32NT ) 公共语言运行库: 4.0.303 19.1 System.Deployment.dll: 4.0.303 19.1 ( RTMRel 。030319-0100 ) clr.dll: 4.0.303 19.1 ( RTMRel 。030319-0100 ) dfdll.dll: 4.0.303 19.1 ( RTMRel 。030319-0100 ) dfshim.dll: 4.0.311 06.0 ( 主。031106-0000 )

源部署 url: file:///C:/Users/Jason/Desktop/OOM.appref-ms%7C 服务器: microsoft iis/7.0 X-Powered-By: ASP.NET 部署提供程序 url: http://www.website.net.au/software/updates/something/OOM.application 应用程序 url: http://www.website.net.au/software/updates/something/jusername/Application%20Files/OOM_2_0_0_8/OOM.exe.manifest 服务器:microsoft iis/7.0 X-Powered-By: ASP.NET

标识应用程序标识:OOM.exe, Version= 2.0.0.8,Culture=neutral,PublicKeyToken=38928ec70a12c5e6,processorArchitecture=x86,type=win32

下面的错误摘要是错误摘要,这些错误的详细信息将在日志中列出。 * 激活 C:UsersJasonDesktopOne 停止 Management.appref-ms| 导致异常。 检测到以下失败消息: + 下载 http://www.website.net.au/software/updates/something/jusername/Application Files/OOM_2_0_0_8/One 停止 Management.exe.config 没有成功。 + 远程服务器返回错误: ( 404 ) 未找到。

组件存储事务失败摘要未检测到事务错误。

在这里操作期间没有警告。

操作进度状态 * [ 18/02/2011 5 :55:50 PM]: 已经启动 C:UsersJasonDesktopOne 停止 Management.appref-ms|的激活。 * [ 18/02/2011 5 :55:50 PM]: 执行部署所指定的必要更新检查。 * [ 18/02/2011 5 :55:51 PM]: 使用新更新。 * [ 18/02/2011 5 :55:52 PM]: 应用程序的安装已经启动。 * [ 18/02/2011 5 :55:53 PM]: 应用程序清单的处理已经成功完成。 * [ 18/02/2011 5 :55:53 PM]: 找到兼容的运行时版本 4.0.303 19. * [ 18/02/2011 5 :55:53 PM]: 信任和平台检测的请求完成。

错误在这里操作中检测到以下错误。 * [ 18/02/2011 5 :55:54 PM] System.Deployment.Application.DeploymentDownloadException ( 未知子类型) - 下载 http://www.website.net.au/software/updates/something/jusername/Application Files/OOM_2_0_0_8/One 停止 Management.exe.config 没有成功。 - 源:System.Deployment - 堆栈跟踪: 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 ) 未找到。- 源: 系统- 堆栈跟踪:位于 System.Net. HttpWebRequest.GetResponse() 处的System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next )

组件存储事务详细信息没有可用的事务信息。

这告诉我有一个文件没有找到。 但是我已经检查了两次,几次,文件 。

谁知道这是什么原因?

任何帮助都是值得感激的 !

时间: 原作者:

0 0

默认情况下,IIS不会提供 *.config 文件以保护 Web.Config 和其他各种ASP配置文件,这些文件通常包含连接字符串和运行站点所涉及的其他敏感信息。 为了让它在单击部署所有文件时,获得一个。部署添加到末尾,因此 *.config 将在发布时自动改名为 *.config.deploy 。 你手动添加了一个停止 Management.exe.config 或者什么? 你可能会在结束时添加。deploy作为临时解决方案,但实际上这应该在发布时为你完成。 你不希望启用配置从IIS下载,这将显示一个带有你站点的安全漏洞。

原作者:
0 0

我最近解决了同样的问题。

我们有一个在 x.y. z.14 版本的应用程序,我们一直在做大量的修改,在发布到最终用户之前,它一直到 x.y. z.33 。 发布live版本后,无法从 x.y. z.14 升级,因为我们已经在ClickOnce部署的应用程序文件目录中删除了它的文件夹。

在使用fiddler查看HTTP请求的确切内容之后,我意识到created确实没有发现 404 not错误是因为用户需要更新到 x.y. z.33 和版本之外的文件夹。 清单文件是。

如果发生这种情况,希望你有一个回滚,可以将应用程序的最新基本版本添加到新版本的'跳转开始'中。

原作者:
...