Archived
This forum has been archived. Please start a new discussion on GitHub.
Running iceboxnet in 32-bit mode on XP64
I have a need due to 3rd party vendor libraries compiled 32-bit to run iceboxnet in 32-bit mode on a 64-bit XP machine.
Watching Task Manager I see iceboxnet start up but it's running in 64-bit mode. Does anyone know of a way to force iceboxnet to run in 32-bit mode (thereby loading 32-bit DLLs instead of trying to load 64-bit DLLs)?
Watching Task Manager I see iceboxnet start up but it's running in 64-bit mode. Does anyone know of a way to force iceboxnet to run in 32-bit mode (thereby loading 32-bit DLLs instead of trying to load 64-bit DLLs)?
0
Comments
-
You cannot force a 64 bit compiled binary to run in 32 bit mode. What you can do, however, is build or install a 32 bit version of Ice and run that.0
-
Sorry, I misread your post. We build Ice with a platform target of "Any CPU", and therefore, as you've discovered, they run in 64 bit mode on a 64 bit platform. To change this you can either recompile Ice, or use corflags to change the CPU requirement. In this case, the latter is the simplest.
First, examine the existing flags.C:\Ice-3.3.1-VC90\bin>corflags iceboxnet.exe Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.21022.8 Copyright (c) Microsoft Corporation. All rights reserved. Version : v2.0.50727 CLR Header: 2.5 PE : PE32 CorFlags : 1 ILONLY : 1 32BIT : 0 Signed : 0
As you can see 32BIT is 0. To change this:C:\Ice-3.3.1-VC90\bin>corflags /32bit+ iceboxnet.exe Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.21022.8 Copyright (c) Microsoft Corporation. All rights reserved. C:\Ice-3.3.1-VC90\bin>corflags iceboxnet.exe Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.21022.8 Copyright (c) Microsoft Corporation. All rights reserved. Version : v2.0.50727 CLR Header: 2.5 PE : PE32 CorFlags : 3 ILONLY : 1 32BIT : 1 Signed : 0
If you don't want to change the original executable, you can copy it (to say iceboxnet32.exe) and change the 32bit flag on the copy.0