对服务器安装msi; 活动日志清洁,一切成功; 但是bin direstory中的关键文件仍然很老。 后来尝试直接通过RDP双击进入服务器安装它; 安装成功,bin文件被更新。
– >重新启动没有要求,并没有涉及这两种情况。 – >为什么发生这种情况? 我在哪里可以find更多的日志? – >服务器是Windows 2008 R2
造成这种情况的最可能的原因是,您通过WMI 静默运行MSI,并在login到服务器时以交互方式运行(短时间内从未运行安装)。 这是你实际上做了什么? 还有其他原因可能导致同样的问题。 我们需要确认update.cmd文件的内容。
首先处理沉默与交互的问题:每个MSI文件中有不同的安装顺序 ,最重要的两个是:
在静默安装过程中发生的情况是整个UserInterfaceSequence被跳过。 这通常很好,并且应该不会在正确创作的MSI包中导致问题。 但是,有时(或实际上很多时候),安装程序开发人员尚未将安装期间需要运行的所有自定义操作或脚本插入到静默安装顺序中,导致在以静默方式运行时不完整的安装。 尽pipe您报告的症状(文件未更新) 并不是最常见的静默安装问题,但仍然是可能的原因。 其他原因可能包括不正确的命令行,或WMI的干扰,我不知道。 我从来没有使用WMI来安装MSI文件,因为有很多其他的方式来运行MSI文件 。 这里是另一个线程处理msiexec.exe部署的替代scheme (我猜所有这些不同的方式调用C风格的Windows 32 API )。
正确支持无提示安装是MSI的绝对要求 – 它必须能够静默运行,否则根据定义不能正确创作。 但总有办法做错事,还有很多不符合要求的软件包。 对于公司使用 ,静默安装通常是始终使用的MSI的唯一function。 这是MSI文件的主要优点之一 。
在专业的应用程序打包者层面,我们可以find解决这个问题的方法。 通常诉诸大量修改MSI文件,以确保运行的一切运行。 对于服务器安装而言,这通常不值得花费精力,因为交互式地运行安装程序更为简单。 但是,企业现在使用越来越多的瘦客户端,因此拥有更多的专用服务器来运行networking,在这种情况下,静默安装同样重要。 更好的解决scheme是将整个MSI发送回供应商,并让他们修复 。 用供应商的MSI文件检查我的相当常见的devise问题列表。 在MSI被送回之前,您不需要太多这些错误。