As many of you, I am a sinner. I have been using .mdb as database of my choice for small projects. I knew even then that there are better choices out there but .mdb was easy accessible over OLEDB, in need you could use Microsoft Access to edit database (yes, I did ugly “just this time” fixes on data), it didn’t kill machines with small amounts of RAM and its network model was sufficiently fast on local networks (although someone may argue whether it had any network model at all).
Story of one bug
As I sometimes do, I got bug report for one of old programs. Since I like to confirm things first, I opened project in Visual Studio 2008 (of course, conversion was needed since that was 2005’s project) and started it. There was a strange error: “The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine.”. Of course, reading is not necessary for my level of experience so instead of analyzing what was said to me, I decided to install Visual Studio 2005 and run the program without conversion. Same error.
Google
My blind faith in google forced me to try bunch of stuff. One wise guy said that Vista comes without MDAC so I tried to install it. Other one said that you need to manually register MDAC files. I did that also. After installing all possible updates (did you know that Jet 4.0 is at SP8?) I decided to search Microsoft’s support. First page offered was one with my problem. There is no 64-bit version of Jet. OLEDB provider. At that minute I remembered that I do run 64-bit Windows…
Solution
Once I finally knew what exactly is problem here, solution was easy. We just need to go back to 32-bit world in order for things to work.
In C# that is done in Project Properties, Build page. Just select x86 as platform target and everything will start working as it was before. In case you have some dlls that access database, you will need to convert them also.
In case you are working in VB, path is little different since you need to go to My Project then Compile tab and on Advanced Compile Options button you will find target CPU setting.
After that small change, your program is 32-bit citizen and loading 32-bit OLEDB is easy as it once was.
I played for some while with VHD installed Windows 7 and I enjoyed. After few boots I even selected it to be default. There were some small issues, but biggest one was unfortunate choice of .vhd medium. Booting was slow (few minutes).
Last night I installed Windows 7 on my first partition, overwriting Windows Vista, and thus making it my only boot choice. I do hope that I won’t be sorry for this decision.
Big change when compared with .vhd booting? Yes - I am back in sub-minute boot range.
I am big fan of Geode processor. It is cheap, has low power requirements and heating is negligent. My home server is PC Engine’s ALIX1D board - you guess it - based on Geode.
That board is slow and it only has 256 MB of memory, but also requires no cooling (complete silence) and if you consider that all devices are connected over wireless, speed is good enough for file sharing which is its primary purpose anyhow.
However, market is wanting more powerful processors and Geode is going to history. They do say that they will produce it while there is need, but any company that still uses them will start searching for a replacement. The end is imminent.
Since only requirement for my server is low noise (passive cooling and 2.5" HD), I already see replacement - MSI WindBOX.
Windows 7 and Windows 2008 R2 will come with Windows Installer 5.0. Main reason for my happiness is not having to install any prerequisites for SQL Server 2008 on those platforms (currently: Windows Installer 4.5 and PowerShell 2.0).
As noted on Engineering Windows 7 blog, there will be no beta 2 for Windows 7. Next version will be Release Candidate and final version after that. Although timeline was not given, it seems to me that we will have it this year.