Je parviens à désinstaller une application tierce via la ligne de commande et via un programme d'installation Inno Setup personnalisé.La commande de désinstallation échoue uniquement en mode de libération
ligne de commande d'exécution:
MSIEXEC.exe /x {14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn
Inno Setup Commande:
[Run]
Filename: msiexec.exe; Flags: runhidden waituntilterminated;
Parameters: "/x {{14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn";
StatusMsg: "Uninstalling Service...";
Je suis également en mesure de désinstaller l'application lors de l'exécution du programme C# code suivant en mode débogage.
code C#:
string fileName = "MSIEXEC.exe";
string arguments = "/x {14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn";
ProcessStartInfo psi = new ProcessStartInfo(fileName, arguments)
{
CreateNoWindow = true,
UseShellExecute = false,
RedirectStandardOutput = true
};
Process process = Process.Start(psi);
string errorMsg = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Le même code C#, cependant, produit la sortie après l'échec lorsqu'il est exécuté comme compilé, déployé le service Windows:
"This action is only valid for products that are currently installed."
supplémentaires Commentaires:
- Le service Windows qui exécute la commande de désinstallation s'exécute sur la même machine que le code testé en mode débogage. Le service Windows est en cours d'exécution/connecté en tant que compte système local .
- J'ai consulté mes journaux d'application et j'ai validé que les arguments de commande exécutés sont les mêmes en mode de débogage et en mode de libération.
- J'ai consulté l'Observateur d'événements mais il n'offre aucun indice.
Pensées? Toute aide serait grandement appréciée. Merci.
Le programme d'installation de l'application est intégré dans un programme d'installation InnoSetup personnalisé. Le programme d'installation InnoSetup, à son tour, est exécuté manuellement par l'utilisateur connecté. Cela dit, la désinstallation est déclenchée par un service s'exécutant sous le compte Système local. Je vais essayer d'avoir le service installer et désinstaller. Beaucoup de thx. –