0

I wrote application which should work on 32 and 64 bits architectures. I set the targets to AnyCPU and tested it on 2 PC (x86 with XP, 64 with Win7). The application itselfs work fine (the library indeed). When I'm making the installer for the library to provide COM objects in system it installs the library only in CLSID\Wow6432Node\ node (what means that on 64 bits OS 32 bits application will be redirected here) but not to CLSID\ where 64bits libraries for 64bits OS should be installed.

In the installer all needed targets/platforms are also set to AnyCPU.

Why the installer do not create registration for 64 bits libraries?

h__
  • 761
  • 3
  • 12
  • 41
  • Surely it is because you created a 32-bit installer. Which of course registers COM servers in the 32-bit registry keys under Wow6432Node. Set the installer's TargetPlatform property to x64 or write the registry keys yourself. – Hans Passant Nov 06 '14 at 12:07
  • OK. I found that this TargetPlatform is hiden in VS2010. I eddited project manualy. http://stackoverflow.com/questions/6956601/unable-to-compile-vdproj-with-devenv-targeting-x64-is-not-compatible-with-t – h__ Nov 06 '14 at 12:50
  • AnyCpu is mostly irrelevant in setups. If you target two different architectures you need two separate setups: http://blogs.msdn.com/b/heaths/archive/2008/01/15/different-packages-are-required-for-different-processor-architectures.aspx – PhilDW Nov 06 '14 at 18:31

0 Answers0