我正在嘗試編寫一個迷你w32可執行文件來遠程卸載使用WMI的應用程序。使用WMI遠程卸載應用程序
我可以列出以下使用此代碼已安裝的所有應用程序,但我不能找到一種方法來卸載遠程通WMI的應用程序和C#
我知道我可以使用MSIEXEC作爲一個過程做相同的,但我想解決這種使用WMI如果可能的...
感謝, 傑姆
static void RemoteUninstall(string appname)
{
ConnectionOptions options = new ConnectionOptions();
options.Username = "administrator";
options.Password = "xxx";
ManagementScope scope = new ManagementScope("\\\\192.168.10.111\\root\\cimv2", options);
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Product");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection)
{
// Display the remote computer information
Console.WriteLine("Name : {0}", m["Name"]);
if (m["Name"] == appname)
{
Console.WriteLine(appname + " found and will be uninstalled... but how");
//need to uninstall this app...
}
}
}
Win32_Product類有一個卸載方法,並且很少有C++和PowerShell例子淨徘徊,但是我無法找到一個單一的使用c#中的win32_product類的示例和文檔。 – Nooneelse 2010-08-26 17:08:24
順便說一下,關於使用WMI卸載遠程應用程序,至少還有兩個其他問題(使用示例代碼):http://stackoverflow.com/questions/2390268/using-wmi-to-uninstall-programs和http:/ /stackoverflow.com/questions/327650/wmi-invalid-class-error-trying-to-uninstall-a-software-on-remote-pc – Helen 2010-08-26 20:47:45
對不起,你的時間,我想我有點疲憊和分心,同時搜索尋求答案。無論如何,感謝您的幫助。 – Nooneelse 2010-08-27 16:27:31