2008-10-13 6 views
6

Je crée un projet d'installation de Visual Studio. Je veux désinstaller un autre composant du système à partir de l'installation de mon composant. L'autre composant est installé à partir de ma propre installation créée à l'aide de Visual Studio.Projet VS d'installation: désinstaller l'autre composant sur l'installation

Actuellement, lorsque j'appelle la désinstallation de l'autre composant de l'action d'installation du composant, j'obtiens le code d'erreur: 1618 (another MSI already running).

Quelqu'un pourrait-il me suggérer une autre façon de résoudre ce problème?

+5

Si vous avez besoin d'une réponse, je dépense une prime ...? –

Répondre

1

Si vous n'avez pas besoin d'exécuter la désinstallation de l'autre composant, vous pouvez utiliser une action personnalisée pour supprimer les fichiers/dossiers que vous souhaitez remplacer. L'utilisation d'une action personnalisée vous forcera à effectuer toutes les actions de nettoyage que le programme de désinstallation exécutera pour vous.

Est-ce que vous remplacez quelque chose ou essayez-vous simplement de désinstaller quelque chose à la suite de l'installation de quelque chose de complètement différent?

MSDN Custom Action Walkthrough

J'ai aussi lu quelques articles de Phil Wilson qui ont été utiles avec des actions personnalisées:
Phil Wilson on Custom Actions

0

Je pense que vous pouvez exécuter uninst.exe de ce programme par la commande shell en configuration démarre

1

J'ai rencontré un problème similaire qui nécessitait plusieurs installations pour fonctionner ensemble et ne trouvait aucun moyen d'exécuter récursivement MsiExec. La solution que j'ai utilisée consistait à regrouper le programme d'installation avec un script qui exécuterait MsiExec une fois pour installer/désinstaller l'ancien paquet, puis à nouveau pour exécuter le nouveau programme d'installation. Les clients devaient exécuter le script à installer.

Si vous trouvez un meilleur moyen, faites le moi savoir.

Questions connexes