通常,您可以右键单击一个可执行文件并选择“运行方式”,然后就可以了,但它似乎不适用于 .msi 文件。
作为持续交付管道的一部分,我想在给定的机器上安装 msi。msiexec plus psexec 完美地做到了这一点,但似乎 msiexec 只能登录到一个文件,而我需要它登录到 stdout/stderr。
现在,为了将输出返回到我们的 CI 软件中,我必须添加第二个步骤来回显日志的内容,这似乎有点毫无意义。
有没有人以前遇到过这个问题(并克服了它?)
在此先感谢您的帮助。
标记
我有一台 Windows Server 2008 机器作为我的 DC。今年早些时候,我创建了一个软件安装 GPO 来部署 Adobe Flash Player 插件 MSI。我将策略分配给计算机,大约一半运行 Windows XP x86,另一半运行 Windows 7 x64。这一切都像发条一样。
在创建软件安装策略时,我通过在 Orca 中编辑 MSI 禁用了 Flash Player 插件的自动更新功能。我这样做是因为我希望我的所有机器都运行完全相同版本的插件。
现在,一段时间过去了,较新版本的 Flash Player 插件已经发布。是时候推出插件的更新版本了。我已经有了新的 MSI,但我不知道下一步该做什么。
简而言之,通过组策略推出新版本的正确、最佳实践或首选方式是什么?
我想通过组策略安装一些 MSI 文件。有谁知道如何执行此操作或知道说明如何执行此操作且符合以下标准的文档:
我正在尝试制作安装脚本。我想安装一个.msi文件,Python,然后在安装Python后安装其他东西。我已经看到了如何进行命令行安装。但是,msiexec即使安装仍在运行,也会立即返回。如何从批处理脚本检测 msi 安装的完成?
此页面说要进行静默安装,请传入参数/s /v/qn。它提到了什么/s- 静默安装 - 但没有提到什么/v/qn。
那么它有什么作用呢?为什么是奇怪的格式?(在一个安装程序上我尝试过/v /qn(有空格)但它没有用。虽然在另一个安装程序上我也必须做/S(大写)并且/v/qn似乎没有做任何事情。)
我有一台 Linux 服务器,我在其中配置了只读 NFS 共享。我目前使用的客户端是一台安装了 NFS 功能的 Windows Server 2008 R2 机器。我能够打开和执行除任何 MSI 文件之外的所有文件。出于某种原因,除非我将驱动器映射到驱动器号,否则我无法通过此共享执行 MSI 安装程序(安装程序在本地复制时工作,但如果可能的话,我试图避免这种情况)。当我尝试直接从 UNC 路径执行它时出现以下错误:

什么可能导致这种情况?映射共享使其工作的原因是什么?
编辑 - 以下是使用带有详细日志记录的 msiexec 调用 MSI 时的结果:
=== Verbose logging started: 1/30/2014 10:12:29 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\system32\msiexec.exe ===
MSI (c) (80:F0) [10:12:29:228]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (80:F0) [10:12:29:228]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (80:34) [10:12:29:237]: Resetting cached policy …Run Code Online (Sandbox Code Playgroud) 我一直在使用特定的 .msi ( AppleApplicationSupport.msi)。我已经安装了两种不同的方式,我认为这两种方式是等效的。然而,结果不同如下。
使用psexec -i -s cmd命令提示符安装并运行msiexec /i AppleApplicationSupport.msi会产生我想要的结果:
创建 MSI 部署类型并使用 SCCM 客户端安装它会产生以下结果:
gwmi -Class Win32_Product,但是,运行$app.Uninstall()不会卸载它。我认为,安装了一个系统的MSI部署类型等同于运行msiexec从一个psexec -i -s cmd命令行。显然,它们并不相同。
SCCM 客户端在为系统安装 MSI 技术部署类型时究竟在做什么?我可以在没有 SCCM 参与的情况下复制该操作吗?
SCCM 客户端执行脚本安装程序部署类型的安装程序真的等同于调用msiexecfrompsexec -i -s cmd吗?换句话说,对于脚本安装程序部署类型,我应该期待msiexecSCCM 客户端msiexec运行和从 运行之间的奇偶校验 …
我特别希望在一台机器上安装两次 msi。双重安装的目的是首先安装在 pre-production 文件夹下,在部署到生产文件夹之前在安全的环境中运行部署。
我们通常使用不同的机器来表示这些不同的环境,但在这种情况下,我需要使用同一个盒子。
我得到的两个场景如下:
第一种情况还不错,因为我们可以在生产文件夹下明智地卸载和重新安装,但第二种情况很痛苦,因为我们不想卸载实时生产部署。
我可以给 msiexec 一个设置来允许这样做吗?
我可以使用更合适的不同方法吗?
msi ×10
windows ×4
installation ×3
group-policy ×2
automation ×1
deployment ×1
logging ×1
nfs ×1
runas ×1
sccm ×1
sccm-2012-r2 ×1
scripting ×1
stderr ×1
stdout ×1
update ×1