Installshield LE for Visual Studio 2012 : x64 support

When Microsoft released Visual Studio 2012 on the 16th of August 2012, I was disappointed to learn that they had removed support for the Setup and Deployment project types.

InstallShield Limited Edition (ISLE) is free for Visual Studio developers and replaces the functionality of the project templates in Visual Studio for setup and deployment.

Ref: http://msdn.microsoft.com/en-us/library/2kt85ked.aspx

Fortunately you can still open an VS2012 solution files with VS2010, and continue to use the Setup and Deployment functionality from there.  However you’ll have problems when the applications/assemblies you want to package are using .NET 4.5 as VS2010 will not support those projects.

This left me in a bit of a pickle as i’d pushed the .NET version to 4.5, which left me the option of using Installshield Limited Edition for Visual Studio.   However the version on the Installshield website was labelled as targeting Visual Studio 11.  Proceeding to download it, and install it revealed it didn’t work with VS2012 at all.  Thankfully last week I stumbled across a blog announcing SP1 to Installshield 2012, and the Installshield LE for Visual Studio has also been updated to support Visual Studio 2012 RTM.

Downloaded, installed and it works!!  Woo hoo.  The Installshield UI has been crammed into the Visual Studio IDE, but it works well.  Instead of disabling options you can’t use, they’ve left them enabled with the a “sales pitch” screen appearing when you click on them (fair enough).

I created the installer for my windows service pretty quickly, built it and noticed that it wanted to deploy to C:program files (x86) and not my usual C:program files directory.  After a little googling, it seems that the Limited Edition is just that, and x64 installations are not supported.

Installshield Feature Comparison 2012 : 64bit Architecture

Workaround?

The usual predefined folder of ProgramFiles64 is not present, and when you try to install to [WindowsVolume]Program files it gets corrected to [WindowsVolume]Program files (x86).  As installscript is disabled in Installshield 2012 LE, i can’t do much else to fool it.  The good news is that because it’s just a file copy that Installshield is doing and my assemblies are set to Any Cpu they still run as x64 processes.

It’s not  just the file copying that’s affected by Installshield 2012 not having “Enhanced 64-bit application support”, registry entries are put into the Wow6432Node part of the registry.  Registry settings being in the wrong location is something that i can handle in my code… (that’s another blog post).

I did look at trying to leverage the Visual Studio ClickOnce deployment to deploy my windows service, but it’s not really doable for the following reason;

ClickOnce does not support custom destination folders. The reason why ClickOnce-deployed applications are installed into the cache is that such cache is maintained by the .NET Framework, which is responsible for executing applications deployed via ClickOnce.
Ref: http://social.msdn.microsoft.com/Forums/en-US/vbide/thread/997a0b71-3af7-49e8-9d8d-2b23655fa4d3

 

So what’s the solution?

If you don’t care about the fact that the files get installed to the x86 program files folder and you can fix any other issues in your app then use Installshield 2012 LE.

If you don’t mind using VS2010 and you are using .NET4 or below then that’ll still work.

Otherwise unless you want to roll your own solution, you’ll have to use a separate installation program such as Installshield 2012 Pro.

5 thoughts on “Installshield LE for Visual Studio 2012 : x64 support”

  1. Thanks for the info. Could not believe that vs 2012 removed support for vdproj setups. Install Shield LE is not an option; no support for x64 setups and is missing other features that my vdproj projects have and use. Opening the solution in vs 2010 works and there does not seem to be a problem using vs 2010 for my setups so it is something to fall back on for packaging the application. For now this works, although using both vs 2010 and vs 2012 for development of the same solution points to where MS dropped the ball in this case.

    1. One more thing that I found out (that may bite you if you don’t do a lot of testing on different platforms) is that visual studio 2012 run-time does not support Windows XP deployment (and possibly neither Windows Server 2003 deployment); only Windows Vista and OSs that were introduced with/after it.

  2. Thanks for a great article. But did you manage to get InstallShield for VS2010 to install into x64 folder? I basically just got 2 single files that I’m creating a setup-application for. The reason is that it is a commercial product so I can’t just ask them to copy the files manually :-/. Thanks!

  3. Also consider WIX as a possible alternative. I’ve used it briefly in the past.

    There are a number of applications that provide a GUI to help you define a WIX installer too.

    As I say I only used it briefly when deploying a Silverlight application, so not 100% sure on it’s feature set but it seemed comprehensive.

Leave a Reply

Your email address will not be published. Required fields are marked *