Forcing a .Net Windows service to run as 32-bit on a 64-bit machine

Viewed 31539

I've been given a windows service which references a COM component that only runs on 32-bit. My machine is x64, so the service tries to start, fails to create the COM component, and dies.

I don't have the source, just the .exe file. Is there any way to force a service to start in 32-bit mode on a win64 machine?

2 Answers

Maybe the .NET tool corflags will help:

corflags /32bit+ myservice.exe

corflags.exe comes with the Windows SDK, not .NET.

corflags.exe needs to run only once against the target service exe. Then the service will run in 32-bit mode thereafter.

Note the argument needed is /32bitreq+ or /32bitpref+ .

corflags.exe /32bitreq+ myservice.exe

Related