加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ClickOnce无法在Windows Vista SP2上安装LocalDB 2012

发布时间:2020-12-15 22:10:37 所属栏目:百科 来源:网络整理
导读:我开发了一个基于Microsoft .NET 4.5框架的 winforms应用程序.该应用程序使用ClickOnce发布方法进行部署.我还投入了大量时间来设置我的程序集和ClickOnce的setup exe的签名.签署工作.我的应用程序的先决条件之一是LocalDB(2012),如果用户计算机上没有,则安装
我开发了一个基于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.

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

Setup has detected that the publisher of file ‘…AppDataLocalTempVSD56A2.tmpSqlLocalDB2012x86sqlcmdlnutils.msi’ cannot be verified. Click OK to retry the download,or Cancel to exit setup.

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

我试图在与Vista SP2不同的计算机上安装我的应用程序 – 同样的问题.有谁知道,为什么会出现这个错误以及如何解决它?试图在网上搜索类似的问题,但没有找到任何东西.

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

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

更新#2:进一步检查显示,问题在于Clickonce试图下载的MSI-s的过期数字签名.

我还向Microsoft Connect报告了这个错误.

有问题的MSI-s应该再次签名.我可以期待微软解决这个问题吗?

解决方法

ClickOnce安装程序从Microsoft下载站点提取的SqlCmdLnUtils.msi包有问题.包都坏了(上传错误,CDN上的损坏二进制文件,你给它命名),或者FWLink坏了.

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

在这两种情况下,您可能需要通知Microsoft该问题,可能会提交connect项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读