关于使用通过Installshield 2013(.issuite)项目文件生成的Setup.exe进行静默安装 [英] Regarding silent installation using Setup.exe generated using Installshield 2013 (.issuite) project file

查看:192
本文介绍了关于使用通过Installshield 2013(.issuite)项目文件生成的Setup.exe进行静默安装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用installshield套件项目(.issuite)文件生成的setup.exe文件.对于具有足够特权的管理员或一般用户,我们的一位IT管理员可以使用-

I have a setup.exe file generated using installshield suite project (.issuite) file. For an admin or a general user with sufficient privileges, one of our IT admin is able to do a silent installation using -

setup.exe /silent 

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

However, when tried to push the installs using SCCM (System Center Configuration Manager) or using PSEXEC (both use System account to install), the install fails. The install exist with an exit code 3.

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

I did some research around this and found out that system account needs a setup.iss (answer/response) file to write to / read from. Did not quite understand what it means.

我也尝试使用-

setup.exe /r 

,但是没有生成setup.iss,并且安装失败并显示弹出消息--

but then there is no setup.iss generated and install fails with a popup message as -

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

The setup command line is invalid. The setup cannot proceed.

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

Is it also true that setup.iss file cannot be created if we are using custom dialogs / wizard steps?

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

Please let me know how may I silently install using system account credentials.

推荐答案

简短回答

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

Short Answer

UPDATE: is this your own suite? If so, you may be able to improve your silent running configuration specified in the suite settings to allow each embedded setup to run correctly in silent mode.

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

The switch you are using to install silently is correct, but instead of trying to run the whole suite silently, I would try to:

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

  1. Extract the embedded setups and components from the suite project EXE file to a disk location (details below).

使用部署系统(在您的情况下为SCCM)以您自己的顺序安装必需的组件,同时消除SOE上已经存在的任何不必要的运行时,例如Visual C ++ Runtime等...

Use your deployment system - which in your case is SCCM - to install the required components in your own order whilst eliminating any unnecessary runtimes that are already on your SOE - for example Visual C++ Runtime, etc...

为了从套件setup.exe(或等效的有意义的名称,例如InstallShield2018Premier.exe)中提取组件,请运行以下命令行:

In order to extract the components from a suite setup.exe (or equivalent meaningful name such as InstallShield2018Premier.exe) run this command line:

  • setup.exe /stage_only

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

You have to specify an output location, and the extracted contents from your suite EXE will be put there, and crucially it will also download any components set to be downloaded off the Internet to the staging folder.

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

The feature to download components from the Internet is not compatible with corporate deployment via deployment system such as SCCM - any attempts to access the Internet will fail for an EXE run via SCCM.

此Internet下载问题很可能是您遇到的问题,但是如果没有正确的日志文件,您将无法分辨.您是否通过使用/log开关运行套件来创建适当的日志文件?

This Internet download issue could very well be the problem you experienced, but there is no way to tell without a proper log file. Did you create a proper log file by running the suite with the /log switch?

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

See the full list of available command line switches for suite projects here: Advanced UI and Suite/Advanced UI Setup.exe Command-Line Parameters.

现在提取的嵌入式设置可能有多种类型-每种设置都有自己的无声安装方式,具体取决于所使用的技术.详细信息如下.

The embedded setups - now extracted - could be of various types - each with its own way of installing silently depending on what technology they were made with. Details below.

以下内容变得太久了-我相信以上信息足以完成您的工作,但是如果有帮助,我将在下面保留这些内容.也许以后对其他人有用:

The below became way too long - I believe the above information should suffice to get the job done in your case, but I will leave the content below in case it is helpful. Maybe it will be useful later for others:

仅作记录:setup.exe文件可以有很多不同的东西.这里有一些关于它的观察结果:我如何使用Powershell来运行安装程序?它可以是Installshield设置或套件,高级安装程序或套件,任何供应商"的专有设置文件,自解压档案(可能基于zip) ),WiX Burn捆绑包,Inno设置-或通常由某种部署工具创建的任何其他类型的可执行文件,但它们也可以是完全专有的,并且基本上只是常规的

Just for the record: setup.exe files can be a lot of different things. There are some observations about it here: How can I use powershell to run through an installer? It can be an Installshield setup or suite, an Advanced Installer setup or suite, a proprietary setup file from "any vendor", a self-extracting archive (maybe zip based), a WiX Burn bundle, an Inno setup - or any number of other types of executable usually created by some sort of deployment tool, but they can also be entirely proprietary and essentially just be regular Windows portable executable files.

  • Installshield Suite项目能够按顺序安装多个安装程序-各种类型. MSI文件,旧版安装程序,自定义运行时安装程序等...

  • Installshield Suite Projects are capable of installing several installers - of various types - in sequence. MSI files, legacy installers, custom runtime installers, etc...

Suite被包装在setup.exe文件(或等效的有意义的EXE名称,例如InstallShield2018Premier.exe)中,但它们具有与Installshield的普通setup.exe文件不同的命令行开关集(其中包含一个单个产品进行安装.)

Suites are wrapped in setup.exe files (or an equivalent meaningful EXE name such as InstallShield2018Premier.exe), but they feature a different set of command line switches than normal setup.exe files from Installshield (which contain a single product to install).

除套件项目外,Installshield构建的setup.exe文件还具有许多其他功能. Installshield setup.exe也可以是:

Apart from suite projects, Installshield-built setup.exe files has a number of additional flavors. An Installshield setup.exe can also be:

  • 基于遗留脚本的安装程序(在开发Windows Installer之前创建的非MSI设置)
  • 一个包含 Installscript MSI 的setup.exe(这是MSI安装程序的一种特殊形式,具有Win32对话框GUI-这些设置很容易出错)
  • 包含基本MSI (这是具有标准MSI GUI的正确MSI安装程序)的setup.exe
  • 我可能不知道的其他口味.
  • A legacy script based installer (non-MSI setups created prior to the development of Windows Installer)
  • A setup.exe wrapping an Installscript MSI (which is a special form of MSI installer featuring a Win32 dialog GUI - very error prone these setups)
  • A setup.exe wrapping a Basic MSI (which is a proper MSI installer with standard MSI GUI)
  • Potentially other flavors that I am not aware of.

这些不同的setup.exe样式具有相似的命令行,它们与套件文件的命令行有很大不同(如上所述).我相信不同版本的Installshield的命令行会有一些变化,但是这里是到目前为止最新版本的Installshield的文档-Installshield 2018:

These different setup.exe flavors have similar command lines and they differ quite a bit from the command lines for suite files (explained above). I believe there are some variations for the command line for different versions of Installshield, but here is the documentation for the most recent version of Installshield as of now - which is Installshield 2018: Setup.exe and Update.exe Command-Line Parameters.

因此,现在我们有了Installshield提供的许多不同类型的setup.exe文件.我们有套件项目 setup.exe-实际上是一堆按顺序运行的安装文件-根本不是一个Installscript设置.然后,我们有旧版Installscript setup.exe文件,这些文件不是基于Windows Installer的,而是老式安装程序,使用Installshield制作的文件越来越少见.最后,有两种与Windows安装程序相关的setup.exe文件: Installscript MSI Basic MSI . 现在,如何在静默模式下安装这些不同的setup.exe文件?

So now we have many different types of setup.exe files delivered by Installshield. We have the suite project setup.exe - which is really a bundle of setup files to run in sequence - and not a single Installscript setup at all. Then we have legacy Installscript setup.exe files that are not based on Windows Installer, but are old-school installers that are more and more rare to see made with Installshield. And finally there are two flavors of setup.exe file that are Windows installer related: Installscript MSI and Basic MSI. Now, how can you install these different setup.exe files in silent mode?

Installshield套件

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

A suite setup.exe can be deployed silently using the installation switch you have already tried: setup.exe /silent. But as stated above it may start pulling components down from the Internet. This is unsuitable for corporate deployment. Not at all recommended to try - unless you are a home user or a small office with no deployment solution.

安装脚本(非MSI)

您可以通过使用setup.exe /r记录响应文件来静默运行旧版setup.exe文件,然后使用setup.exe /s静默运行安装. 这里有一些详细的示例.

You can run legacy setup.exe files silently by recording a response file with setup.exe /r and then you run the install silently with setup.exe /s. There are some detailed samples for how to do this here.

安装脚本MSI

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

Installscript MSI setup.exe files are handled the same as legacy Installshield setup.exe files. See the above commands and links.

过去,通过部署系统进行部署时,您需要添加/SMS switch以确保setup.exe不会过早退出.根据 2018 Installshield文档,此开关为no需要更长的时间.

It used to be that you needed to add an /SMS switch when deploying via a deployment system to ensure the setup.exe didn't exit prematurely. According to the 2018 Installshield documentation this switch is no longer needed.

可以从Installscript MSI中提取嵌入式MSI文件,并在不使用setup.exe启动器的情况下进行安装.这涉及更多. 此处有一些详细信息.

It is possible to extract the embedded MSI file from an Installscript MSI and install it without a setup.exe launcher. This is a little more involved. Some details here.

基本MSI

基本MSI setup.exe文件包含能够在没有响应文件的情况下静默运行的MSI文件.通常最好执行这样的setup.exe的管理映像以提取嵌入式MSI并直接部署该MSI,而不是使用setup.exe包装器.

Basic MSI setup.exe files contain MSI files that are capable of running silently without a response file. It is generally better to perform an administrative image of such a setup.exe to extract the embedded MSI and deploy that MSI directly instead of using the setup.exe wrapper.

因此,对于基本MSI setup.exe包装器,您可以通过运行setup.exe上的管理映像来 1)从嵌入式MSI中提取文件-此命令为setup.exe /a(此处是对管理安装),或者您可以 2)通过将setup.exe参数指定为/v来将安装参数传递给嵌入式MSI文件.

So for Basic MSI setup.exe wrappers you can either 1) extract files from the embedded MSI by running and administrative image on our setup.exe - the command for this is setup.exe /a (here is a more general description of administrative installations) , or you can 2) pass installation parameters to the embedded MSI file by specifying the /v parameter to the setup.exe: Setup.exe /s /v"/qn INSTALLDIR=D:\Destination".

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

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

Here is an answer with details on how to extract content from various setup.exe files: Programmatically extract contents of InstallShield setup.exe.

本质上,您将setup.exe /stage_only用于套件可执行文件. setup.exe /a用于基本MSI和Installscript MSI可执行文件. setup.exe /s /extract_all用于旧版Installscript可执行文件.

Essentially you use setup.exe /stage_only for suite executables. And setup.exe /a for Basic MSI and Installscript MSI executables. And setup.exe /s /extract_all for legacy Installscript executables.

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

If you have a setup.exe installer that is just not cooperating, try launching it, wait for its first setup dialog to appear, and then look for extracted files in the temp folder.

这篇关于关于使用通过Installshield 2013(.issuite)项目文件生成的Setup.exe进行静默安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆