1

我有一个使用 Microsoft SQL Compact Edition 的应用程序。我遵循了 MSDN 并部署了以下描述的 DLL:http: //msdn.microsoft.com/en-us/library/aa983326%28VS.80%29.aspx

在安装程序中包含这些 DLL 效果很好……直到现在。

现在我正在尝试在非英语版本的 Windows 上安装该应用程序。非英语 Windows 7 工作正常,但使用非英语 Windows XP SP3(特别是葡萄牙语)时,每当应用程序尝试连接到数据库时,我都会崩溃。

错误是:

无法加载 DLL 'sqlceme35.dll':Falha na inicialização do aplicativo devido a configuração incorreta。一个 reinstalação 做 aplicativo pod resolver o problema。(来自 HRESULT 的异常:0x800736B1)

...是的,它是葡萄牙语。谷歌将其翻译为:

由于配置错误,应用程序初始化失败。重新安装应用程序可能会解决问题

如果您采用 MSDN 页面上推荐的其他方法并手动安装葡萄牙语版本的 SQL Compact Edition。一切正常。但是,这是我想避免的解决方案,因为这意味着使用我们的安装程序为每种语言分发 SQL CE 安装程序,或者为每种语言使用不同的安装程序。巨大的痛苦。

我可以为国际 Windows 版本复制一些其他 DLL 吗?知道在哪里可以找到这个 DLL 列表吗?

谢谢你的帮助!

4

1 回答 1

0

谢谢 ErikEJ,你的建议让我意识到我们的错误。

我们安装并使用 .Net Framework 4.0,但无论出于何种原因,我们都坚持使用 SQL CE 3.5,而且由于大多数 PC 都预装了 Visual C++ Runtime 2005,因此碰巧它可以正常工作。

有几种方法可以解决这个问题:

  1. 使用 MS SQL CE 4.0 因为它依赖于 Visual C++ Runtime 2008,它包含在我们已经作为先决条件安装的 .Net Framework 4.0 中。

  2. 找到 SQL CE 3.5 使用的 DLL 并让我们的安装程序自己复制它们(可能不可能)

  3. 随安装程序一起安装 Visual C++ Runtime 2005。(不是一个很好的安装程序,并且没有所有语言)

  4. 安装 .Net 3.5 和 4.0,因为它具有 Visual C++ Runtime 2005(更好的安装程序)

选项 1 可能是最好的,但需要我们做一些工作才能从 3.5 迁移到 4.0。所有其他选项都是解决方法,但应该可以解决问题。

于 2012-12-11T15:36:42.710 回答