Question

Mon Wix installateur a travaillé l'installation de mon programme, mais elle est cassée pour la désinstallation.Un fichier est supprimé trop tôt, et il est nécessaire de mieux en bas de la ligne.Le programme de désinstallation échoue et revient de ses changements.

Cela signifie que je ne peux pas supprimer le package de ma machine, et ne peut donc pas installer tout tire de mon installateur (un des inconvénients considérables).Comment puis-je forcer la suppression de l'emballage?

Était-ce utile?

La solution

Mise À Jour, Stein Åsmul: l'injection de cette nouvelle liste de nettoyage approches.


  1. Trouvez votre colis dans C:\Windows\Installer, où Windows conserve des copies de installé des packages MSI.Les noms sont générés de façon aléatoire, de sorte que vous aurez à regarder les dates de création des fichiers.

  2. Ouvrir le fichier MSI avec Orca.(Malheureusement il n'est pas simple à télécharger pour le orca programme d'installation.Vous pouvez l'obtenir par l'installation de la "MSI Outils" de la Windows 10 SDK, et puis la recherche de l'orca.msi C:\Program Files (x86)\Windows Kits.)

  3. Supprimer la délinquance action personnalisée à partir de la Table CustomAction

Maintenant, vous devriez être en mesure de désinstaller le paquet.

modifier:selon @darkrock76 la réponse ci-dessous, le dossier de l'étape 1 pourrait également être C:\ProgramData\Package Cache\.J'ai les deux sur mon Windows 7 SP1 machine.Je ne pouvais pas immédiatement trouver de la documentation à ce sujet.


Mise à JOUR:Salut Wim, merci pour le bon d'inscription-gratuit COM info que vous avez fournies plus tôt!!!Un couple de mises à jour sur ce problème de désinstallation:darkrock76s réponse est incorrecte, veuillez voir mon commentaire à lui-dessous.Aussi, au lieu de la suppression de l'action personnalisée dans votre étape 3 ci-dessus, vous pouvez définir sa condition dans la table InstallExecuteSequence à 0 (numérique zéro == false) pour l'empêcher de jamais en cours d'exécution.La suppression de l'action personnalisée d'entrée de la table laisse un peu cassé la clé étrangère références (risque d'échouer à un certain point, je suppose). Microsoft FixIt outil peut également être essayé avant de recourir à ce hack.Il y a certains autres, gratuit MSI outils / éditeurs / téléspectateurs (vers le bas) en plus de l'Orca.Peut-être que l'utilisateur doit également faire un zip de la MSI d'origine avant de le modifier, mais je suppose que c'est implicite.Merci de faire supprimer ce désordre commentaire une fois que vous l'obtenez - je pourrais écrire un résumé rapide de différentes façons pour forcer désinstalle si j'ai le temps (Le FixIt MS Outil, à l'aide des mises à jour mineures, modifier la mise en cache MSI directement, s'appliquent à transformer pour le désinstaller, et tout le reste y est).Rock sur avec de déploiement :-).Votre inscription-gratuit COM réponses m'ont aidé (Stein) un peu dans le passé.Merci beaucoup.

Et j'ai oublié une chose: vous pouvez trouver la cache du fichier MSI à l'aide de Powershell.C'était pour un seul paquet, vous pouvez également obtenir pour tous les paquets (faites défiler vers le bas à la première capture d'écran).

Autres conseils

Cette commande fonctionne habituellement pour moi:

msiexec /fv installer.msi

Il recache un peu l'installateur, vous pouvez donc réessayer avec un corrigé.

Une fois cette commande n'a pas fonctionné et je devais utiliser Microsoft Fixit.Cela a résolu le problème (un choc pour moi).

Selon la raison exacte du comportement que vous avez décrit, vous pourriez avoir au moins un couple d'options.

Si la raison de l'échec est une action personnalisée qui s'exécute sur désinstaller, et cette action personnalisée est conditionné à certaines propriétés, vous pouvez l'influence sur, vous pouvez essayer de passer la valeur désirée via la ligne de commande:

msiexec /x {YOUR-PRODUCTCODE-HERE} RUNMYACTION=false

Dans cet exemple RUNMYACTION est un programme d'installation de Windows biens qui participe à une action personnalisée condition, et si vous passez false comme sa valeur, l'action n'est pas exécutée.

Sinon, vous pouvez corriger la logique (ou tout simplement de désactiver l'action personnalisée explicitement) et de construire le nouveau package MSI.Puis le télécharger à celle de la machine cible, et courir comme ceci:

msiexec /i YourPackage.msi REINSTALL=ALL REINSTALLMODE=vomus

Ici YourPackage.msi est un nouveau paquet corrigé, REINSTALL=ALL indique à l' msiexec pour ré-installer le produit à l'aide de ce nouveau paquet, et REINSTALLMODE=vomus (le v une partie) de ré-cache le package MSI et vous serez en mesure de le retirer de la voie normale par la suite.

Une note de côté:vous devez tester votre installation sur une machine virtuelle afin de ne pas risquer votre réel.

FYI: dans Windows 8.1 Les installateurs ont été déplacés ici: C: \ programdata \ cache de paquet \

J'ai l'habitude de simplement regarder pour <Your Installer's Name>.msi ou <Your Installer's Company Name> dans le registre et de supprimer certains de le désinstaller des clés à partir de certains des Products en vertu du programme d'installation de Windows arbres et tout ce qui d'habitude fonctionne très bien et dandy par la suite, bien que ce SERAIT laisser quelques trucs qui traînent comme la mise en cache des installateurs et, éventuellement, des tonnes d'autres clés de registre pour chaque fichier installé, etc.mais son TOUJOURS a travaillé pour moi lors de l'élaboration des installateurs parce que franchement, qui se soucie si un MSI et mis en cache quelque part?Vous utilisez la machine pour le développement de toute façon, non?

J'ai utilisé ce petit outil également de Microsoft

https://support.microsoft.com/en-us/help/17588/fix-problems-that-block-programs-de-being-installed-or-removed

Fondamentalement, cet outil peut être utilisé pour "problèmes de réparation, y compris des clés de registre corrompues qui vous empêche d'installer ou de supprimer des programmes"

ce qu'il corrige:

  1. clés de registre corrompu sur des systèmes d'exploitation 64 bits

  2. clés de registre corrompu qui contrôlent les données de mise à jour

  3. problèmes qui empêchent de nouveaux programmes d'être installés

  4. problèmes empêchant les programmes existants d'être complètement désinstallé ou mis à jour

  5. problèmes qui vous empêche de désinstaller un programme via Ajouter ou supprimer des programmes (ou des programmes et des fonctionnalités) dans Panneau de configuration

  6. Il peut être utilisé pour:

    • Windows 7
    • Windows 8
    • Windows 8.1
    • Windows 10
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top