PowerShell /silent 或 /quiet 参数是否安装了可以包含在应用程序中的臃肿软件
Does PowerShell /silent or /quiet arguments install bloated software that can be included in an application
为了详细说明这个问题,我正在创建一个自动脚本,它将安装基本的第 3 方和本机软件 (chrome、adobe flash、silverlight 等) 在 windows 10. 我边学边学,想知道您是否 运行 在 .msi 或 .exe 文件上安装 silent/quiet并且它具有在通过图形用户界面安装时默认选中安装的第 3 方软件,是否默认安装它?
例子
如果我想安装 Microsoft Silverlight,GUI 方式会让您在安装软件之前通过检查点。在其中一些检查中,它们将默认 additions/changes 包含到您的本地计算机 (如下所示)。可以看到默认是 Make Bing my search engine & Make MSN my主页。默认情况下,这些检查是通过 PowerShell 静默安装还是静默安装安装的?如果是这样,有没有办法阻止或跳过这些?
查看 PowerShell DSC 或 Chocolatey。两者都有启用静默安装的软件包。
巧克力
https://chocolatey.org/packages/Silverlight
PowerShell DSC
https://www.powershellgallery.com/packages/PSDscResources/2.4.0.0
巧克力是两者中更容易搭配的。
Short Summary: The options seen in the dialog you posted appear to be written by a setup launcher binary and not by the main MSI
that installs the runtime itself. Generally very poor deployment
design, but it is what it is. Below is a description of how to create
a regular MSI administration image to deploy from for corporate
deployment. There are also design errors in the MSI that are attempted
explained.
Silverlight:看过 Silverlight。像往常一样,Microsoft 做了一些不寻常的事情 - 没有遵循他们自己的 "standards"。本质上,有一个启动程序可执行文件可以启动 MSI 安装程序(Windows 安装程序)。启动器可执行文件似乎显示了您在上面的屏幕截图中显示的 GUI,因此也可能将设置写入注册表。不是它应该的方式 - 它应该由 MSI 自己编写并且 MSI 中应该有一个 GUI。
您可以为 Silverlight_x64.exe
创建 MSI 安装映像,如下所示:
- Extract:
Silverlight_x64.exe
使用 7-Zip 或同等软件。
- 我收到一条警告,说在负载结束后还有一些数据。暂时忽略。
- 提取的文件:
install.exe
, install.res.dll
, microsoft_defaults.exe
, silverlight.7z
, silverlight.msi
。
install.exe
和 install.res.dll
- 设置启动器
microsoft_defaults.exe
- 必须是一些设置作者
silverlight.7z
- 包含 MSP 的存档 - Windows 安装程序补丁包
silverlight.msi
- 空 MSI 安装程序
Admin Image:忽略配套的dll和exe文件,可以创建一个真正的Windows 安装程序管理图像如下。首先从 MSI 文件创建一个管理映像,然后用 MSP 文件修补它:
管理员图片:
msiexec.exe /a silverlight.msi TARGETDIR=C:\Silverlight
补丁管理图像:
msiexec.exe /a c:\Silverlight\silverlight.msi /p Silverlight.msp
Transform:您现在可以创建一个转换来更改随 MSI 文件一起安装的内容,如您所见适合,或者您可以尝试按原样安装 MSI。
- 我在安装过程中遇到错误,这表明
microsoft_defaults.exe
文件可能在安装过程中被调用,并且应该放在提取的映像中的 MSI 文件旁边。
- 此处详细描述了如何使用转换自定义 MSI 安装:How to make better use of MSI files
安装:最后您可以使用标准msiexec.exe命令行安装MSI安装程序:
安装命令:
msiexec.exe /i c:\Silverlight\silverlight.msi TRANSFORMS=c:\Silverlight\silverlight.mst /L*v C:\MyLog.log /QN
- 看起来自定义操作
RegisterAuthenticodeSIP
和 RegisterAuthenticodeSIP_64
是 运行 在 InstallFinalize
之后自行注册的。除非整个设置 运行 提升,否则这将失败。 MSI 中存在严重的设计错误。
调试和 UAT:一旦您自行为软件包创建标准 MSI 安装映像 "clunky" 如此,您必须 运行 几轮调试和 UAT 测试以确保它正常工作,但通常如果您有很多机器要安装,您会看到比依赖这些可执行文件更少的失败 -前提是没有严重遗漏。您还可以通过使用重新打包工具(Advanced Installer、Installshield 等)或系统调试工具(ProcMon.exe)监视它们来确定可执行文件写入的内容。
原答案:
我现在不能看这个,但让我给你一些链接。必须将此作为答案而不是评论 - 将对其进行改进:
A setup.exe 可以包装 MSI 或成为与 MSI 无关的旧式安装程序。 MSI 允许对安装和不安装的内容进行详细控制,旧式设置也可以,但标准化程度较低。
- How to make better use of MSI files
- Silent run installer (.exe) with parameters on Windows
- MSI Features and installation
为了详细说明这个问题,我正在创建一个自动脚本,它将安装基本的第 3 方和本机软件 (chrome、adobe flash、silverlight 等) 在 windows 10. 我边学边学,想知道您是否 运行 在 .msi 或 .exe 文件上安装 silent/quiet并且它具有在通过图形用户界面安装时默认选中安装的第 3 方软件,是否默认安装它?
例子
如果我想安装 Microsoft Silverlight,GUI 方式会让您在安装软件之前通过检查点。在其中一些检查中,它们将默认 additions/changes 包含到您的本地计算机 (如下所示)。可以看到默认是 Make Bing my search engine & Make MSN my主页。默认情况下,这些检查是通过 PowerShell 静默安装还是静默安装安装的?如果是这样,有没有办法阻止或跳过这些?
查看 PowerShell DSC 或 Chocolatey。两者都有启用静默安装的软件包。
巧克力 https://chocolatey.org/packages/Silverlight
PowerShell DSC https://www.powershellgallery.com/packages/PSDscResources/2.4.0.0
巧克力是两者中更容易搭配的。
Short Summary: The options seen in the dialog you posted appear to be written by a setup launcher binary and not by the main MSI that installs the runtime itself. Generally very poor deployment design, but it is what it is. Below is a description of how to create a regular MSI administration image to deploy from for corporate deployment. There are also design errors in the MSI that are attempted explained.
Silverlight:看过 Silverlight。像往常一样,Microsoft 做了一些不寻常的事情 - 没有遵循他们自己的 "standards"。本质上,有一个启动程序可执行文件可以启动 MSI 安装程序(Windows 安装程序)。启动器可执行文件似乎显示了您在上面的屏幕截图中显示的 GUI,因此也可能将设置写入注册表。不是它应该的方式 - 它应该由 MSI 自己编写并且 MSI 中应该有一个 GUI。
您可以为 Silverlight_x64.exe
创建 MSI 安装映像,如下所示:
- Extract:
Silverlight_x64.exe
使用 7-Zip 或同等软件。- 我收到一条警告,说在负载结束后还有一些数据。暂时忽略。
- 提取的文件:
install.exe
,install.res.dll
,microsoft_defaults.exe
,silverlight.7z
,silverlight.msi
。install.exe
和install.res.dll
- 设置启动器microsoft_defaults.exe
- 必须是一些设置作者silverlight.7z
- 包含 MSP 的存档 - Windows 安装程序补丁包silverlight.msi
- 空 MSI 安装程序
Admin Image:忽略配套的dll和exe文件,可以创建一个真正的Windows 安装程序管理图像如下。首先从 MSI 文件创建一个管理映像,然后用 MSP 文件修补它:
管理员图片:
msiexec.exe /a silverlight.msi TARGETDIR=C:\Silverlight
补丁管理图像:
msiexec.exe /a c:\Silverlight\silverlight.msi /p Silverlight.msp
Transform:您现在可以创建一个转换来更改随 MSI 文件一起安装的内容,如您所见适合,或者您可以尝试按原样安装 MSI。
- 我在安装过程中遇到错误,这表明
microsoft_defaults.exe
文件可能在安装过程中被调用,并且应该放在提取的映像中的 MSI 文件旁边。 - 此处详细描述了如何使用转换自定义 MSI 安装:How to make better use of MSI files
- 我在安装过程中遇到错误,这表明
安装:最后您可以使用标准msiexec.exe命令行安装MSI安装程序:
安装命令:
msiexec.exe /i c:\Silverlight\silverlight.msi TRANSFORMS=c:\Silverlight\silverlight.mst /L*v C:\MyLog.log /QN
- 看起来自定义操作
RegisterAuthenticodeSIP
和RegisterAuthenticodeSIP_64
是 运行 在InstallFinalize
之后自行注册的。除非整个设置 运行 提升,否则这将失败。 MSI 中存在严重的设计错误。
- 看起来自定义操作
调试和 UAT:一旦您自行为软件包创建标准 MSI 安装映像 "clunky" 如此,您必须 运行 几轮调试和 UAT 测试以确保它正常工作,但通常如果您有很多机器要安装,您会看到比依赖这些可执行文件更少的失败 -前提是没有严重遗漏。您还可以通过使用重新打包工具(Advanced Installer、Installshield 等)或系统调试工具(ProcMon.exe)监视它们来确定可执行文件写入的内容。
原答案:
我现在不能看这个,但让我给你一些链接。必须将此作为答案而不是评论 - 将对其进行改进:
A setup.exe 可以包装 MSI 或成为与 MSI 无关的旧式安装程序。 MSI 允许对安装和不安装的内容进行详细控制,旧式设置也可以,但标准化程度较低。
- How to make better use of MSI files
- Silent run installer (.exe) with parameters on Windows
- MSI Features and installation