Thanks a lot Adam.

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Adam Sills
Sent: Thursday, March 15, 2007 5:21 PM
To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM
Subject: Re: [ADVANCED-DOTNET] moving code from a 32 to a 64 bit server

Our installer was the biggest problem. Our application is about a
million
lines of C# code (very few of those are p/invoke and even fewer in a C++
DLL
or two) and there really wasn't any work we had to do from a code
standpoint. On 64 bit Vista (and XP 64) our applications by default ran
as
64 bit apps (they were .NET 2.0 apps and there is a 64 bit CLR on both
platforms) due to the AnyCPU Platform target that is the default.

The only real problem we had was our registry keys and program files
installed files were being installed into 32 bit compatibility locations
on
the box (HKLM\Software\Wow... and Program Files (x86)). Our installer
(InstallShield 11.5) requires manual work to indicate a component is 64
bit-compatible to tell the MSI package to install in the 64 bit
locations on
the box.

When a 32 bit application runs and asks for a registry key or for a
common
file path, the system will lie to them and redirect the request. My
installer asked for "[ProgramFilesFolder]" and received "Program Files
(x86)". My programs ask for it and get back "Program Files" like I
expect.

We tested by manually copying our registry keys and other dependent
files on
the box and we had zero problems running as a native 64 bit .NET
application
(even our 3rd party UI controls had no issues for us).

What we actually ended up doing (at least in the interim) is compiling
our
applications against x86 Platform (instead of AnyCPU) so when our
programs
run and ask for registry keys and common file paths, the system tells us
the
same for both (Vista 64 sees our apps are 32 bit, when we ask for
ProgramFiles we get "Program Files (x86)").

My situation may be different from yours, especially if you have a lot
of
C++ code. We have next to none so it was a surprisingly easy transition
(thank you, managed execution environment).

Adam..

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Smotritsky,
Alex
Sent: Thursday, March 15, 2007 4:24 PM
To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM
Subject: [ADVANCED-DOTNET] moving code from a 32 to a 64 bit server

I'm interested in hearing peoples thoughts on this - like is a recompile
necessary and such.

===================================
This list is hosted by DevelopMentor(r)  http://www.develop.com

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to