J'ai un problème lorsque la désinstallation de mon application ne supprime pas les fichiers. Je trouve que là quand l'application est dans le journal il de désinstaller imprime:WIX: Le produit n'est pas désinstallé complètement (les fichiers du système ne sont pas supprimés)
... MSI (s) (0C:84) [11:39:07:836]: Disallowing uninstallation of component: {51DB6066-AFCD-5A03-BE34-09E197799057} since another client exists
...
, je découvre en utilisant Wix Toolset a l'API appelée DTF (mentionné dans Wix toolset: complete cleanup after "disallowing uninstallation of component since another client exists") et j'exécutais requête dans LINQPad (C# Déclaration):
(appuyez sur F4 pour namespaces à l'importation et référence additiona)
//using Microsoft.Deployment.WindowsInstaller;
//using System.Linq;
// <ref>"C:\Program Files (x86)\WiX Toolset v3.9\SDK\
Microsoft.Deployment.WindowsInstaller.dll"</ref>
var client = ComponentInstallation.AllComponents
.Where (c => c.ComponentCode == "{72ED6979-0AAD-317C-A25C-AB9A121E6D30}")
.Select(c => c);
client.Dump();
qu'il y i s vieux recods:
Je ne peux pas les supprimer en utilisant "msiexec/x {GUID}" parce que ces produits sont marqués comme "IsInstalled = False".
Alors, comment supprimer ces anciens enregistrements?
J'ai trouvé des fonctionnalités par nom dans le registre et les ai supprimées de: [HKEY_CLASSES_ROOT \ Installer \ Features \ ... Mais le processus de désinstallation ne supprime toujours pas les fichiers et les mêmes informations sont affichées dans le journal. Il reste encore l'élément racine ProductInstallation avec 0 éléments de fonctionnalités. – Drasius