Desidero disinstallare un software utilizzando il mio codice, ho già provato l'approccio wmic per eseguire la disinstallazione ma non riesco a trovare il mio software nel sistema. E 'possibile disinstallare senza l'utilizzo di file MSI o qualsiasi configurazione file.I trovato questo codice, ma non funziona ---Disinstallare un software utilizzando C#
public string GetUninstallCommandFor(string productDisplayName)
{
RegistryKey localMachine = Registry.LocalMachine;
string productsRoot = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products";
RegistryKey products = localMachine.OpenSubKey(productsRoot);
string[] productFolders = products.GetSubKeyNames();
foreach (string p in productFolders)
{
RegistryKey installProperties = products.OpenSubKey(p + @"\InstallProperties");
if (installProperties != null)
{
string displayName = (string)installProperties.GetValue("DisplayName");
if ((displayName != null) && (displayName.Contains(productDisplayName)))
{
string uninstallCommand = (string)installProperties.GetValue("UninstallString");
return uninstallCommand;
}
}
}
return "";
}
"ma non funziona" è un'affermazione di problema inutile. – Blorgbeard
quindi mi puoi suggerire un modo per farlo .... –
Questo sembra un duplicato di http://stackoverflow.com/questions/334490/uninstall-without-msi-file. L'unico modo affidabile è utilizzare: "msiexec.exe/x {your-product-code-code}" –