Dev environment is VS 2010 on Win7 Ultimate 64-bit. Build configuration is x86 (32-bit). App runs fine in dev.
Then I build a Setup project for testing on a target machine. The target machine is a clean Windows XP Mode VM which (I believe) is 32-bit.
The app installs and starts fine on target machine, but then throws this error when it attempts to access the sdf database:
"Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8080. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details."
That KB article refers to 64-bit scenarios, which does not apply to my 32-bit Windows XP Mode target machine (my understanding is that Windows XP Mode is 32-bit even on 64-bit hosts).
In VS, the Setup and Deployment project seems to correctly include the .DLL as a detected dependency, and is including C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll in the msi package. On the target
machine, I've verified that this file is being installed into the target directory, along with the main executable. If I remove the file, I experience the expected error of being unable to load an assembly that can't be found, and then if I put it back, the
"unable to load native components"
View Complete Post