我正在尝试编写修复/重新安装应用程序的脚本,但微软文档在这个主题上并不是很详细:https://msdn.microsoft.com/en-us/library/aa393044(v=vs.85).aspx
$_.Reinstall(10)
正在使用InstallMode“包”,但是它包括什么和做什么?它似乎不会重新安装快捷方式($_.Reinstall(9)
)。我真的需要多次运行这个方法吗?有人知道在哪里可以找到更详细的Win32_Product
-methods文档吗?
Configure
-method能做什么,我该如何使用它?https://msdn.microsoft.com/en-us/library/aa389278(v=vs.85).aspx
发布于 2016-10-26 01:29:08
正如Jeroen所说,其中大多数(如果不是全部)只是用来调用本机API的填补。所以基本上:
MsiReinstallProduct不是“重新安装”,而是一种修复。只有当产品确实以某种方式损坏(或者您想要检查它)时,您才会调用它。这些参数说明了您想要修复的内容。我不知道为什么它不能修复快捷方式,除了一个显而易见的原因,那就是它们最初不是由原始的MSI安装的。考虑到本机API使用您要修复的所有内容的位掩码,WMI调用对我来说似乎很奇怪,但WMI的重新安装似乎只有一个数字,所以可能您确实需要多次调用它。
Configure是MsiConfigureProduct,我从来没有找到一个很好的用法,除了在您配置产品不存在的地方进行卸载。
Heath Stewart做了大量的工作,将MSI暴露给PowerShell,这可能更有用:
https://github.com/heaths/psmsi
你可以在运行测试时设置日志记录策略,并查看temp文件夹中的msixxx.log文件--可能会有一些关于发生了什么的线索,比如确保你得到了正确的产品,Windows认为它正在修复什么等等。
https://stackoverflow.com/questions/40238123
复制相似问题