这里的想法是静默卸载程序。不幸的是,该程序的 msi 是自定义的,并且在卸载过程中会执行一个批处理文件。我想要做的是防止在 powershell 卸载脚本期间显示此窗口。我正在使用 wmi 卸载方法,因为程序使用的 msi 不会完全响应或卸载标志(/q、/x、/uninstall)。我试图将它作为后台作业运行,但窗口仍然出现。该脚本如下所示:
start-job -scriptblock `
{(Get-WmiObject -class Win32_Product |? {$_Name -eq "Annoying1"}).uninstall()} `
-Name Uninstall1
$job = get-job -name Uninstall1
wait-job $job
receive-job $job
这将在很大程度上隐藏运行,直到卸载作业到达执行批处理文件的位置,此时将出现并运行一个 cmd 窗口。关于如何在不显示额外窗口的情况下运行此脚本的任何想法?
该脚本也运行-windowstyle hidden
。