Click here to Skip to main content
14,882,025 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi CPs,

When I bought my laptop I made the mistake of installing a 32-bit win7 and I've been running it for the last 6 months. Now I have a lot of data in C:\ drive and I want to port to 64 bit. I know I have to take a backup and flash the drive and do a clean(Custom) install. But is there anyway I can use my 32-bit software on the new 64-bit software without downloading everything from scratch? I really need a solution fast because of this 32-bit I'm missing out lot of developmental stuff.
CHill60 17-Feb-14 8:29am
Depends on the software and whether or not you saved the installs or just ran them.

'But is there anyway I can use my 32-bit software on the new 64-bit software without downloading everything from scratch?'

-> if the question is: "Can I just use my already installed applications on my new 64 bits OS without reinstalling them?", the answer is NO (the most obvious reason for that is that, on 32 bits machines, applications are installed into the "C:\Program Files" folder, whereas they are installed into "C:\Program Files (x86)" on 64 bits machines. Moreover, many applications use the registry to store their configuration; if you do a clean install, you will loose the old registry, thus preventing your old applications from running whithout reinstalling them from scratch.

-> if the question is: "Will my 32 bits applications still work after being reinstalled on my new 64 bits machine?", the answer is YES.

Good luck!
To answer this question, I'll partially draw on my limited knowledge of the subject matter, and partially on personal experience.

You should be able to run most of you 32-bit programs on 64-bit Windows. When 64-bit Windows encounters 32-bit software, it creates a virtual machine to simulate a 32-bit environment for it, thereby ensuring that you can run your existing software without any hassles.

However, frameworks like .NET complicates things a bit. The programming code is compiled into environment-neutral code by the programmer, and then when the program is executed it is compiled into machine code by the JIT compiler. The JIT compiler chooses to compile it to 32-bit machine code if you are in a 32-bit environment or to 64-bit machine code if you are in a 64-bit environment. This usually works just dandy... but not always. Let's say you are using some 32-bit unmanaged libraries in your .NET application, and you run your application on a 64-bit computer. The JIT compiler compiles your .NET code to 64-bit machine code, but your unmanaged libraries are compiled for a 32-bit environment. This mismatch causes your application to crash. Fortunately, there is a way to deal with this: you can set the target CPU in your build settings to 32-bit, causing your entire application, including the unmanaged libraries, to be executed within Windows' 32-bit virtual machine. Naturally, you have no control over how other people build their .NET applications, but you can expect the majority to work without issues.

As for personal experience: When I switched over from 32-bit to 64-bit, I had already accumulated quite a few useful utilities. Most of these worked just as well in a 64-bit environment as in 32-bit, and for most of those that didn't work, it was easy and fast to download a 64-bit version. Therefore, I see no reason to be concerned.

However, if there is anything that you cannot afford to be without while you're trying to get your hands on a 64-bit version, be sure to get the right version before you switch to 64-bit.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900