我在 stackoverflow 上问了这个问题,但被引导到这里。
我有一台服务器,我将在其中存储我想要安装到客户端电脑上的程序的安装程序。
客户端电脑将通过脚本(批处理或其他任何脚本)下载尚未安装的程序,然后以静默/无人值守的方式安装它们。
这就是问题所在。当许多安装程序不提供命令行参数时,我该如何进行无人值守安装?
有什么建议么?
答案1
大多数 Windows 安装程序都是使用以下打包程序创建的:做有未记录的命令行开关;你只需要反复试验它们。我通常使用这一页获取常用开关列表。
例如,您有一个“Example”程序的安装程序,该安装程序是“Example_install.exe”。供应商不提供任何命令行开关,甚至在您要求时给您一个奇怪的眼神。;)
将“example_install.exe”下载到测试机器上的 C:\temp 文件夹并在那里打开管理命令行。
输入如下内容:
example_install.exe /a
example_install.exe /q
example_install.exe /s /v"/qb"
example_install.exe /s /a /s /v"/qb"
example_install.exe /sp- /silent /norestart
example_install.exe /s /a /s /sms
example_install.exe /verysilent /norestart
如果其中一个开关“捕获”并启动静默安装,则可以使用它来创建启动脚本。(如果您通过 AD 部署它,则可以事先检查它是否已安装,以防止每次机器启动时都安装它 - 即使是简单的也test-path
可以做到这一点。)
快捷方式:某些安装程序(尤其是 Java)还会在 appdata 或某个等效的临时位置提取一堆 msi 文件。如果是这样,请抓住这些文件并使用它们,而不是将随机开关扔到墙上并查看是否有东西卡住。
这并不总是有效,但它比你想象的更有效。祝你好运!
答案2
答案3
为了补充凯瑟琳的回答......
一些可执行安装程序只是 Microsoft 安装程序文件 (MSI) 的包装器。
过去,当我使用 7-zip 提取可执行文件的内容以找到 MSI 时,我感到非常惊喜。大多数情况下,这足以安装应用程序。
iTunes 就是一个例子,虽然它更复杂,所以有一个如何我相信还有类似的例子。