Thursday, February 1, 2007

64-bit Windows XP Conundrum

I am blessed to be one of the few Delphi R&D engineers running 64-bit Windows XP. I've been running 64-bit Windows for a little under a year now and I can honestly say if you want to avoid a headache do yourself a favor and continue running 32-bit Windows. Here are a few things I've run into and the work arounds.

xsd.exe fails to run under 64 bit Windowx XP with the error:

Error: The CodeDom provider type "Microsoft.VJSharp.VJSharpCodeProvider, VJSharp CodeProvider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located.

The problem is that xsd.exe is a .NET application that floats. This means that if it runs on a Win32 system it runs as Win32, if it runs on a Win64 system it runs as Win64. Problem, J# is not Win64 so the code provider does not exist. This is a bug on Windows 64 bit. You can make it work by creating an application, I called mine txsd.exe, that references xsd.exe and just calls it's main. txsd.exe is a non-floating application so it forces xsd.exe to be run in Win32.

dbgclr.exe doesn't debug 32-bit by default on a 64-bit machine. To get a working copy of dbgclr.exe, install Visual Studio (the free version should work) and then copy dbgclr.exe from a 32-bit machine. Then it'll run like a champ. For some reason Visual Studio installs something that is required by dbgclr.exe.

iTunes 7 doesn't run, I have to continue to run iTunes 6. The funny thing is (and what made me thing of writing this blog post) is that I just got a reply to by bug report that Apple QA can't reproduce the bug. Anyone else have this problem that can shed some light on the issue?

No comments:

Post a Comment