ClickOnce Manifest and Deployment Issue

时间:2010-08-24 20:36:12

标签: clickonce manifest

某些用户(但不是全部)在尝试从特定Web服务器安装ClickOnce应用程序时收到错误。这是他们得到的错误:

  

平台版本信息    Windows:5.1.2600.196608(Win32NT)    公共语言运行时:2.0.50727.3615    System.Deployment.dll:2.0.50727.3053(netfxsp.050727-3000)    mscorwks.dll:2.0.50727.3615(GDR.050727-3600)    dfdll.dll:2.0.50727.3053(netfxsp.050727-3000)    dfshim.dll:4.0.31106.0(Main.031106-0000)   来源    部署网址: http://TheCorrectDeploymentURL/MyApp.application   错误摘要    下面是错误的摘要,这些错误的详细信息将在后面的日志中列出。    *激活 http://TheCorrectDeploymentURL/MyApp.application 会导致异常。检测到以下失败消息:     +来自 https://TheWrongServer.TheUrlForLoggingIntoTheVPN.com/url_3/welcome.cgi 的异常阅读清单:清单可能无效或无法打开文件。     +第14行的'link'开始标记与'noscript'的结束标记不匹配。第15行,第3位。   组件商店交易失败概要    未检测到任何交易错误。   警告    在此操作期间没有警告。   运营进展情况    * [2010年8月24日下午1:15:12]:已开始激活 http://TheCorrectDeploymentURL.com/MyApp.application 。   错误详情    在此操作期间检测到以下错误。    * [8/24/2010 1:15:37 PM] System.Deployment.Application.InvalidDeploymentException(ManifestParse)      - 来自 http://TheCorrectDeploymentURL.com/publish.htm

的例外阅读清单

它试图从错误的位置读取清单。当ClickOnce认为VPN的网页是应用程序的清单时,会发生异常。有没有想过为什么Clickonce试图从VPN连接的URL而不是部署clickonce应用程序的服务器读取清单?

谢谢!

1 个答案:

答案 0 :(得分:0)

清单位置在ClickOnce部署的.application文件中定义(在dependentAssembly标记中)。如果你通过在项目的属性中定义它来生成它,我不确定你是如何搞砸的。此外,一旦生成清单,您就无法更改它,因为哈希码存储在其中以验证它。

我会检查.application文件并验证定义的URL是否正确,并且它的根目录与.application文件的路径相匹配。实际上,通常将清单文件的路径定义为相对URL,这意味着如果用户能够访问.application文件,那么他们真的没有理由不能访问清单文件

除非 - 您可能在存储.application文件的文件夹下的子文件夹中定义了不同的安全性吗?也许Web服务器试图让用户在没有对子文件夹的适当安全访问权限时登录,但是可以访问根文件夹。