ΕΠΙΔΙΌΡΘΩΣΗ: Αρχεία και κλειδιά μητρώου για τη διαδρομή εγκατάστασης εξαφανιστεί απροσδόκητα κατά την εγκατάσταση ενός αρχείου MSI για ένα έργο εγκατάστασης που έχει μια κύρια αναβάθμιση από το Visual Studio 2008 για Visual Studio 2010

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Δημιουργήσετε ένα έργο Microsoft Visual Studio 2008 εγκατάστασης και στη συνέχεια εγκαταστήστε το δημιουργημένο αρχείο MSI σε μια διαδρομή εγκατάστασης.
  • Μπορείτε να μετεγκαταστήσετε το έργο εγκατάστασης Visual Studio 2010 και, στη συνέχεια, εκτελέστε τις εξής ενέργειες για μια κύρια αναβάθμιση:
    • Μπορείτε να αλλάξετε την κύρια πεδίο της ιδιότητας ProductVersion .
    • Αλλαγή της ιδιότητας ProductCode .
    • Μπορείτε να ορίσετε την ιδιότητα RemovePreviousVersions στην τιμή True.
  • Αναδημιουργήστε το έργο εγκατάστασης (Setup) και στη συνέχεια εγκαταστήστε το δημιουργημένο αρχείο MSI στην ίδια διαδρομή εγκατάστασης.

Σε αυτό το σενάριο, τα αρχεία και κλειδιά μητρώου για τη διαδρομή εγκατάστασης εξαφανιστεί απροσδόκητα.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ένα διαφορετικό αλγόριθμο κατακερματισμού χρησιμοποιείται για να δημιουργήσει τα GUID στο Visual Studio 2010. Όταν εγκαθιστάτε το αρχείο MSI που δημιουργείται από το έργο του Visual Studio 2010 το πρόγραμμα εγκατάστασης, το αρχείο MSI Καθορίζει ότι το GUID έχει αλλάξει και καταργεί τα αρχεία και κλειδιά μητρώου για τη διαδρομή εγκατάστασης με βάση την ακολουθία του έργου.

Προτεινόμενη αντιμετώπιση

Για να επιλύσετε αυτό το ζήτημα, εφαρμόστε αυτήν την επείγουσα επιδιόρθωση. Αυτή η επείγουσα επιδιόρθωση παρουσιάζει την ιδιότητα BackwardCompatibleIDGeneration . Από προεπιλογή, αυτή η ιδιότητα ορίζεται στην τιμή False. Πριν δημιουργήσετε το έργο της εγκατάστασης του Visual Studio 2010, πρέπει να ορίσει ρητά την ιδιότητα BackwardCompatibleIDGeneration σε True για να ενεργοποιήσετε την επείγουσα επιδιόρθωση.

Πληροφορίες άμεσης επιδιόρθωσης

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι διαθέσιμη από τη Microsoft. Ωστόσο, αυτή η επείγουσα επιδιόρθωση προορίζεται για τη διόρθωση μόνο του ζητήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε αυτήν την άμεση επιδιόρθωση μόνο σε συστήματα που αντιμετωπίζουν το πρόβλημα που περιγράφεται σε αυτό το άρθρο. Αυτή η άμεση επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως την επόμενη ενημέρωση λογισμικού που περιέχει αυτήν την άμεση επιδιόρθωση.

Για να επιλύσετε αυτό το ζήτημα αμέσως, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για την πλήρη λίστα αριθμών τηλεφώνου υποστήριξης και εξυπηρέτησης πελατών της Microsoft ή για να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ίσως ακυρωθούν εάν ο επαγγελματίας υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.

Για να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από τη συλλογή κωδίκων MSDN, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Σημείωση Η συλλογή κωδίκων MSDN εμφανίζει τις γλώσσες για τις οποίες η επείγουσα επιδιόρθωση είναι διαθέσιμη. Εάν δεν βλέπετε τη γλώσσα σας στη λίστα, είναι επειδή η σελίδα πόρου συλλογής κώδικα δεν είναι διαθέσιμη για αυτήν τη γλώσσα.

Ή, μπορείτε να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από την ακόλουθη τοποθεσία Web Microsoft Connect:

Προϋποθέσεις

Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε εγκατεστημένο Visual Studio 2010.

Πληροφορίες επανεκκίνησης

Ίσως χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης. Συνιστάται να κλείσετε όλες τις εμφανίσεις του Visual Studio ή από τις εφαρμογές του Microsoft .NET Framework, πριν να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά μια επείγουσα επιδιόρθωση που κυκλοφόρησε στο παρελθόν.

Πληροφορίες αρχείων

Η καθολική έκδοση αυτής της επείγουσας επιδιόρθωσης εγκαθιστά αρχεία με χαρακτηριστικά που αναφέρονται στους παρακάτω πίνακες. Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία στον τοπικό υπολογιστή σας, εμφανίζονται στην τοπική σας ώρα μαζί με την τρέχουσα θερινή ώρα (DST). Επιπλέον, οι ημερομηνίες και οι ώρες ενδέχεται να αλλάξουν όταν εκτελείτε συγκεκριμένες λειτουργίες στα αρχεία.
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Dpca.dll10.0.30319.464236,87211-May-201113:08x86
Dpdpl.dll10.0.30319.464145,23211-May-201113:08x86
Dpdpl.dll10.0.30319.464145,74411-May-201113:08x86
Dpdpl.dll10.0.30319.464146,25611-May-201113:08x86
Dpdpl.dll10.0.30319.464147,28011-May-201113:08x86
Dpdpl.dll10.0.30319.464147,79211-May-201113:08x86
Dpdpl.dll10.0.30319.464148,30411-May-201113:08x86
Dpdpl.dll10.0.30319.464904,52011-May-201113:08x86
Dpedt.dll10.0.30319.464696,13611-May-201113:08x86
Dpplg.dll10.0.30319.4642,606,40811-May-201113:08x86
Dpprj.dll10.0.30319.4641,229,64011-May-201113:08x86
Dpprjui.dll10.0.30319.464163,15211-May-201113:08x86
Dpprjui.dll10.0.30319.464163,66411-May-201113:08x86
Dpprjui.dll10.0.30319.464167,24811-May-201113:08x86
Dpprjui.dll10.0.30319.464168,27211-May-201113:08x86
Dpprjui.dll10.0.30319.464178,00011-May-201113:08x86
Dpprjui.dll10.0.30319.464178,51211-May-201113:08x86
Dpprjui.dll10.0.30319.464180,56011-May-201113:08x86
Dpprjui.dll10.0.30319.464181,07211-May-201113:08x86
Dpprjui.dll10.0.30319.464181,58411-May-201113:08x86
Projectsidl3.tlbΔεν ισχύει2,81610-May-201103:47Δεν ισχύει

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:
  • Μέθοδος 1: Να αλλάξετε με μη αυτόματο τρόπο όλα τα αναγνωριστικά GUID στοιχείο είναι τα ίδια με εκείνα του Visual Studio 2008.
  • Μέθοδος 2: Resequence την ενέργεια RemoveExistingProducts μετά την ενέργεια InstallInitialize . Αυτό εξασφαλίζει ότι παλαιότερα αρχεία καταργούνται και κατόπιν επανεγκατασταθεί από τη νεότερη έκδοση.

    Σημείωση Αυτή η μέθοδος δεν λειτουργεί όταν έχετε κοινόχρηστα στοιχεία.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με την ορολογία των ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft:
824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft
Ιδιότητες

Αναγνωριστικό άρθρου: 2418919 - Τελευταία αναθεώρηση: 8 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια