Symptômes
Prenons l’exemple du scénario suivant :
-
Vous générez un projet de programme d’installation de Microsoft Visual Studio 2008 et ensuite installez le fichier MSI généré pour un chemin d’accès de l’installation.
-
Vous migrez le projet d’installation pour Visual Studio 2010 et puis effectuez les actions suivantes pour une mise à niveau majeure :
-
Vous modifiez le champ principal de la propriété ProductVersion .
-
Vous modifiez la propriété ProductCode .
-
Vous définissez la propriété RemovePreviousVersionstrue.
-
-
Vous régénérez le projet de programme d’installation et installez le fichier MSI généré sur le même chemin d’installation.
Dans ce scénario, les fichiers et les clés de Registre pour le chemin d’installation disparaissent de façon imprévue.
Cause
Ce problème se produit car un autre algorithme de hachage est utilisé pour créer les GUID dans Visual Studio 2010. Lorsque vous installez le fichier MSI qui est créé à partir du projet de programme d’installation de Visual Studio 2010, le fichier MSI détermine que le GUID a été modifié et qu’il supprime les fichiers et les clés de Registre pour le chemin d’accès de l’installation en fonction de la séquence du projet.
Résolution
Pour résoudre ce problème, appliquez ce correctif. Ce correctif introduit la propriété BackwardCompatibleIDGeneration . Par défaut, cette propriété a la valeur False. Avant de créer le projet d’installation dans Visual Studio 2010, vous devez définir explicitement la propriété BackwardCompatibleIDGeneration sur True pour activer le correctif.
Informations sur le correctif logiciel
Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif. Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour une liste complète des numéros de téléphone du service clientèle de Microsoft ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=supportRemarque Dans certains cas, aucuns frais de support technique par téléphone ne vous sera facturé si un professionnel du support Microsoft détermine qu’une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question. Pour télécharger ce correctif depuis MSDN Code Gallery, visitez le site Web Microsoft suivant :
http://code.msdn.microsoft.com/KB2418919Remarque MSDN Code Gallery affiche les langues pour lesquelles ce correctif est disponible. Si vous ne voyez pas votre langue, c'est certainement dû au fait que la page de ressource Code Gallery n'existe pas dans cette langue. Ou bien, vous pouvez télécharger ce correctif depuis le site Microsoft Connect :
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676
Conditions préalables
Pour appliquer ce correctif, vous devez disposer de Visual Studio 2010 est installé.
Informations sur le redémarrage
Vous devrez peut-être redémarrer l'ordinateur après avoir appliqué ce correctif. Nous vous conseillons de fermer toutes les instances de Visual Studio ou des applications Microsoft.NET Framework avant d’appliquer ce correctif.
Informations sur le remplacement de correctif logiciel
Ce correctif ne remplace pas un correctif précédemment publié.
Informations sur les fichiers
La version globale de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Les date et heure de ces fichiers s’affichent sur votre ordinateur local conformément à l’heure locale et en tenant compte de l’heure d’été. En outre, ces date et heure peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
Dpca.dll |
10.0.30319.464 |
236,872 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,232 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,744 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
146,256 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,280 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,792 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
148,304 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
904,520 |
11-May-2011 |
13:08 |
x86 |
Dpedt.dll |
10.0.30319.464 |
696,136 |
11-May-2011 |
13:08 |
x86 |
Dpplg.dll |
10.0.30319.464 |
2,606,408 |
11-May-2011 |
13:08 |
x86 |
Dpprj.dll |
10.0.30319.464 |
1,229,640 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,152 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,664 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
167,248 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
168,272 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,000 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,512 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
180,560 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,072 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,584 |
11-May-2011 |
13:08 |
x86 |
Projectsidl3.tlb |
Not applicable |
2,816 |
10-May-2011 |
03:47 |
Not applicable |
Solution de contournement
Pour contourner ce problème, appliquez l'une des méthodes suivantes :
-
Méthode 1 : Modifier manuellement tous les GUID de composant pour être les mêmes que ceux de Visual Studio 2008.
-
Méthode 2 : Obtenir une nouvelle séquence l’action RemoveExistingProducts après l’action InstallInitialize . Cela permet de garantir que les fichiers plus anciens sont supprimés et puis réinstallés par la version plus récente.Remarque Cette méthode ne fonctionne pas lorsque vous avez partagé des composants.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Informations supplémentaires
Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft