安装和卸载Windows Installer 程序包或 MSI 文件时,安装进度似乎比使用其他安装程序包要慢得多。
为什么会这样,我可以做些什么来加快速度?
推出新软件包后,我发现机器上的 CPU 使用率很高。一个看起来非常活跃的进程是 msiexec,它真的不应该运行。我在进程资源管理器中观看它,时不时我可以看到它启动新进程,我可以看出与新软件有关……但进程很快结束。
有什么方法可以了解有关 Windows Installer 当前正在做什么的一些细节?
作为持续交付管道的一部分,我想在给定的机器上安装 msi。msiexec plus psexec 完美地做到了这一点,但似乎 msiexec 只能登录到一个文件,而我需要它登录到 stdout/stderr。
现在,为了将输出返回到我们的 CI 软件中,我必须添加第二个步骤来回显日志的内容,这似乎有点毫无意义。
有没有人以前遇到过这个问题(并克服了它?)
在此先感谢您的帮助。
标记
我特别希望在一台机器上安装两次 msi。双重安装的目的是首先安装在 pre-production 文件夹下,在部署到生产文件夹之前在安全的环境中运行部署。
我们通常使用不同的机器来表示这些不同的环境,但在这种情况下,我需要使用同一个盒子。
我得到的两个场景如下:
第一种情况还不错,因为我们可以在生产文件夹下明智地卸载和重新安装,但第二种情况很痛苦,因为我们不想卸载实时生产部署。
我可以给 msiexec 一个设置来允许这样做吗?
我可以使用更合适的不同方法吗?
MSI 缓存文件夹( C:\Windows\Installer)的大小大幅增加,现在占用了我(域)计算机上的太多磁盘空间。这个文件夹可以消除或缩小吗?
同样的问题适用于:
C:\WINDOWS\WinSxS( %SystemRoot%\WinSxS)C:\System32\DriverStore( %SystemRoot%\System32\DriverStore)installation windows-installer disk-space-utilization msi uninstall
我正在使用 powershell 脚本自动无人值守地检索和安装指定的 .msi 包,但如果调用命令时出现语法错误,尽管存在 /quiet 和/或 /passive,msiexec 将无限期地等待对其帮助显示的确定单击.
目前我正在调用它:
(start-process -FilePath "msiexec" -ArgumentList "/i <path_to_package> /quiet /passive" -PassThru -Wait).ExitCode
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用 msiexec 帮助显示?
创建 MSI 包以通过网络部署注册表项而不是使用 GPO 的最佳方法是什么。
msi ×7
installation ×2
uninstall ×2
windows ×2
deployment ×1
logging ×1
powershell ×1
stderr ×1
stdout ×1