简体   繁体   English

使用最新的Install Shield LE定位64位程序文件文件夹

[英]Target 64-bit program files folder with the latest Install Shield LE

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. 以前版本的Install Shield Limited Edition不支持创建64位软件包,但有传言说它现在可以使用(请参阅此处接受的答案评论),从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. 我正在使用VS 2013与最新的Install Shield LE,我仍然无法弄清楚如何让它工作。 My install dir is beneath [ProgramFiles64Folder] . 我的安装目录位于[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. 我还看到他们的文档说我必须在“常规信息”视图中将“模板摘要”属性设置为x64 ,但该属性不存在。 The MSI is still deploying to the "Program Files (x86)" folder. MSI仍在部署到“Program Files(x86)”文件夹。

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? 有谁知道如何使用Install Shield for Visual Studio 2013构建的MSI部署到64位Program Files文件夹中?

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. 虽然我无法弄清楚如何在Install Shield LE客户端中做到这一点(并且无法获得Flexera支持的帮助,因为它是免费产品),但我确实找到了一种方法。

As stated in my question, there is no "Template Summary" property available in the client UI: 如我的问题所述,客户端UI中没有“模板摘要”属性:

在此输入图像描述

However, I discovered that the property does exist in the ".ISL" file. 但是,我发现该属性确实存在于“.ISL”文件中。 Opening that in a text editor and replacing intel with x64 works: 在文本编辑器中打开并用x64替换intel工作:

<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. 注意:为了使更改为“粘贴”,不应在Visual Studio中打开项目,因为随后关闭项目可能会使用旧值覆盖新值。

I stumbled upon this and found a way to send the .exe to the correct x64 folder. 我偶然发现了这一点,并找到了将.exe发送到正确的x64文件夹的方法。 In VS2013 Installshield LE project menu tree, select Specify Application Data -> Files. 在VS2013 Installshield LE项目菜单树中,选择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... 请注意,您的exe和其他内容位于“ ProgramFilesFolder ”下,映射到“Program Files(x86)”右键单击下方窗格中的任何蓝色文件夹,选择“显示预定义文件夹。检查” ProgramFiles64Folder 。“然后拖动输出文件夹进入新创建的64位文件夹。就是这样。你的exe将在“c:\\ program files ...下

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. 最初我的所有项目都构建了平台x86,我尝试了所有设置,但没有什么会成功的。 Setup hangs, with wait cursor, no installation screen appear and nothing in taskbar. 安装程序挂起,等待光标,没有安装屏幕出现,任务栏中没有任何内容。 3-4 exe files of the same setup in TaskManager. TaskManager中相同设置的3-4个exe文件。 I tried to create new setup by installing Microsoft Visual studio Installer projects extension. 我尝试通过安装Microsoft Visual Studio Installer项目扩展来创建新的设置。 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. 此安装问题仅适用于Windows 8 / 8.1 / 10。 64 bit. 64位。

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 :) 但它为我而战:)

I ran into this as well. 我也碰到了这个。 My requirement was to install a windows service as 64-bit. 我的要求是将Windows服务安装为64位。 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 我按照rory.ap的回答中的说明将isl文件中的元素更改为x64; 1033
  2. Under Organize Your Setup -> General Information , changed the INSTALLDIR path to start with [ProgramFiles64Folder] instead of [ProgramFilesFolder] 在“ 组织您的设置 - >常规信息”下 ,将INSTALLDIR路径更改为以[ProgramFiles64Folder]而不是[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. 重要但在上面没有提到:我必须从我的Windows服务项目中删除并重新添加主输出,然后在配置目标系统 - >服务下重新创建服务。 Before doing this, when building the installer, it would throw warning -7143: 在执行此操作之前,在构建安装程序时,它会抛出警告-7143:

-7143 Component %1 installs to a 64-bit folder but is not marked as a 64-bit component. -7143组件%1安装到64位文件夹,但未标记为64位组件。 This may result in an incorrect installation path for this component's files. 这可能导致此组件文件的安装路径不正确。

http://helpnet.flexerasoftware.com/installshield21helplib/helplibrary/IHelpBuildErrors.htm 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. 因此,一旦将其更改为64位,您需要删除并重新添加项目的主输出,以使其实际安装为64位。

I hope this helps someone! 我希望这可以帮助别人!

This works for me. 这适合我。 In General Information > Summary Information Stream > 在一般信息>摘要信息流>
Set --> "x64;1033" 设置 - >“x64; 1033”

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在64位系统上检测程序的32位安装 - Detect 32-bit install of program on a 64-bit system 使用Visual C ++ 2013 Express调试64位程序 - Debugging a 64-bit program with Visual C++ 2013 Express 64位Qt应用程序在XP 64位上崩溃(但在Win7 64位上没有崩溃) - 64-bit Qt application crashes on XP 64-bit (but not on Win7 64-bit) 64位项目中的32位.obj - 32-bit .obj in 64-bit project 为什么我的程序在64位模式下以RELEASE模式在MS Visual Studio 2013中花费的时间是32位模式下所花费的时间的三分之一 - Why the time taken by my program in MS Visual Studio 2013 in RELEASE mode in 64-bit mode is one-third of the time taken in 32-bit mode 使用GHC 64位构建的普通Windows DLL无法链接 - Trivial Windows DLL built with GHC 64-bit does not link 在同一次运行中同时运行 32 位和 64 位测试? - Run both 32-bit and 64-bit tests in the same run? 当我在64位计算机上运行时,为什么我的编译器使用8位字符? - Why does my compiler use an 8-bit char when I'm running on a 64-bit machine? VS2013专业本地64位调试MSVSMON问题 - VS2013 Professional local 64-bit debugging MSVSMON issue 使用VS 2013和.net 4.5.1但仍然获得“不允许对64位应用程序进行更改” - Using VS 2013 and .net 4.5.1 but still getting “Changes to 64-bit applications are not allowed”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM