I have a C# WinForms program that attempts to import some data from Excel into a SQL Server database using the Ole DB provider. Today the import suddenly failed with an error message saying that the Jet Ole DB provider was not registered on the local computer.

InvalidOperationException: Jet OleDB 4.0 provider not registered on the local computer

Well, I was pretty sure that it was. So what was wrong then?

Turned out that the Configuration Manager accidentally got reset to “Any CPU” setting. I have an x64 machine on which that leads to running the application in 64-bit mode, in which there is indeed no Jet OleDB provider available (and no Edit-and-Continue either, among other things…).

Setting the target platform to compile to x86 immediately solved the problem.

Today I tried to encrypt my drive with TrueCrypt (7.0a). Although I do not plan to loose my laptop, you never know what happens, and there is potentially sensitive data on there from me or my clients. I already successfully did this on several other machines and was not expecting the error message “Windows is not installed on the drive from which it boots”. I was only supposed to continue if I was sure that it was. Well, I knew Truecrypt was right so I couldn’t go on. What now?

Today I received my new laptop (yay!). One of the first things I do after setting up a new machine (because if I forget I am sure I’ll shoot myself in the foot at least once before doing so), is turning off allowing Windows Update to restart my computer after it has installed updates. I don’t mind that window reminding me of it… I just don’t want to come to my computer in the morning and find it has thrown away stuff or interrupted a process I started the night before, because it needed to restart.
Automatic updating, fine, but let *me* decide when to reboot, okay?