Ok - ‘revisiting’ might be a stretch. Maybe ‘a quick follow up’ would be more appropriate.
Anyhow, I was reading the latest issue of System iNews earlier this week, and I stumbled upon a reference to an article about adding System i Data Sources to Visual Studio 2008. Since I had written about this very subject I was curious to see how my own solution matched up with the solution provided by IBM in technical document number 526181697, linked here: V6R1 System i Access .NET Provider Not Listed in Microsoft Visual Studio 2008.
I am happy to report that my registry patches match up with what IBM has released, with the only difference being that they released the patches in two files and I released them as a single file.
After an extended session of patting myself on the back, I settled down to knock out a quick project in ASP.NET – accessing System i data for some charts on our internal website. When I went to connect the data source I realized that the ‘IBM DB2 for i5/OS’ data source was not displayed. The computer I was using for this quick project is not my usual VS2008 development machine, so I assumed a quick import of the registry file would resolve my issues. No Go. Even tried the IBM version, still No Go.
I do most of my development in virtual machines, where I can dedicate 100% of the machine to a specific platform, task, or IDE. This makes it simpler for me to keep everything organized. My daily work PC is running Vista Enterprise x64, with a ton of RAM, so it can handle multiple VMs without breaking a sweat.
For this particular task, I was actually using Visual Studio 2008 on my Vista x64 machine natively. When I released by registry patch back in May/June I had neglected to consider developers on x64 platforms. In the files section you will find an x64 version of my VS2008-V6R1 patch.
In a nutshell, two changes to the original patch were required to work with x64 systems:
- References to C:\Program Files\ were changed to C:\Program Files (x86)\. This is required because the drivers are 32 bit and installed to the x86 version of Program Files.
- References to [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ where changed to [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\. This is required because 32 bit applications have access to their own ‘virtual’ registry through a type of emulation/compatibility layer Microsoft calls ‘Windows On Windows’. Wow6432Node is the prefix for this 32 bit registry, and for Visual Studio to see the System i Access drivers the registry entries needed to be added here.
Wow. My quick follow-up became a long post. Some might consider it a ‘revisit’.
Let me know if you run into any issues. Thanks!