Saturday, November 15, 2008

Running as a 64 bit application

This year I have worked with three different users that have 64 bit windows operating systems. In the end, I have had to change most of the programs back to 32 bit applications to make everything work properly.

64 bit Windows operating system maintains two independent registry locations for 32 bit and 64 bit applications. Because of that, the programs that ran in 64 bit mode wrote to one location, while the 32 bit wrote to another area. Neither could see what the other one wrote. That makes it difficult when the setup program is 64 bit and the server is 32 bit.

The last beta on the website sets most of the programs back to 32 bit (x86) mode. This was necessary to get everything working for these users and allow me time to investigate further.

Some of the programs could not run in 64 bit mode because they needed to use some dlls or ocx files that are 32 bit. I worked for the past several days removing some of these dependencies. This work also made some of the programs run faster, as the new code used is .Net code and runs faster.

There are only three programs now that must run in 32 bit mode; WxMcli (message client), WxMap (WxMapNet runs in 64 bit mode), and WxRadar. The other 21 programs could run in 64 bit mode. Notice that I said could. WxRadar does use some of the common registry settings, so it remains a hold out.

I am working now to see what I can do to make WxRadar access the 64 bit registry. The 32 bit dependency cannot be removed at this time. The image viewer used in WxMcli and WxRadar uses one 32 bit dll that has not been updated by my viewer vendor.

I have a 64 bit windows server 2008 available now for testing, so I hope to have a beta available soon that will allow the core programs to run as native 64 bit applications.

No comments: