I have several Windows Service projects in one solution in Visual Studio 2010, they are all C# and all have their Platform Target set as AnyCPU.
None of them have any references or dependancies to 32bit libraries.
I have a mixed platform installer project created with Caphyon’s Advanced Installer. When I run this installer on a Windows 7 x64 PC, all the installed services run as 64bit processes except 1 ?????
I have double and triple checked the project build properties tab in Visual Studio for debug and release configuration, I have trawled through the set-up project and I can’t find anything that should cause this one service to run in the WOW64 as a 32bit process.
If I manually build, and install the service using InstalUtil it runs as a 64bit process. So it would seem that the installer is the problem, but it doesn’t have a problem with the other services and I can find nothing that distinguishes this 1 service from the others.
Can anyone think of anything I must have missed?
I checked the similar questions here already and none of them appear to relate to my issue.
Doh!
Open the property pages for the solution. (Right click solution in solution explorer, click properties)
Select configuration properties in the left pane.
Find your project in the list and check the selections are correct for each configuration (debug/release)
In my case the Build checkbox was unchecked! so Cruise Control wasn’t even building the project! it was publishing an old x86 build.
Also it appears Advanced Installer’s synchronisation of files is flaky, I had to manually open the installer project and refresh the folder containing the service files and re-build it before this would all work.