![](/img/trans.png)
[英]How to run powershell script using task scheduler in silent/hidden mode?
[英]How to run an installation in /silent mode with adjusted settings
我的目标:我想创建一个 CMD 命令,它将安装一个具有调整安装设置的程序。
如果我在没有任何参数的情况下执行我的.exe
安装文件,我必须在安装过程中单击自己,但我可以更改安装设置,例如安装程序将在哪个文件夹中安装程序或更改复选框的状态。
但是,我想在 /silent 模式下运行安装,在这种模式下我不知道如何更改安装设置。
所以问题是:
反正有没有给shell一个正确的安装设置,然后在静默模式下执行文件?
我需要这个,因为我必须在多台计算机上运行安装,所以如果我有一个使用正确设置运行安装的脚本会非常舒服。
有人请指导。
社区:我稍后会详细说明,但首先让我们做最简单的方法。 您可以尝试在专门提供设置信息以及如何静默部署各种第三方软件的站点上搜索您的软件: https : //www.itninja.com/software
类似的,更简洁的答案: Windows 上带有参数的静默运行安装程序 (.exe)
1) 标准打包格式:如果setup.exe
打包了一个标准的打包格式,比如MSI
文件,那么你通常需要找到一种方法来提取里面的包并使用涉及命令行和 MSI 转换的standardized customization mechanisms
来定制它的静默安装.
2) 专有打包格式:如果setup.exe
是专有格式,您需要使用工具将其repackage
为标准格式 (MSI),或者您需要以silent mode
运行安装程序。 后者可能不可靠,但通常用于小规模分发。
外观和感觉:通过查看运行时的对话框,经验可以告诉您使用什么工具来制作 setup.exe。 有时您会看到公司名称或工具名称嵌入其中。
所以总结一下:
让我们简要描述这些不同的任务:
有很多工具可以创建setup.exe
文件,不可能涵盖所有这些。 它们可能具有各种不同的命令行开关。 setup.exe
甚至可以是完全专有的,这意味着根本没有使用部署工具来制作它。 例如,它可能是使用 Visual Studio 编译的。
可以使用的工具的描述(non-MSI
、 MSI
、 admin-tools
、 multi-platform
等...)。
Inno Setup
等常用工具似乎使提取变得困难(非官方解包器,我没有尝试过,由virustotal运行)。 而NSIS
似乎使用标准存档软件(如 7-Zip)可以打开的常规存档。
我尝试使用以下命令行来查看是否可以进行文件提取:
setup.exe /a
(Installshield MSI)setup.exe /stage_only
(Installshield Suite)setup.exe /x
(Wise, Advanced Installer)setup.exe /extract_all
(Installshield Installscript)dark.exe -x outputfolder Setup.exe
(WiX Burn Bundles -需要安装 WiX 工具包)此外,还存在一些通用技巧:
setup.exe /?
或setup.exe /help
或类似的。关于此主题的庞大答案: 从 EXE 中提取 MSI 。
如果您设法提取(或文件格式可作为存档查看),您可以查找带有进一步部署信息的PDF 、 HTML 、 TXT或CHM文件。 示例: ReadMe.txt
、 LSD.pdf
、 Large Scale Deployment.pdf
、 User Guide.chm
、 Manual.chm
等...
因此,如果提取有效并且您提取了MSI
文件,那么您可以使用标准化机制详细自定义其安装。 请一定要认准上面提到的部署信息的文件- PDFs
, CHMs
, TXTs
, etc...
他们可以拥有示例命令行让你或多或少直接使用。
至关重要的是,您可以提取也需要部署的运行时和先决条件( .NET framework
、 Crystal Reports
、 Visual C++ Runtime
etc...
)。 这些都是在企业网络上管理和控制的,不会与您的软件包一起部署,而是通过它们的标准化软件包进行部署。
标准化的定制机制非常适合企业部署,但需要一些 MSI 知识:
如何更好地利用 MSI 文件- MSI 安装定制的全面描述:带有一些示例命令行和过程描述。
在这里你可以看到一些 setup.exe 文件可以通过使用/v
参数传入命令行直接在静默模式下安装。 这些是 Installshield MSI 设置。
您还可以查看如何在命令行中设置 MSI 中的功能。
几个具体示例(从上面的链接中提取):
命令行自定义
msiexec.exe /i myinstaller.msi ADDLOCAL="Program,Dictionaries" SERIALKEY="1234-1234" /qn
ADDLOCAL
指定要安装MSI
哪些功能(请参阅此处的功能示例屏幕截图)。 SERIALKEY
等大写值是可以在命令行上设置的 PUBLIC 属性。 这些因设置而异。 从供应商处查找文档,检查属性表并检查设置对话框。
转变
msiexec.exe /i myinstaller.msi TRANSFORMS="mytransform.mst" /qn
转换方法在安装时应用的小文件中设置所有需要的值。 它被称为变换。 它是一个小的数据库片段,在运行时与原始 MSI 数据库合并。
从旧式的旧 setup.exe 安装程序创建 MSI 包的一种方法是使用应用程序重新打包工具“捕获”对系统所做的更改,该工具在 setup.exe 运行时监视对系统所做的更改.
这项任务可能看起来很容易,但事实并非如此。 事实上,清理生成的捕获非常困难,因此您不会创建“松散的大炮”MSI 文件,这些文件会导致整个组织的桌面出现问题。 公司有专门的团队来完成这项工作,并且可以产生出色的 MSI 文件,在静默安装时不会导致任何问题。
在我看来,这项任务不适合因果用户。 它需要对技术、专业知识和时间进行投资。 除了可用的工具是昂贵的。
大多数 setup.exe 文件至少会尝试静默安装,但不能保证。 setup.exe 完全有可能无法静默安装。 我已经看过很多次了。 在这些情况下,重新打包是必要的,但即使重新打包有时也会失败。 现在是时候回击供应商并要求他们掌握部署。 在企业界,软件应该首先被踢出应用程序资产 - 如果事情按预期进行。
这是一个处理各种 setup.exe 文件静默安装整体问题的旧站点: http : //unattended.sourceforge.net/installers.php 。
这是关于静默卸载的一篇文章,它也描述了一般的静默运行: 在我的电脑上静默卸载和安装应用程序
查找此类开关的一般方法是转到setup.exe /?
像你一样。 通常,您可以通过尝试以下操作来获得静默安装的设置:
PDF
、 HTML
、 TXT
或CHM
文件。 示例: ReadMe.txt
、 LSD.pdf
、 Large Scale Deployment.pdf
、 User Guide.chm
、 Manual.chm
等...setup.exe /S
、 setup.exe /Q
、 setup.exe /quiet
、 setup.exe /VERYSILENT /NORESTART
或类似的。旧式 Installshield 设置需要记录响应文件,然后使用记录的对话响应在所有系统上进行安装。
Setup.exe /s /f1”c:\\temp\\my-answer-file.iss” /f2”c:\\temp\\my-log-file.iss”
旧的 Wise 设置: https : //www.itninja.com/blog/view/wise-setup-exe-switches
一些链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.