Wpf 如果选择了“检查更新”,则ClickOnce应用程序失败

Wpf 如果选择了“检查更新”,则ClickOnce应用程序失败,wpf,download,clickonce,Wpf,Download,Clickonce,这是我正在做的。我已经在下面创建了一个简单的空白应用程序。我启用部署、设置签名、安全性等,并发布到本地实例。我启动浏览器,点击publish.htm页面,它就可以正确安装了 下一步,我把这一切都吹走了,毕竟这是在测试,重新创建项目,启用ClickOnce,签署它,等等,但这次我还单击了属性->发布页面上的“更新…”按钮。我单击“应用程序应检查更新”复选框,然后选择“应用程序启动前”单选按钮。我单击OK,再次将其发布到本地IIS,然后点击publish.htm页面。但是,当我单击“安装”时,会出现

这是我正在做的。我已经在下面创建了一个简单的空白应用程序。我启用部署、设置签名、安全性等,并发布到本地实例。我启动浏览器,点击publish.htm页面,它就可以正确安装了

下一步,我把这一切都吹走了,毕竟这是在测试,重新创建项目,启用ClickOnce,签署它,等等,但这次我还单击了属性->发布页面上的“更新…”按钮。我单击“应用程序应检查更新”复选框,然后选择“应用程序启动前”单选按钮。我单击OK,再次将其发布到本地IIS,然后点击publish.htm页面。但是,当我单击“安装”时,会出现一个错误,“无法下载应用程序”。应用程序缺少必需的文件。请与应用程序供应商联系以获取帮助。“

我找到的唯一参考是application.manifest文件中列出了一个丢失的文件,但我似乎无法确定它是什么。如果有人能在这件事上给我指出正确的方向,我将不胜感激

这肯定是一个404NotFound错误,但我不知道它指的是什么文件。这是“详细信息”页面-

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          : http://localhost/WpfApplication1/WpfApplication1.application
                        Server      : Microsoft-IIS/7.5
                        X-Powered-By    : ASP.NET
    Deployment Provider url     : http://jerrydev/WpfApplication1/WpfApplication1.application

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of http://localhost/WpfApplication1/WpfApplication1.application resulted in exception. Following failure messages were detected:
        + Downloading http://jerrydev/WpfApplication1/WpfApplication1.application 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
    * [1/13/2011 11:05:50 AM] : Activation of http://localhost/WpfApplication1/WpfApplication1.application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [1/13/2011 11:05:50 AM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
        - Downloading http://jerrydev/WpfApplication1/WpfApplication1.application 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.DownloadManifest(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ManifestType manifestType, ServerInformation& serverInformation)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirect(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
            at System.Deployment.Application.DownloadManager.FollowDeploymentProviderUri(SubscriptionStore subStore, AssemblyManifest& deployment, Uri& sourceUri, TempFile& tempFile, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
            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.

是否发布到localhost并将其安装在同一台计算机上?我这样问是因为它的URL中有localhost。您是在更新对话框中填写了UpdateURL,还是将其留空?如果它应该与安装URL位于同一位置,则将其留空


您的安装URL是什么样子的?

我在URL中使用localhost进行发布、安装和更新;我发现,发布过程将在清单中使用“localhost”的机器名。我的问题实际上源于没有更新My Hosts.etc文件以将我的机器名映射到“localhost”。修复此问题解决了我在安装clickonce应用程序时遇到的所有问题,并且能够在安装后对其进行更新