L'exécution d'un package wix à partir d'un bundle génère "erreur 1316: le compte spécifié existe déjà" lors de la mise à niveau. Comment un installateur Windows peut-il générer ce code d'erreur? J'ai bien peur qu'il n'y ait pas beaucoup de documentation à ce sujet.
Nous avons précédemment publié un produit composé d'un seul paquet msi, et maintenant nous préparons une mise à niveau qui consiste en un ensemble wix contenant une nouvelle version de ce paquet msi. Le code produit et le nom de fichier entre le package msi d'origine et la mise à jour n'ont pas changé.
Edit: Le paquet msi pour l'instant ne prend pas en charge la mise à niveau. Lorsque l'utilisateur doit mettre à niveau (chaque fois qu'il s'agit d'une mise à niveau majeure, d'une mise à niveau mineure ou d'une petite mise à jour), il doit d'abord désinstaller manuellement le package précédent ...
Edit 2: Je viens de supprimer les références à l'extension util pour la compilation et le programme d'installation semble bien fonctionner ... Je dois quand même le tester complètement.
Comme MrFusion, j'ai rencontré ce problème avec la désinstallation/installation d'un autre programme. Malheureusement, le lien dans cette réponse n'est plus valide et redirige vers une page qui répertorie de nombreuses solutions de correction faciles, à l'exception de la seule qui vous aidera. Celui-ci, "Installation et désinstallation du programme", est actuellement disponible sur: https://support.Microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being -installé-ou-supprimé
Cela a résolu le problème pour moi.
J'ai eu son même problème et puisque win10 ne vous permet pas d'exécuter l'outil fixit à partir du Web, j'ai fait le hack suivant pour désinstaller Asus Smart Gesture sur mon ordinateur portable Windows 10.
Vous devez simuler le site MS en pensant que votre PC n'est pas Win10. J'ai installé un complément Chrome qui m'a permis de changer l'agent utilisateur du navigateur chrome pour penser que j'étais IE9 et la version précédente de Windows: Mozilla /5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Cela vous permet de voir le bouton fixit et de télécharger une version portable de l'outil (au cas où vous auriez besoin de l'utiliser sur des clients non en réseau)
J'ai téléchargé et extrait dans ma bibliothèque de téléchargements dans un dossier appelé fixitp.
Si je lance l'exe directement, j'obtiens une mauvaise erreur de script. Ce que j'ai fait pour contourner ce problème, c'est d'accéder au dossier Ressources, puis au dossier Dépannage.
J'ai exécuté le Program_Install_and_Uninstall.diagcab qui s'exécute et m'a permis de désinstaller avec succès le programme Asus SmartGesture.
J'ai ensuite installé une nouvelle version de Smart Gesture d'ASUS sur leur site.
Je soupçonne que toute application installée que vous ne pouvez pas désinstaller peut être résolue par ce même processus - mais ne rencontrez simplement aucune autre application.
Bonne chance.
Un MSI de mise à niveau nécessite que le MSI ait un nouveau ProductCode, une ProductVersion incrémentée (dans les 3 premiers champs) et le même UpgradeCode. Il n'est donc pas clair pour moi que vous obtenez réellement une mise à niveau, selon ce que la partie Burn pense que vous faites. Il ne peut pas effectuer de mise à niveau car vous avez le même ProductCode. (Vous avez besoin d'un élément MajorUpgrade dans votre MSI pour effectuer une mise à niveau appropriée). Il y a donc un doute quant à savoir si vous obtenez une mise à niveau complète réelle. Si votre intention est de remplacer le MSI installé par une mise à niveau complète et un produit de version supérieure, utilisez MajorUpgrade.
Donc, Burn a peut-être décidé de faire une mise à jour sur place en réinstallant le fichier MSI (et cela ressemble plus à un correctif qu'à une mise à jour), et c'est pertinent parce que vous ne dites pas si vous avez des actions personnalisées ou des fonctions d'utilisation WiX (elles sont toujours des actions personnalisées) qui créent un compte utilisateur. Si vous le faites, la raison la plus probable de votre erreur est que Burn a réinstallé votre nouveau MSI en tant que mise à jour en réinstallant le fichier MSI, et qu'une action personnalisée a simplement été exécutée à nouveau, et oui, cet utilisateur est toujours là car il n'y a pas eu de désinstallation réelle qui le supprimerait. Ou la ProductVersion de votre MSI est la même et vous avez obtenu une réparation du mode de maintenance, donc une action personnalisée s'exécuterait à nouveau.
J'obtiendrais un journal détaillé de la mise à niveau pour voir exactement ce qui se passe.
Il y a beaucoup de conjectures ici parce que vous dites que vous voulez une mise à niveau mais que votre MSI n'est pas conçu pour réellement faire une mise à niveau, et vous ne dites pas si vous avez WiX utilise User pour créer un compte utilisateur. Vous ne dites pas non plus si vous avez incrémenté la ProductVersion de votre nouveau MSI, donc encore une fois cela entraîne plus de conjectures sur ce que Burn pourrait faire. Le journal détaillé montrerait s'il s'agit d'un problème d'action personnalisée ou autre, quel type de mise à jour (le cas échéant) vous effectuez.
J'ai eu le même problème lors de la désinstallation d'un autre programme. Ce Fix-It a résolu le problème pour moi: https://support.Microsoft.com/en-us/mats/program_install_and_uninstall/en
Note de mise à jour: il n'est plus nécessaire d'émuler un ancien user-agent sur Windows 10 pour télécharger le fichier fix-it.
Mise à jour 2: Comme Chris Johnson mentionné , Microsoft a arrêté Easy Fix, donc le lien ci-dessus ne fonctionne pas plus.
Je l'ai rencontré récemment. Pour moi, cela a fonctionné pour moi en conservant les noms de l'ancienne version et de la nouvelle version du programme d'installation. Je ne sais pas pourquoi cela fonctionne, mais certaines des meilleures pratiques lors de l'utilisation de msi consistent à conserver le nom des installateurs.
Quelques liens pour soutenir l'affaire -