需要通过SCCM 2012推出最新的Lenovo ThinkVantage System Update(v5.06.0034)。我希望此更新取代所有较低版本,因此我需要以静默方式卸载那些以前的版本。
通常,可以通过使用TVSU的UninstallString和/ quiet或/ qn参数来实现:
MsiExec.exe /X{25C64847-B900-48AD-A164-1B4F9B774650} /qn
从技术上讲,这是有效的。 但是,Lenovo安装程序询问用户是否要在卸载后删除程序文件夹,这需要用户input(是或否)。 因此,当静默启动卸载时,安装程序将无限期地挂起,因为用户无法与安装程序进行交互。
有没有办法为这个安装程序提供unattend.xml,或者是否有人知道我可以使用联想的System Update安装程序.exe的特定命令开关?
编辑
正如@kce所build议的(谢谢!),我在卸载过程中打开了msiexec的日志logging级别。 而我找不到任何可能通过msiexec手动传递的属性,下面是安装程序创build“删除文件夹?”对话框的部分,以及用户按下是时调用的函数。 也许它有助于任何人:
MSI (s) (80!84) [10:52:44:046]: Creating MSIHANDLE (77) of type 790531 for thread 3716 InstallShield 10:52:44: Registering Msi Server... MSI (s) (80!84) [10:52:44:046]: Closing MSIHANDLE (77) of type 790531 for thread 3716 MSI (s) (80!84) [11:03:27:239]: Creating MSIHANDLE (78) of type 790531 for thread 3716 InstallShield 10:52:44: Invoking script function DeleteInstallDir
我没有任何进一步的问题,因为我看到安装程序v5.06.0034(最新版本)确实检查旧版本是否安装,并正确卸载旧版本(文件夹结构和registry值已清理)。
啊。 在Windows环境中自动化软件安装的乐趣。 SCCM只能用你发现的可怕的供应商提供的安装程序做这么多事情。
当我试图构build一个应用程序或一个程序包计划时,我的第一站是在戴尔决定购买和重新命名之前,先看看曾经被称为App Deploy的ITNinja 。 不幸的是, 联想ThinkVantage系统更新并不多。
如果你是独立的,你可以尝试几个一般步骤:
/lvx uninstallation.log开关,以便您具有debugging和详细的日志logging信息。 像这样,通过安装程序工作并使用CM32Trace监视日志。 当您到达对话框询问“是”或“否”button的步骤时,请按下所需的button,查看在通过SCCM运行卸载程序时是否可以在日志文件中find可以传回msiexec.exe的PROPERTY。 如果将这个SysInternal的ProcMon配对,你可以了解到安装程序的工作方式和有关内容,有时这些信息足以确定问题的关键。 /verysilent ; 然而,人们的结果似乎并不一致。 也许它也可以用于卸载? 另外我的服务台的工作人员告诉我, / r / sccm是非常有用的。 这个答案不是最理想的,但是因为没有其他的我决定发布它:
使用autohotkey按是。