Deploying Microsoft SQL Compact Edition to Non-English Windows XP machines.

1

I have an app that uses Microsoft SQL Compact Edition. I have followed the MSDN and deployed the DLLs described in: http://msdn.microsoft.com/en-us/library/aa983326%28VS.80%29.aspx

Including these DLLs with the installer has worked great ... until now.

Now I am trying to install the app on Non-English versions of windows. Non-English Windows 7 works fine, but with Non-English Windows XP SP3 (Portuguese specifically) I get a crash whenever the app attempts to connect to a database.

The error is:

Unable to load DLL 'sqlceme35.dll': Falha na inicialização do aplicativo devido a configuração incorreta. A reinstalação do aplicativo pode resolver o problema. (Exception from HRESULT: 0x800736B1)

... yes its in Portuguese. Google Translates it as:

Application initialization failed due to misconfiguration. Reinstalling the application may fix the problem

If you take the other approach recommended on the MSDN page and manually install the Portuguese version of SQL Compact Edition. Everything works fine again. However, this is a solution I want to avoid, because this would mean distributing a SQL CE installer for every language with our installer, or a having a different installer for every language. A huge pain.

Is there some other DLLs I could copy for international Windows versions? Any idea where I could find this list of DLLs?

Thanks for your help!

.net
sql-server-ce
asked on Stack Overflow Dec 10, 2012 by Derek

1 Answer

0

Thanks ErikEJ, your suggestion made me realize our mistake.

We install and use .Net Framework 4.0, but for whatever reason we have stuck with SQL CE 3.5, and by chance it has worked since most PCs have Visual C++ Runtime 2005 pre-installed.

There are several ways to fix this:

  1. Use MS SQL CE 4.0 because it depends on Visual C++ Runtime 2008, which is included in the .Net Framework 4.0 that we already install as a pre-req.

  2. Find the DLLs used by SQL CE 3.5 and have our installer copy them itself (Might not be possible)

  3. Install Visual C++ Runtime 2005 along with the installer. (Not a very good installer and doesn’t have all languages)

  4. Install .Net 3.5 along with 4.0, because it has Visual C++ Runtime 2005 (Better installer)

Option 1 is probably the best, but will require some work on our part, to move from 3.5 to 4.0. All other options are work arounds, but should fix the problem.

answered on Stack Overflow Dec 11, 2012 by Derek

User contributions licensed under CC BY-SA 3.0