某些用户(但不是全部)在尝试从特定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应用程序的服务器读取清单?
谢谢!
答案 0 :(得分:0)
清单位置在ClickOnce部署的.application文件中定义(在dependentAssembly标记中)。如果你通过在项目的属性中定义它来生成它,我不确定你是如何搞砸的。此外,一旦生成清单,您就无法更改它,因为哈希码存储在其中以验证它。
我会检查.application文件并验证定义的URL是否正确,并且它的根目录与.application文件的路径相匹配。实际上,通常将清单文件的路径定义为相对URL,这意味着如果用户能够访问.application文件,那么他们真的没有理由不能访问清单文件
除非 - 您可能在存储.application文件的文件夹下的子文件夹中定义了不同的安全性吗?也许Web服务器试图让用户在没有对子文件夹的适当安全访问权限时登录,但是可以访问根文件夹。