【问题标题】:ClickOnce unable to install LocalDB 2012 on Windows Vista SP2ClickOnce 无法在 Windows Vista SP2 上安装 LocalDB 2012
【发布时间】:2015-01-09 00:40:39
【问题描述】:

我开发了一个基于 Microsoft .NET 4.5 框架的 winforms 应用程序。该应用程序是使用 ClickOnce 发布方法部署的。我还投入了大量时间来设置我的程序集和 ClickOnce 的 setup exe 的签名。签名工作。我的应用程序的先决条件之一是 LocalDB (2012),如果用户计算机上不存在 ClickOnce,则会安装它。

.NET 框架的规范指出,支持的操作系统是:

  • Windows Vista SP2
  • Windows 7 SP1
  • Windows 8
  • Windows 8.1

我尝试在所有这些设备上安装我的应用程序,它按预期工作,但 Windows Vista SP2 除外。

在下载和安装其他先决条件时,无法安装其中之一。错误消息说:

安装程序检测到无法验证文件“...\AppData\Local\Temp\VSD56A2.tmp\SqlLocalDB2012\x86\sqlcmdlnutils.msi”的发布者。单击“确定”重试下载,或单击“取消”退出设置。

单击“确定”只会关闭窗口并再次发出相同的错误。

我尝试在另一台装有 Vista SP2 的计算机上安装我的应用程序 - 同样的问题。有谁知道,为什么会发生此错误以及如何解决?尝试在网上搜索类似问题,但没有找到任何东西。

更新 #1: 正如 Krzysztof Kozielczyk 建议的那样,我尝试手动安装有问题的 MSI 软件包。从微软下载并安装sqlncli.msiSqlCmdLnUtils.msi 成功解决了前两个错误。

但是,ClickOnce 很快就会对SqlLocalDB.msi 发出相同类型的警告。与其他两个先决条件一样,我从 Microsoft 下载了 MSI 并手动安装了 LocalDB,但这次 ClickOnce 无法识别它并仍然尝试安装它,但失败了。

更新 #2: 进一步检查表明,问题在于 clickonce 尝试下载的 MSI-s 的过期数字签名。

我也将此错误报告给Microsoft Connect

应该重新签署有问题的 MSI-s。我可以期待 Microsoft 解决此问题吗?

【问题讨论】:

  • 您是否尝试过手动安装错误消息中提到的 MSI?
  • 将尽快尝试并更新我的问题。
  • @KrzysztofKozielczyk 请查看我的更新。
  • 亲爱的@AlexB。我也在 Microsoft Connect 上看到了您的帖子,但他们没有提供任何解决方案。你自己找到解决办法了吗?如果是这样,如果您可以共享相同内容,那将非常有帮助。谢谢,阿米特

标签: c# winforms clickonce windows-vista localdb


【解决方案1】:

ClickOnce 安装程序从 Microsoft 下载站点提取的 SqlCmdLnUtils.msi 包有问题。程序包损坏(上传错误、CDN 上的二进制文件损坏,等等),或者 FWLink 损坏。

在生成的 ClickOnce 包中,您应该能够找到用于下载二进制文件的链接。它看起来像http://go.microsoft.com/fwlink/?linkld=012345。只需将其粘贴到浏览器中,看看会发生什么。如果链接断开,将显示错误页面。如果链接有效,它将下载 ClickOnce 尝试使用的 exact 包,希望您能够使用它来确定它有什么问题。

在这两种情况下,您可能都需要将问题通知 Microsoft,也许可以提交 connect 项目。

【讨论】:

  • 感谢您的建议,将尝试。
猜你喜欢
  • 1970-01-01
  • 2015-12-27
  • 2010-12-27
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多