错误未指定sqlcese40.dll

时间:2017-10-04 18:48:39

标签: c# .net-4.0

我已将我的应用程序部署到我的客户。会发生什么事情,我已经在4台不同的计算机上测试了我的应用程序并且运行得很好但不在我的客户计算机中。

我在使用SQL Compact的代码中使用.NET Framework 4.0,并且客户已安装了.NET Framework 4.7。为了以防万一,我还在他的计算机中安装了SQL Compact。

当我点击我的应用程序.exe时,会显示一个弹出错误,其中包含以下文字:

System.Data.SqlServerCe.SqlCeException (0x80004005): Error not specified [ sqlcese40.dll ]
   in System.Data.SqlServerCe.SqlCeConnection.ProcessResults(Int32 hr)
   in System.Data.SqlServerCe.SqlCeConnection.Open(Boolean silent)
   in System.Data.SqlServerCe.SqlCeConnection.Open()
   in LongStoryShort.LoadAllByItems(String[] columns)

因此连接到数据库时会发生错误。有什么线索我错过了什么?

1 个答案:

答案 0 :(得分:0)

<强>解决

我甚至无法在我的客户PC中卸载.NET Framework 4.7,因为我收到了错误:

  

由于本地安全选项,加密操作失败   设置

在寻找有关此错误的答案后,我最终进入了微软网站https://support.microsoft.com/en-us/help/2715304/error-message-when-you-try-to-validate-a-copy-of-windows-the-cryptogra并按照他们的说法执行了regedit的步骤。

  

当&#39;状态&#39;下面提到的注册表的价值   密钥设置不正确。该值对应于Internet   Explorer安全设置&#34;检查发布者的证书   撤销&#34;和&#34;检查已下载程序的签名&#34;

     

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ WinTrust \ Trust Providers \ Software Publishing您可以找到名称中的密钥   '州'。默认情况下,值设置为 - '23c00'分辨率To   解决此问题,将注册表项更改为有效设置,例如

     

状态= 0x00023e00 - “检查发布商的证书撤销”未选中

     

State = 0x00023c00 - '检查发布者的证书撤销'已检查

更改regedit值后,我的应用程序立即开始工作!