2009-06-29 88 views
7

我的ClickOnce应用程序给用户提供了一个错误:“无法下载应用程序,应用程序缺少所需文件,请与应用程序供应商或系统管理员联系以寻求帮助。Clickonce错误:缺少文件。需要丢失文件名

我怎样才能确定哪个文件丢失?我是否需要手动将文件放在发布服务器上?

我认为,当我点击先决条件并设置从组件供应商的网站下载先决条件并设置为包含组件的选项时,ClickOnce将包括所有这些组件。看起来我错过了一些东西。我怎么知道它是什么。手动通过清单将是非常耗时的。

+0

我有一个类似的错误 - 我改变了包含的所有引用,并且在某些机器上尝试从publish.htm进行安装时仍然会出现错误。最终我在浏览器地址中输入了特定的子安装文件(xxx.application),一切正常。 – 2010-04-21 06:03:21

回答

4

我通常在这些问题上发现的是,它与设置为“包含(自动)”而非仅包含的依赖关系有关。它只能在某些机器上工作,而不能在其他机器上工作,这取决于目标机器上已安装的DLL。

文件包括 打开发布标签的项目属性,然后单击“应用程序文件”,然后检查哪些DLL被设置为“包括(自动)”。您可能需要将其中一些更改为标准的“包含”,以便安装到您计算机上的GAC中。 Visual Studio会根据您的机器配置做出一些假设。

日志文件 要检查的另一件事通常是错误消息将引用文本日志文件。我不相信它以任何方式链接它,所以你必须浏览它。但找到该文件,它应该给你更多的信息。

证书错误 一个问题,我所看到的是,如果是安装在服务器上的SSL证书是不是你尝试安装在机器上的信任。我经常为GoDaddy SSL认证而发现,因为它们并不总是安装在不经常使用Windows Update的机器上。

0

弹出错误时是否有“详细信息”按钮?通常有一个堆栈跟踪,在那里你可以看到它试图下载哪个特定的文件。如果可以,请在这里发布信息。

+0

在错误摘要中,下面的行显示几次。但它显示应用程序的名称(xxx.aplication),路径不是发布服务器。这个错误没有告诉我很多。它只告诉我该应用程序不存在于用户的机器上。现在的问题是为什么不呢?为什么ClickOnce无法将文件复制到用户的计算机上。 .. \t +找不到文件'C:\ Documents and Settings \ xxxxxx \ Local Settings \ Temporary Internet Files \ Content.IE5 \ O220G6MA \ someAppName.application'。 – 2009-06-29 18:12:24

1

ClickOnce以显示与实际问题无关的错误而闻名。如果问题仅限于单个用户(这听起来像),我通常首先尝试通过删除%user_profile%\ Local Settings \ Apps \目录清除用户的ClickOnce缓存。这将解决这些“联系人应用程序供应商...”错误中的80%,并且对用户的PC造成的影响相对较低。他们只需要重新下载所有的.NET应用程序。