问题标签 [installshield-2013]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
241 浏览

setup-project - ISPreventDowngrade 在没有提示的情况下退出

我从该公司的前一位开发人员那里继承了一个项目。我们在该领域遇到了一个小问题,即尝试安装旧版本软件的用户没有得到任何提示;设置立即关闭。我正在努力加快 InstallShield 的速度,但我也不想把头撞到砖墙上。ISPreventDowngrade 设置如下:

有没有办法改变它,以便提示用户询问他们是否要降级,或者至少显示一条有用的消息,说明他们必须卸载当前版本才能安装旧版本?

如果它有帮助,这就是它在日志中似乎失败的地方(代码已编辑,因为我不知道什么可能是敏感的):

0 投票
1 回答
248 浏览

windows-installer - 小升级失败

我正在执行小升级,但它没有将文件更新为我的安装程序功能之一。它在 MSI 日志中给出以下错误。

MSI (c) (88:64) [21:35:44:834]:注:1:2262 2:补丁 3:-2147287038
MSI (c) (88:64) [21:35:44:834]:机器策略值“EnforceUpgradeComponentRules”为 0
MSI (c) (88:64) [21:35:44:834]:SELMGR: ComponentId '{A48DDBD3-3B28-F2FF-DBCE-0462EC330D7E}' 已注册为功能 'Client' ,但不在组件表中。不支持从功能中删除组件!
MSI (c) (88:64) [21:35:44:834]:SELMGR:不支持从功能中删除组件

在制作升级安装程序时,我不会删除任何组件。我还检查了任何组件违规规则,但我没有。我不知道为什么会这样。正因为如此,功能“客户”将进入广告状态。我还检查了我的 MSI 中不存在此组件。

0 投票
1 回答
550 浏览

merge-module - InstallShield 2013 合并模块 - 它们是什么以及它们如何工作?

我们有一个使用 InstallShield 2013 构建的产品,客户端试图在没有 Internet 连接的机器上安装该产品,并且在尝试下载 Microsoft C++ 模块时被绊倒。

在此处输入图像描述

当我打开 InstallShield 并查看 MSI 项目并单击 Application Data-> Redistributables 并搜索 2005 时,我看到下图显示该软件包已选择进行安装,并且它的位置是本地安装的,所以不应该是包含在我们的 MSI 中?如果我右键单击 InstallShield 中的包并选择 Browse for Merge Module 但生成的文件夹是空的(无论如何合并模块 - 那里有 .dll)。

在此处输入图像描述

所以我的问题是我将如何创建一个合并模块(给定一个 .dll),然后如何将它安装到我的 MSI 中,以便客户端不必下载它?

0 投票
2 回答
63 浏览

installshield-2013 - 根据用户在 InstallShield 2013 安装中的选择更改 .config 文件中的值

抱歉 - 我是 InstallShield 的新手。我继承了一个 InstallShield 2013 项目,该项目向用户显示一个对话框,让用户选择一个 SQL Server,并根据他们的选择在配置文件中设置一个值。这不起作用,所以我在 IS 中打开了项目并查看了系统配置下的文本文件更改,那里没有任何东西可以做到这一点。那么我如何确定这种情况发生在哪里(或者在我的情况下没有发生),然后我如何让它发挥作用?我需要在名为 server.config 的文件中设置数据源和初始目录。

那么如何确定用户选择了什么,然后将其保存在这个文件中呢?看起来我可以设置文本文件更改,但是如何访问用户选择的值?我怎样才能弄清楚应该在哪里执行此操作的“代码”?

谢谢,本

0 投票
1 回答
58 浏览

installscript-msi - InstallShield 2013 SQLServerSelectLogin 屏幕未填充

我继承了安装我们产品的 InstallShield 2013 InstallScript MSI 项目,我对 IS 真的很陌生。我已经弄清楚了基础知识,甚至创建了一个新项目,但这让我感到困惑。我们的安装程序之一使用 SQLServerSelectLogin(或者至少我假设它这样做)让用户选择要安装到的 SQL 服务器,而最近它停止填充已安装服务器的列表,我需要找出原因。

自从这开始成为问题以来,我已经回滚了几乎所有所做的更改,并且仍在发生。(我没有回滚的更改非常小,不应该影响安装)。作为新手,我什至不知道在哪里寻找它来调试它。所以我的问题是:

  1. 我在哪里可以找到填充此列表的代码?
  2. 如何调试安装以找出没有发生的事情?
0 投票
1 回答
426 浏览

installshield - 错误 Microsoft Visual C++ 2005 SP1 Redist 的安装似乎失败

当我们进行升级时,我们刚刚开始收到上面的错误消息。但是,如果我导航到 PreReq 文件夹 ( C:\ProductName\ISSetupPrerequisites\{AAEC4BE2-1C6B-45E0-B33D-0D657A05F292}) 并运行 vcredist_x86.exe 并转到另一个 prereq 文件夹 ( C:\ProductName\ISSetupPrerequisites\{8034C99E-3BC0-4E53-BC6E-02E3D8CF5378})(按此顺序),它可以正常工作并安装。我假设其中一个用于 C++ 2005,一个用于 SP1 版本,但我不确定哪个是哪个。

我假设第一个用于第一个版本,第二个用于 SP1,因为如果我以相反的顺序安装它们会失败。有趣的是,两者都没有被选为 Installshield 的 Redistributables 选项卡上的先决条件。所以问题可能是它试图安装它们的顺序。我什至没有在 IS 中的可再发行组件列表中看到 C++ 2005(非 SP1),但由于某种原因,两个 vcredist_x86.exe 文件包含在发行版中,并且当以正确的顺序运行时(在安装之外)它们可以工作美好的。

那么如何更改安装程序中的顺序或让它正常工作呢?在这开始发生之前,我将 .ism 文件中的所有更改都还原了回来,但这并没有帮助。

PS 我也将这个问题发布到 InstallShield 论坛。

0 投票
1 回答
30 浏览

installshield - Installshield 卸载旧版本时遇到问题

我搜索了这个主题并找到了很多帖子,但没有一个可以描述我遇到的确切问题。我们的产品(我从另一个开发人员那里继承的)有一个 InstallScript 方法(见下文),虽然它似乎工作了很长一段时间,但似乎没有从任何地方调用,所以我添加了一个自定义操作来调用它并放置它在用户界面和执行序列中的 ISSetupFilesExtract 步骤之后,当我运行它时,它要么不起作用,要么给我一个错误。所以这是脚本:

其中 /X 是每个先前版本的产品代码,但是就像我说的那样,这不起作用,因此在尝试调试脚本失败后,我尝试了一条不同的路线,创建了主要升级,其中我指定了每个先前版本的升级代码版本如下:为升级方案准备安装程序->升级 Windows Installer 安装程序->删除 3.05 - 3.1.1,但这也不起作用。当我现在安装产品时,它会与旧版本并行安装(我在控制面板->卸载或更改程序中都看到了。

在此处输入图像描述

那么我应该以哪种方式去做,为什么这些都不起作用?

提前致谢!

0 投票
1 回答
35 浏览

installshield - 无法取消选择 InstlallShield 中的可再发行组件(复选框去哪了)?

我有一个 InstallShield 2013 InstallScript MSI 项目,我更改了 Redistributable Tap 上的视图,现在我看不到允许您取消选择 Redistributable 的复选框。不幸的是,我不记得我做了什么来更改视图。我怎样才能回到那个视图,以便我可以更改应该与我们的产品一起重新分发的内容?

在此处输入图像描述