Search code examples
vb.netsetup-project

TargetPlatform = AnyCPU option not available in vb deployment project


Am using VS2010. The solution has vb and .net projects.

Am trying to build a deployment project for the VB windows service. The deployment project is also in vb.

However, am unable to set the TargetPlatform of the setup project to "AnyCPU". The options available are x86, x64 and Itanium. All the other libraries and the Windows service project is set to "AnyCPU".

Also: There is no provision to edit/Add platforms in this dropdown. Configuration manager already has "AnyCPU" option and thats the selected option.

Properties window of Setup Project


Solution

  • That's because you're now picking something subtly different - where it's going to install.

    TargetPlatform:

    x86
    The package can be installed on any 32-bit platform; when installing to a 64-bit platform, files are installed to 32-bit folders.

    x64
    The package is for machines supporting the AMD64 and EM64T instruction sets; when attempting to install to a 32-bit platform or any other 64-bit platform, an error is raised and installation is halted.

    Or to put it another way - on an x64 system, there are two Program Files folders you can install into - the 64 bit one or the 32 bit one. You have to choose which one you're going to go for.


    (Also, you might want to consider reading up on Wix or some other installer technology. Deployment projects no longer exist in the 2012 product line)