4

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?

Community
  • 1
  • 1
rory.ap
  • 34,009
  • 10
  • 83
  • 174
  • 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 Feb 03 '15 at 18:25
  • I've actually gotten it all working with a "hack" that I discovered myself. I'm going to post an answer. – rory.ap Feb 03 '15 at 18:28
  • 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 Feb 03 '15 at 22:47

5 Answers5

10

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.

rory.ap
  • 34,009
  • 10
  • 83
  • 174
  • For the people wondering where the `.isl` file is, it's located in the base folder of your installer project. For example: `My Documents/Visual Studio 2013/Projects/3D-Scanner/3D-Scanner Installer/3D-Scanner Installer.isl`. Thanks roryap I was really breaking my head over this. Can't believe it's such a hassle to change some of these settings. It doesn't help that their website documentation is hopelessly out of date too (references to both `Component` sections and the `Template Summary` are not available on my system (VS2013)). – Bono Aug 21 '15 at 05:09
  • 1
    Thank you! Your solution saved me a lot of time. – Sam Sep 09 '15 at 19:42
  • Thank you! I also first had the ProgramFiles64 folder in the settings hidden and it turns out you have to also set the instllation dir to this folder for the setup to start writing to the 64 bit registry besides the template configuration. Unituitive indeed. – axk Sep 17 '15 at 18:22
2

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...

  • 1
    That does not work. Just test it and you'll see. In fact, I already covered that in my original question: "My install dir is beneath [ProgramFiles64Folder]...The MSI is still deploying to the "Program Files (x86)" folder." – rory.ap Sep 16 '15 at 17:53
0

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 :)

  • 1. 64 bit Windows also have ProgrmaFiles folder. There is no need to make it installDir. 2. All projects included in current setup should be build with build Platform x86. 3. Don't change ISL file. Intel means any intel processor and is not concerned with 32/64 bit OS. – Fadia Jabeen Nov 26 '15 at 10:40
0

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!

exzachtly1
  • 115
  • 1
  • 1
  • 7
-3

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

Mijael
  • 121
  • 1
  • 7