ClickOnce 安装程序无法安装 SQLLocalDb2012,因为 sqlcmdnutils.msi 自最初发布以来已更改

Posted

技术标签:

【中文标题】ClickOnce 安装程序无法安装 SQLLocalDb2012,因为 sqlcmdnutils.msi 自最初发布以来已更改【英文标题】:ClickOnce installer fails to install SQLLocalDb2012 because sqlcmdnutils.msi has changed since originally published 【发布时间】:2020-03-12 04:08:29 【问题描述】:

ClickOnce 以前安装 SqlLocalDB2012 没有问题,但现在我在尝试安装时收到此错误。如果只是从以前的版本更新应用程序没有问题,但我每次在全新安装时都会收到此错误。

不确定发生了什么变化,但直到最近才出现问题。我尝试更改 product.xml 文件中的公钥以及清除临时文件,正如某些人在其他帖子中所建议的那样。都不适合我。

"安装程序检测到该文件 'C:\Users\USER\AppData\Local\Temp\VSD7502.tmp\SqlLocaDB2012\x64\sqlcmdnutils.msi' 自最初发布以来已发生变化。”

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。在尝试了其他建议的补救措施后,我决定将必备软件添加到我的应用程序中,而不是从组件供应商的网站下载。 Microsoft 关于如何执行此操作的指南如下:

https://docs.microsoft.com/en-us/visualstudio/deployment/how-to-include-prerequisites-with-a-clickonce-application?view=vs-2015&redirectedfrom=MSDN
. 请注意 (1) 对于 Windows10,您将在 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages 中找到 SqlLocalDB 包文件夹。 (2) 对于 SqlLocalDB,您需要同时包含 x64(Windows 64 位)和 x86(Windows 32 位)版本,并且需要在 ClickOnce Bootstrap\Packages\SqlLocalDB2012 文件夹中创建 x64 和 x86 文件夹来保存安装文件。 (3) 您不能从外部源加载一些先决条件,而从应用程序加载一些先决条件——要么全有,要么全无。因此,您可能需要针对其他先决条件重复该练习,例如。网。

我希望这会有所帮助。

【讨论】:

是的,我最终也这样做了。这是唯一可以永久修复的东西。很抱歉没有发布我的答案!

以上是关于ClickOnce 安装程序无法安装 SQLLocalDb2012,因为 sqlcmdnutils.msi 自最初发布以来已更改的主要内容,如果未能解决你的问题,请参考以下文章

.NET ClickOnce 没有安装必备文件?

一种ClickOnce应用程序在Windows7上安装时发生错误的解决办法

一种ClickOnce应用程序在Windows7上安装时发生错误的解决办法

如何在 Visual Studio 2010 Express 中禁用 ClickOnce(或至少显示“您确定要安装此程序”窗口

签名的 ClickOnce 应用程序给出“无法验证发布者”

C# clickonce用处