One of my ASP.Net apps uses Jet 4.0 to read and write to Excel files (for importing and exporting data to and from the app). After a rebuild on my Windows Vista 64 bit development machine, I had the following error when executing some tests:
- The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
After a few minutes on Google, I found that this error is due to a lack of a 64 bit version of Jet 4! However, this should not be a problem as I can configure my app to build in x86 mode rather than 64 bit mode. A quick rebuild later my tests are all passing! Success! erm... Not quite...
Under IIS 7 I then got this error trying to access the web app:
- An attempt was made to load a program with an incorrect format.
Again, Google came to the rescue with some information about running 32 bit web apps under a 64 bit install of IIS! Have a look at the Microsoft article here:
The good stuff is about half way down the page under the heading "ASP.NET 2.0, 32-bit version". After entering the two suggested lines at the command prompt my 32 bit web app is now working on my 64 machine. Fantastic!
Due to a catastrophic error on my PC, I recently reinstalled Windows and went for Vista 64. It seems a little more responsive than the 32 bit version, but that could be just because it has less garbage on it than before...
After resintalling all my dev stuff (VS 2008, SQL 2008, TestDriven.Net, MbUnit, Telerik controls etc) I found that my MbUnit tests would not run via TestDriven.Net. I found the solution (via Google) within a few minutes. If Dave Bouwman had not bothered to blog his solution, I would have spent hours smacking my head against the wall, so thank you Dave!
------ Test started: Assembly: TileServer.Core.Tests.dll ------
The target type doesn't contain tests from a known test framework or a 'Main' method.
If you see this error after installing Vista64, it is because if an error installing some registry keys. Check out Dave's blog for the solution: