关于使用 Installshield 2013 (.issuite) 项目文件生成的 Setup.exe 进行静默安装

2023-12-09

我有一个使用 installshield 套件项目 (.issuite) 文件生成的 setup.exe 文件。对于具有足够权限的管理员或普通用户,我们的 IT 管理员之一可以使用以下命令进行静默安装:

setup.exe /silent 

但是,当尝试使用 SCCM(系统中心配置管理器)或 PSEXEC(均使用系统帐户进行​​安装)推送安装时,安装失败。安装存在,退出代码为 3。

我对此做了一些研究,发现系统帐户需要一个 setup.iss (应答/响应)文件来写入/读取。不太明白什么意思。

我也尝试使用 -

setup.exe /r 

但随后没有生成 setup.iss 并且安装失败并弹出消息:

设置命令行无效。安装程序无法继续。

如果我们使用自定义对话框/向导步骤,是否也无法创建 setup.iss 文件?

请让我知道如何使用系统帐户凭据静默安装。


简答

UPDATE: 这是你自己的套房吗?如果是这样,您也许可以改进套件设置中指定的静默运行配置,以允许每个嵌入式设置在静默模式下正确运行。

您用于静默安装的开关是正确的,但我不会尝试静默运行整个套件,而是尝试:

  1. 将套件项目 EXE 文件中的嵌入式设置和组件提取到磁盘位置(详细信息如下)。

  2. 使用您的部署系统(在您的情况下是 SCCM)按照您自己的顺序安装所需的组件,同时消除 SOE 上已有的任何不必要的运行时 - 例如 Visual C++ 运行时等...

为了从套件 setup.exe(或等效的有意义的名称,例如InstallShield2018Premier.exe)运行此命令行:

  • setup.exe /stage_only

您必须指定一个输出位置,从套件 EXE 中提取的内容将放在那里,并且关键地它还会将所有要从 Internet 下载的组件下载到暂存文件夹。

从 Internet 下载组件的功能与通过 SCCM 等部署系统进行的企业部署不兼容 - 对于通过 SCCM 运行的 EXE,任何访问 Internet 的尝试都将失败。

此 Internet 下载问题很可能是您遇到的问题,但如果没有正确的日志文件,则无法判断。您是否通过运行套件创建了正确的日志文件/log switch?

请在此处查看套件项目的可用命令行开关的完整列表:高级 UI 和 Suite/Advanced UI Setup.exe 命令行参数.

现在提取的嵌入式设置可以有多种类型,每种类型都有自己的静默安装方式,具体取决于它们所采用的技术。详细信息如下。


更多细节

下面的内容变得太长了 - 我相信上述信息应该足以完成您的情况的工作,但我将保留下面的内容,以防它有帮助。也许以后对其他人有用:

什么是setup.exe?

仅供记录:setup.exe文件可以是很多不同的东西。这里有一些关于它的观察:如何使用 powershell 运行安装程序?它可以是 Installshield 安装程序或套件、高级安装程序安装程序或套件、来自“任何供应商”的专有安装文件、自解压存档(可能基于 zip)、WiX Burn 捆绑包、Inno 安装程序 - 或任意数量的其他类型的可执行文件通常由某种部署工具创建,但它们也可以是完全专有的,本质上只是常规的Windows 可移植可执行文件.

Installshield套件EXE文件

  • Installshield Suite Projects 能够按顺序安装多个不同类型的安装程序。 MSI 文件、旧版安装程序、自定义运行时安装程序等...

  • 套房被包裹在setup.exe文件(或等效的有意义的 EXE 名称,例如InstallShield2018Premier.exe),但它们具有与正常情况不同的一组命令行开关setup.exe来自 Installshield 的文件(其中包含要安装的单个产品)。

  • 套件项目可用命令行开关的完整列表可以在此处找到:高级 UI 和 Suite/Advanced UI Setup.exe 命令行参数.
  • 您可以从套件 setup.exe 中提取嵌入式设置,并使用命令行开关在本地缓存套件项目尝试从互联网下载的任何内容:setup.exe /stage_only
  • WiX 工具包和高级安装程序中也有类似的引导程序功能,并且它们创建的结果 setup.exe 文件也可以提取,但那是另一个故事了。

常规 Installshield EXE 文件

除了套件项目之外,Installshield 构建的 setup.exe 文件还有许多其他风格。安装盾setup.exe也可以是:

  • 基于旧脚本的安装程序(在开发 Windows Installer 之前创建的非 MSI 设置)
  • 一个 setup.exe 包装安装脚本 MSI(这是一种特殊形式的 MSI 安装程序,具有 Win32 对话框 GUI - 这些设置非常容易出错)
  • 一个 setup.exe 包装了一个基本MSI(这是一个带有标准 MSI GUI 的正确 MSI 安装程序)
  • 可能还有我不知道的其他口味。

这些不同的 setup.exe 风格具有相似的命令行,并且与套件文件的命令行有很大不同(如上所述)。我相信不同版本的 Installshield 的命令行有一些变化,但这里是迄今为止最新版本的 Installshield 的文档 - 即 Installshield 2018:Setup.exe 和 Update.exe 命令行参数.

Installshield setup.exe 文件的静默安装

现在我们有 Installshield 提供的许多不同类型的 setup.exe 文件。我们有套房项目setup.exe - 实际上是按顺序运行的一组安装文件 - 而不是单个 Installscript 安装程序。然后我们有旧版安装脚本setup.exe 文件不是基于 Windows Installer,而是老式安装程序,越来越少看到使用 Installshield 制作的文件。最后,有两种与 Windows 安装程序相关的 setup.exe 文件:安装脚本 MSI and 基本MSI. 现在,如何以静默模式安装这些不同的 setup.exe 文件?

安装屏蔽套件

可以使用您已经尝试过的安装开关静默部署套件 setup.exe:setup.exe /silent。但如上所述,它可能会开始从互联网上拉取组件。这不适合企业部署。完全不建议尝试 - 除非您是家庭用户或没有部署解决方案的小型办公室。

安装脚本(非 MSI)

您可以运行旧版本setup.exe通过记录响应文件来静默文件setup.exe /r然后你默默地运行安装setup.exe /s. 这里有一些关于如何执行此操作的详细示例.

安装脚本 MSI

Installscript MSI setup.exe 文件的处理方式与旧版 Installshield setup.exe 文件相同。请参阅上面的命令和链接。

过去你需要添加一个/SMS switch通过部署系统进行部署时,以确保 setup.exe 不会过早退出。根据2018 Installshield 文档不再需要此开关。

可以从 Installscript MSI 中提取嵌入的 MSI 文件并在没有 setup.exe 启动程序的情况下安装它。这涉及更多一点。一些细节在这里.

基本MSI

基本 MSI setup.exe 文件包含能够在没有响应文件的情况下静默运行的 MSI 文件。一般情况下表现比较好行政形象这样的 setup.exe 来提取嵌入式 MSI 并直接部署该 MSI,而不是使用 setup.exe 包装器。

因此,对于基本 MSI setup.exe 包装器,您可以1)通过在 setup.exe 上运行管理映像,从嵌入式 MSI 中提取文件 - 命令为setup.exe /a (这是管理设施的更一般的描述),或者你也可以2)通过指定将安装参数传递到嵌入式 MSI 文件/vsetup.exe 的参数:Setup.exe /s /v"/qn INSTALLDIR=D:\Destination".

检查完整Setup.exe 和 Update.exe 命令行参数.

从Setup.exe 中提取文件

以下是有关如何从各种 setup.exe 文件中提取内容的详细信息的答案:以编程方式提取 InstallShield setup.exe 的内容.

本质上你使用setup.exe /stage_only对于套件可执行文件。和setup.exe /a对于基本 MSI 和 Installscript MSI 可执行文件。和setup.exe /s /extract_all对于旧版 Installscript 可执行文件。

如果您的 setup.exe 安装程序不配合,请尝试启动它,等待其第一个安装对话框出现,然后在临时文件夹中查找提取的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于使用 Installshield 2013 (.issuite) 项目文件生成的 Setup.exe 进行静默安装 的相关文章

  • Vista 从设置中安排任务

    我正在使用 Visual Studio 2008 中的安装向导项目部署 C 应用程序 让 Windows 安排我的应用程序定期运行 例如每 8 小时 的最简单方法是什么 我更喜欢在应用程序安装期间进行此调度 以简化最终用户的设置 Thank
  • 从提取的安装文件创建 MSI

    我有一个包含第 3 方安装程序的文件夹 该文件夹包含 setup exe 及其旁边的所有 CAB 文件 以及许多相关文件夹 我希望能够将这个第 3 方安装程序重新打包成可以在我的主应用程序安装程序中用作先决条件 或作为链接的 msi 包 的
  • Msiexec:安装失败时自动回滚到以前的版本

    在静默模式下使用 msiexec 安装 MSI 文件时 是否可以使其自动化 以便在安装失败时回滚到以前的版本 假设安装时已经安装了较旧的应用程序版本 Yes 恢复旧的应用程序版本通过安装失败时的回滚实际上是Windows Installer
  • MSI Build 卸载 - 安装目录未删除

    我为我们的应用程序创建了 MSI 构建包 安装完成后 我们在 Installer 类的已提交事件中的单独进程中触发了另一个依赖的驱动程序软件 如下所示 Process Start 驱动软件路径 我们面临一个问题 安装的目录 它是空的 文件夹
  • 创建安装程序:从注册表项读取安装路径(例如 wix/installshield/nsis)

    我想创建我的程序的安装程序 但由于安装相当复杂 我需要比 installshield 限量版更高级的东西 我必须从当前的安装程序中运行另一个安装程序 用户是否按 取消 或安装该程序并不重要 我只需要运行它即可 我必须在用户计算机上安装一个包
  • MSI 日志调试日志接收器

    我有一个 InstallShield MSI 项目 当我将 MSIHANDLE 从 InstallScript 自定义操作传递到通过 DotNetCoCreateObject 初始化的托管程序集时 我的托管代码中收到的值为 2 有谁知道是否
  • 从 InstallAware 或 InstallShield 调用 dll 函数

    有谁知道我如何从 InstallShield 或 InstallAware 调用 dll 函数 用户指南 http kb flexerasoftware com doc DocumentRepository Installation Ins
  • 如何确定导致 Windows Installer 重复自我修复的原因?

    如何仅记录导致 Installshield 2008 所做的 MSI 文件通过 重新安装 的更改自我修复 自修复的原因是什么 如何使用 Installshield 2008 禁用 MSI 自我修复 自我修复 简单简短的解释 如果我删除文件
  • 如何在InstallShield中单击按钮打开网页?

    HI 我想通过单击 InstallShield 中创建的任何对话框中的按钮来打开网页 我认为它可以通过使用自定义操作来创建 但由于我是这个工具的新手 没有找到实现此目的的确切方法 如果有人对此有想法 请帮忙 Thanks 就像 epotte
  • Installshield - 使用 powershell 检查注册表中的密钥失败

    我有一个带有 powershell CA 的 Installshield 项目 它检查某个注册表项是否存在并根据结果设置属性 手动执行脚本时注册表检查成功但失败 返回false当从Installshield执行时 CA 在 UI 序列期间执
  • 运行 .msi 安装程序后能否确定生成的命令行?

    如果我想要静默安装 是否有任何简单的方法来运行安装程序 选择所需的选项 然后确定等效安装所需的 msiexec 选项 开关 最好没有实际安装任何东西 不要点击 完成 或者您可以通过挖掘 MSI 数据库来找到所需的属性吗 是的 听起来您需要创
  • Visual Studio 部署项目 - 创建已部署可执行文件的快捷方式

    我意识到可能有一种简单的方法可以做到这一点 但是如何为使用 Visual Studio 部署项目构建的 MSI 部署的可执行文件创建桌面快捷方式 我想我需要使用文件系统编辑器 但是当我在用户桌面上创建快捷方式时 我无法定位可执行文件 我只能
  • 如何使用 WIX 打包 VSTO Word 插件以进行部署(到 Office 32 位)?

    我开发了一个VSTO Word add in在 VS 2017 Pro 中 工作正常 准备部署 但是 我找不到包装我的工作程序VSTO Word add in用于我的开发机器以外的机器 对于任何特定的机器 我需要部署一次并使其可供任何可能使
  • Android APK的静默安装

    我正在寻找一种方法来对我的应用程序进行编程以静默安装 APK 文件 我知道可以使用如下代码启动 Intent intent new Intent Intent ACTION VIEW intent setDataAndType Uri fr
  • .net 框架启动的版本与 .net 框架引导程序项目不匹配

    当我构建刚开始使用的 vb net 2010 的发布项目时 我收到两个警告 net Framework 启动条件的版本与所选的 net Framework 引导程序包不匹配 更新 netframewk 启动条件以匹配先决条件对话框中选择的
  • “应用变换时出错。验证指定的变换路径是否有效”的根本原因是什么?

    我有 MSI 安装程序 我正在使用 PowerShell 脚本安装和卸载它 当我卸载它时 我在 Azure 上创建的 Windows 2008 2016 服务器上收到以下错误 应用变换时出错 验证指定的转换路径是否有效 如果我使用非 Azu
  • 如何将参数传递给用 C# 编写的托管代码 dll 的自定义操作?

    我有一个要求 必须将 3 个参数传递给 C 代码 以便在 installshield 中执行托管代码自定义操作 给不了代码啊请有人帮助我 即使是基本的方法 提前致谢 既然您提到了自定义操作 请参阅在程序集自定义操作中指定托管方法的签名 ht
  • Installshield 在次要升级时不更新相关 DLL

    我目前正在使用 InstallShield 部署 NET Winforms 应用程序 我是 InstallShield 的新手 不太喜欢学习过程 Winforms 应用程序具有三个相关的 DLL 这些 DLL 在次要升级期间不会更新 例如
  • 如何使用 Installshield 动态自定义 MSI 文件属性中的产品版本

    我正在使用 Installshield 2019 生成基本的 MSI 文件 我想自定义 Windows 资源管理器文件属性中显示的文件属性 在详细信息选项卡 gt 标题 主题 评论中 遗憾的是 而且奇怪的是 产品版本没有出现在我生成的 MS
  • 如何将 .NET Framework 3.5 和其他先决条件添加到 InstallShield 项目

    我可以在 InstallShield 2009 中创建安装文件 我不知道如何将 NET Framework 3 5 和其他先决条件添加到 InstallShield 项目中 我在 installshield2009 中创建了 install

随机推荐

  • 实现 delaunay 三角剖分的 Bowyer-Watson 算法

    我正在尝试实现以下 Bowyer Watson 算法来实现 Delaunay 三角剖分 function BowyerWatson pointList pointList is a set of coordinates defining t
  • 在 ruby​​ 中使用单引号与双引号相比是否有性能提升?

    您知道在 ruby 中使用双引号代替单引号是否会以任何有意义的方式降低 ruby 1 8 和 1 9 中的性能吗 所以如果我输入 question my question 它比更快吗 question my question 我想象 rub
  • R readHTMLTable 无法加载外部实体[重复]

    这个问题在这里已经有答案了 当我在笔记本电脑上运行该线路时 table500 lt readHTMLTable http en wikipedia org wiki List of S 26P 500 companies 1 它获取数据 当
  • Android:如何处理按钮点击

    在非 Java 和非 Android 领域拥有丰富的经验 我正在学习 Android 我对不同的领域有很多困惑 其中之一是如何处理按钮点击 至少有 4 种方法可以做到这一点 它们被简要列出here 为了保持一致性 我将列出它们 拥有以下成员
  • 有没有人尝试过在 Ubuntu(最好是 Ubuntu 9)上从源代码安装 ruby​​ 和 ruby​​gems?

    Ruby on Rails 网站建议在 Linux 下从源代码安装 Ruby 我在全新安装的 Ubuntu 9 上从源代码构建 ruby 时遇到了许多 C 库问题 我在网上找到的有关在 Ubuntu 上安装 ruby 的所有说明都涉及使用预
  • 如何将日期“缩短”半个月[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 函数 cut 提供了一种按 月 周 季度 剪切日期数据的简单方法 但我想按半个月剪切日期数据 有没有简单的方法可以做到这一点 假设您指的是天文学意义上的半个月 其中第 1 15 天属于
  • 如何将数组存储为 Perl 散列中的值?

    我正在尝试在 Perl 中创建一个散列 其值是数组 就像是 my array split 1 2 my hash a gt array 令人惊讶的是 这个报告 使用 Data Dumper VAR1 a gt 1 2 gt undef 这一
  • Firebase 或 SQLite [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我是 Android 开发新手 目前正在开发一个使用 SQLite 作为数据库的应用程序 问题是 我想与使用该应用程序的其他人共享信息 据我所知 单
  • 如何推迟内联Javascript?

    我有以下 html 代码
  • 停止模式 UIViewController 旋转

    模态UIViewController的父级自动旋转 但是当模态 VC 启动时 我只希望它以纵向显示而不是可旋转 我试过简单地返回 NOshouldAutorotate 在模态VC中 但没有欢乐 支持 iOS 5 非常感谢任何帮助 基本上 如
  • 如何创建类似于 Xcode 属性面板的选项卡式面板

    我正在尝试创建一个类似于 Xcode 属性面板的选项卡式面板 但标准选项卡式面板似乎具有不同的外观和感觉 无法更改它 应使用哪些控件来创建外观相似的选项卡式面板 编辑 我没有使用 NSTabViewController 只是有 TabVie
  • Mongo 用户定义函数和 MapReduce

    mongodb 有没有办法创建用户定义的 Javascript 函数 我在客户端有几个 Map Reduce 函数 我想在其他 MR 函数中使用它们 例如 多个 MR 函数可以计算各种平均值 我希望能够像这样使用它们 function re
  • TypeScript 装饰器和循环依赖

    考虑使用装饰器的相互依赖代码示例 如下 现在考虑以下工作流程 是的 我确实想传递实际导出的类 因为我稍后需要使用它们 应用程序导入并运行Parent ts Test Child 导致应用程序导入Child ts装修时 注 班级Parent代
  • 合并来自 git 存储库外部的更改

    我正在与该国另一边的另一位开发人员合作 他是我们项目的负责人 并且没有使用正式的版本控制系统 就我而言 我正在 git 中跟踪我的所有代码 我最近开始为主项目做出贡献 并且也希望能够跟踪其他开发人员的更新 当我收到他更新的代码时 它通常是
  • 在应用 LIMIT 之前获取结果计数的最佳方法

    当对来自数据库的数据进行分页时 您需要知道将有多少页来呈现页面跳转控件 目前我通过运行查询两次来做到这一点 一次包装在count 确定总结果 第二次应用限制以仅返回当前页面所需的结果 这看起来效率很低 有没有更好的方法来确定之前会返回多少结
  • opencv中的缩放和旋转模板匹配

    I want to use a template image to search target in the another image But the target have scale and rotation change also
  • 使用 jquery 预加载图像数组

    我正在使用 jQuery 从 php 数组构建图像数组 我想循环浏览这些图像 预加载它们 同时显示一些加载 gif 直到加载所有图像 目前 我已经尝试了很多方法来这样做 页面的其余部分似乎总是在继续加载 因此图像正在被预加载 但不是在页面加
  • ApplicationInsights OperationId 为空

    我正在实现自定义 ApplicationInsights 记录器 并且能够在跟踪 异常和请求等写入位置写入所有日志 但跟踪和异常中的 OperationId 为空 昨天我使用相同的代码并在所有表中获取OperationId 之后我玩了多线程
  • Rails 从 JSON 数组中选择

    我有一个从 Foursquare 返回的 JSON 数组 我们就这样称呼它吧 venues 我希望能够通过下拉框 选择 场地 并且我希望它成为表单的一部分 这意味着我希望能够按名称选择特定场地 即本例中为 Hotel Utah Saloon
  • 关于使用 Installshield 2013 (.issuite) 项目文件生成的 Setup.exe 进行静默安装

    我有一个使用 installshield 套件项目 issuite 文件生成的 setup exe 文件 对于具有足够权限的管理员或普通用户 我们的 IT 管理员之一可以使用以下命令进行静默安装 setup exe silent 但是 当尝