4
votes

Previous versions of Install Shield Limited Edition have not supported the creation of 64-bit packages, but rumor has it that it now does (see comments under the accepted answer here), as of Visual Studio 2013.

I'm using VS 2013 with the latest Install Shield LE, and I still can't figure out how to get it to work. My install dir is beneath [ProgramFiles64Folder]. I've also seen their documentation which says I have to set the "Template Summary" property to x64 on the "General Information" view, but that property is not there. The MSI is still deploying to the "Program Files (x86)" folder.

Does anyone know how to get an MSI built with Install Shield for Visual Studio 2013 to deploy into the 64-bit Program Files folder?

5
I think the actual question is more likely to be how to build an x64 MSI with LE. There should be something in the IDE if it's really supported, If there's no clear way, open the MSI with Orca, choose View->Summary information and try changing the Platform to x64. At the risk of stating the obvious, Windows won't let a 32-bit component create files in the 64-bit Program Files folder - it redirects it. - PhilDW
I've actually gotten it all working with a "hack" that I discovered myself. I'm going to post an answer. - rory.ap
I haven't had a chance to verify this, but the way I remember it, once a resource (registry key or file) was added in a 64-bit location, the Express and LE editions would automatically build a 64-bit package instead of a 32-bit one. The template summary setting in the project shouldn't matter. - Michael Urman

5 Answers

10
votes

Although I was not able to figure out how to do it in the Install Shield LE client (and couldn't get help from Flexera support because it's a free product), I did figure out a way to do this.

As stated in my question, there is no "Template Summary" property available in the client UI:

enter image description here

However, I discovered that the property does exist in the ".ISL" file. Opening that in a text editor and replacing intel with x64 works:

<template>x64;1033</template>

NOTE: in order to get the change to "stick", the project should not be open in Visual Studio because subsequently closing the project may overwrite the new value with the old value.

2
votes

I stumbled upon this and found a way to send the .exe to the correct x64 folder. In VS2013 Installshield LE project menu tree, select Specify Application Data -> Files. Notice that your exe and other stuff is under the "ProgramFilesFolder" which maps to "Program Files (x86)" Right click any of the blue folders in the lower pane, select "Show Predefined Folders. Check "ProgramFiles64Folder." Then drag output folder into the newly created 64-bit folder. That's it. Your exe will go under "c:\program files...

0
votes

In my case it didn't work out. initially all my projects had build platform x86, , I tried all settings but nothing was going to be successfull. Setup hangs, with wait cursor, no installation screen appear and nothing in taskbar. 3-4 exe files of the same setup in TaskManager. I tried to create new setup by installing Microsoft Visual studio Installer projects extension. SAME result.

Then I found on web, Disable your antivirus programs for installation. It worked out. This installation problem was only on windows 8 /8.1/10. 64 bit.

I needed to disable antivirus for application run as well. There could be some settings in antivirus for allowing app, i don't know. but it wokred out for me :)

0
votes

I ran into this as well. My requirement was to install a windows service as 64-bit. Here is what worked for me:

  1. I followed the instructions in rory.ap's answer to change the element in the isl file to x64;1033
  2. Under Organize Your Setup -> General Information, changed the INSTALLDIR path to start with [ProgramFiles64Folder] instead of [ProgramFilesFolder]
  3. Important but not mentioned anywhere above: I had to remove and re-add the primary output from my windows service project, and then also recreate the service under Configure the Target System -> Services. Before doing this, when building the installer, it would throw warning -7143:

-7143 Component %1 installs to a 64-bit folder but is not marked as a 64-bit component. This may result in an incorrect installation path for this component’s files.

http://helpnet.flexerasoftware.com/installshield21helplib/helplibrary/IHelpBuildErrors.htm

So it seems once you change it to 64-bit, you need to remove and re-add the primary output from your project to get it to actually install as 64-bit.

I hope this helps someone!

-3
votes

This works for me. In General Information > Summary Information Stream >
Set --> "x64;1033"