Whilst developing this site, a SQL CE database was being used to allow for easy setup. All was well on the development machine, but when deploying to my Arvixe hosting account this error came up, and it really had me stumped for quite awhile.
The application has failed to start because its side-by-side configuration is incorrect
The first thing that came to mind was that the binaries weren’t included in the project’s bin folder. Upon checking however they were. In an Umbraco install, the SQL CE dlls are in the architecture specific folders in your bin.
bin <DIR> amd64 <DIR> x86 <DIR> Microsoft.VC90.CRT <DIR> sqlceca40.dll sqlcecompact40.dll sqlceer40EN.dll sqlceme40.dll sqlceqp40.dll sqlcese40.dll
So it was then I started to think that it was a problem with the hosting account, but hesitant to nag them before checking that it wasn’t my fault I went up to London to give the noggin a rest.
After returning I started to question the deployment process. The way that this site was deployed was by triggering a publish from visual studio to a local folder, zipping it up and then using FTP to upload it to the server. I began to think if the publish could’ve caused the problem.
It was here that I found the problem. On publishing, Visual Studio doesn’t include the Microsoft.VC90.CRT manifest file.
bin <DIR> x86 <DIR> Microsoft.VC90.CRT <DIR> Microsoft.VC90.CRT.manifest msvcr90.dll
So I manually uploaded this file and everything worked perfectly.
Tl;dr: Make sure that you have uploaded bin > x86 > Microsoft.VC90.CRT > Microsoft.VC90.CRT.manifest.