I have a Windows Service that I'm having this issue with.
- In Visual Studio I've set its Platform Target to 64 bit
- I've run CorFlags to verify that it is set correctly, I get this:
Version : v4.0.30319
CLR Header: 2.5
PE : PE32+
CorFlags : 0x1
ILONLY : 1
32BITREQ : 0
32BITPREF : 0
Signed : 0
I even tried running Corflags with the 32BITREQ-
and 32BITPREF-
flags to make sure it was set to what it's supposed to be but no dice. In the taskManager it shows up as:
MyServiceName (32 bit)
Service was installed with Topshelf 3.0 and is running on Windows Server 2012 R2 Standard. What's going on here?
Maybe your installation tool is using 32 bit
installutil
to install the process? As I understand from this articleusing 32 bit
installutil
results in forcing the executable to run as 32 bit in a 64 bit OS.This part of the article in particular seems to say so: