我有一个使用Microsoft SQL Compact Edition的应用程序。我已经关注了MSDN并部署了http://msdn.microsoft.com/en-us/library/aa983326%28VS.80%29.aspx
中描述的DLL将这些DLL与安装程序一起使用效果很好......直到现在。
现在我正在尝试在非英语版本的Windows上安装该应用程序。非英语Windows 7工作正常,但使用非英语Windows XP SP3(特别是葡萄牙语),只要应用程序尝试连接数据库,我就会崩溃。
错误是:
无法加载DLL的'sqlceme35.dll':Falhanainicializaçãodoaplicativo devidoaconfiguraçãincororreta。重新安装o aplicativo pode resolver o problema。 (HRESULT异常:0x800736B1)
...是葡萄牙语。谷歌将其翻译为:
由于配置错误导致应用程序初始化失败。重新安装应用程序可能会解决问题
如果您采用MSDN页面上推荐的其他方法并手动安装葡萄牙语版本的SQL Compact Edition。一切都很好。但是,这是我想要避免的解决方案,因为这意味着使用我们的安装程序为每种语言分发SQL CE安装程序,或者为每种语言安装不同的安装程序。一个巨大的痛苦。
我是否可以为国际Windows版本复制其他DLL?知道我在哪里可以找到这个DLL列表吗?
感谢您的帮助!
答案 0 :(得分:0)
感谢ErikEJ,你的建议让我意识到了我们的错误。
我们安装并使用.Net Framework 4.0,但无论出于何种原因我们都坚持使用SQL CE 3.5,并且由于大多数PC都预安装了Visual C ++ Runtime 2005,因此它很有效。
有几种方法可以解决这个问题:
使用MS SQL CE 4.0,因为它依赖于Visual C ++ Runtime 2008,它包含在我们已作为pre-req安装的.Net Framework 4.0中。
查找SQL CE 3.5使用的DLL并让我们的安装程序自行复制它们(可能无法实现)
安装Visual C ++ Runtime 2005以及安装程序。 (不是一个非常好的安装程序,并且没有所有语言)
安装.Net 3.5和4.0,因为它有Visual C ++ Runtime 2005(更好的安装程序)
选项1可能是最好的,但我们需要做一些工作,从3.5移动到4.0。 所有其他选项都是解决方法,但应解决问题。