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

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

Install Shield Limited Edition 的先前版本不支持创建 64 位软件包,但有传言称它现在支持(参见 the accepted answer here 下的评论),截至 Visual Studio 2013 .

我正在使用 VS 2013 和最新的 Install Shield LE,但我仍然不知道如何让它工作。我的安装目录在 [ProgramFiles64Folder] 下面。我还看到 their documentation 说我必须在 "General Information" 视图上将 "Template Summary" 属性 设置为 x64,但是 属性 是不在那里。 MSI 仍在部署到 "Program Files (x86)" 文件夹。

有谁知道如何将使用 Install Shield for Visual Studio 2013 构建的 MSI 部署到 64 位 Program Files 文件夹中?

虽然我无法弄清楚如何在 Install Shield LE 客户端中执行此操作(并且无法从 Flexera 支持部门获得帮助,因为它是免费产品),但我确实找到了执行此操作的方法。

如我的问题所述,客户端 UI:

中没有可用的 "Template Summary" 属性

但是,我发现 属性 确实存在于“.ISL”文件中。在文本编辑器中打开它并将 intel 替换为 x64 有效:

<template>x64;1033</template>

注意: 为了获得对 "stick" 的更改,项目不应在 Visual Studio 中打开,因为随后关闭项目可能会覆盖新值与旧值。

这对我有用。 在一般信息 > 摘要信息流 >
设置 --> "x64;1033"

我偶然发现了这一点,并找到了一种将 .exe 发送到正确的 x64 文件夹的方法。在 VS2013 Installshield LE 项目菜单树中,select Specify Application Data -> Files。请注意,您的 exe 和其他内容位于映射到 "Program Files (x86)" 的“ProgramFilesFolder”下,右键单击下方窗格中的任何蓝色文件夹,select "Show Predefined Folders. Check "ProgramFiles64Folder." 然后将输出文件夹拖到新创建的 64 位文件夹中。就是这样。你的 exe 将位于 "c:\program files...

就我而言,它没有成功。最初我所有的项目都有构建平台 x86,我尝试了所有设置但没有任何成功。安装程序挂起,带有等待光标,没有出现安装屏幕,任务栏中也没有任何内容。 TaskManager 中相同设置的 3-4 个 exe 文件。我尝试通过安装 Microsoft Visual studio 安装程序项目扩展来创建新设置。结果相同。

然后我在网上发现,禁用您的防病毒程序进行安装。它成功了。此安装问题仅出现在 windows 8 /8.1/10。 64 位。

我还需要为应用程序 运行 禁用防病毒软件。防病毒软件中可能有一些允许应用程序的设置,我不知道。 但这对我来说很糟糕 :)

我运行也喜欢这个。我的要求是将 windows 服务安装为 64 位。这是对我有用的:

  1. 我按照 rory.ap 的回答中的说明将 isl 文件中的元素更改为 x64;1033
  2. 组织您的设置 -> 一般信息 下,将 INSTALLDIR 路径更改为以 [ProgramFiles64Folder] 而不是 [程序文件文件夹]
  3. 重要 但上面没有提到:我不得不从我的 windows 服务项目中删除并重新添加主要输出,然后在下面重新创建服务配置目标系统 -> 服务。在执行此操作之前,在构建安装程序时,它会抛出警告 -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

因此,一旦将其更改为 64 位,您似乎需要从项目中删除并重新添加主要输出,以使其实际安装为 64 位。

希望对大家有所帮助!