Αναδιανομή του κοινόχρηστου στοιχείου χρόνου εκτέλεσης C σε Visual C++

Σύνοψη

Όταν δημιουργείτε μια εφαρμογή στο Microsoft Visual Studio και η εφαρμογή χρησιμοποιεί τις βιβλιοθήκες χρόνου εκτέλεσης C (CRT), να διανείμετε το κατάλληλο αρχείο DLL CRT από την παρακάτω λίστα με την εφαρμογή σας:
  • Msvcr90.dll για το Microsoft Visual C++ 2008
  • Msvcr80.dll για το Microsoft Visual C++ 2005
  • Msvcr71.dll για το Microsoft Visual C++ .NET 2003 με το Microsoft .NET Framework 1.1
  • Msvcr70.dll για το Microsoft Visual C++ .NET 2002 με το Microsoft .NET Framework 1.0
Για Msvcr70.dll ή Msvcr71.dll, θα πρέπει να εγκαταστήσετε το CRT DLL στον κατάλογο αρχείων προγράμματος εφαρμογής. Δεν πρέπει να εγκαταστήσετε αυτά τα αρχεία σε καταλόγους του συστήματος των Windows. Για Msvcr80.dll και Msvcr90.dll, θα πρέπει να εγκαταστήσετε το CRT ως συγκροτήσεις side-by-side των Windows.

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

Το κοινόχρηστο αρχείο DLL CRT έχει διανεμηθεί από τη Microsoft στο παρελθόν ως στοιχείο κοινόχρηστο συστήματος. Αυτό μπορεί να προκαλέσει προβλήματα κατά την εκτέλεση εφαρμογών που συνδέονται με μια διαφορετική έκδοση του CRT σε υπολογιστές που δεν έχουν τις σωστές εκδόσεις των CRT DLL που είναι εγκατεστημένη. Αυτό συνήθως αναφέρεται ως η αιτία του προβλήματος "Διένεξη DLL".

Για να αντιμετωπίσετε αυτό το ζήτημα, το αρχείο DLL CRT δεν θεωρείται πλέον ένα αρχείο συστήματος, συνεπώς, να διανείμετε το αρχείο DLL CRT με οποιαδήποτε εφαρμογή που βασίζεται σε αυτό. Επειδή δεν είναι πλέον ένα στοιχείο του συστήματος, το εγκαταστήσετε στον κατάλογο Program Files εφαρμογές με άλλο κώδικα συγκεκριμένη εφαρμογή. Αυτό αποτρέπει την εφαρμογή σας να χρησιμοποιούν άλλες εκδόσεις της βιβλιοθήκης του CRT που μπορεί να εγκατασταθεί σε τις διαδρομές συστήματος.

Visual C++ .NET 2003 ή το Visual C++ .NET 2002 εγκαθιστά το DLL CRT στον κατάλογο System32 σε ένα σύστημα ανάπτυξης. Εγκαθίσταται ως εξυπηρέτηση για τον προγραμματιστή. Διαφορετικά, όλα τα έργα που έχουν δημιουργηθεί με το Visual C++ που συνδέονται με το κοινόχρηστο CRT απαιτούν ένα αντίγραφο του αρχείου DLL στον κατάλογο κατασκευής για τον εντοπισμό σφαλμάτων και την εκτέλεση. Visual C++ 2005 και Visual C++ 2008 θα πρέπει να εγκαταστήσετε το αρχείο DLL CRT ως μια συγκρότηση side-by-side των Windows στα Windows XP και νεότερες εκδόσεις λειτουργικών συστημάτων. Τα Windows 2000 δεν υποστηρίζει τις συγκροτήσεις side-by-side. Στα Windows 2000, το αρχείο DLL CRT εγκαθίσταται στον κατάλογο System32.

Όταν διανέμετε εφαρμογές που απαιτούν τη βιβλιοθήκη κοινόχρηστων CRT στο CRT DLL, συνιστούμε να χρησιμοποιήσετε τη λειτουργική μονάδα συγχώνευσης CRT.msm που περιλαμβάνεται στο Visual C++ αντί για απευθείας τη διανομή του αρχείου DLL.

Οι συγκροτήσεις side-by-side των Windows

Msvcr80.dll με Visual C++ 2005 και Msvcr90.dll με Visual C++ 2008 ανακατανέμονται ως συγκροτήσεις side-by-side των Windows εκτός από στα Windows 2000. Θα πρέπει να εγκαταστήσετε αυτές τις εκδόσεις του το CRT σε υπολογιστές προορισμού εκτελώντας την εφαρμογή Vcredist_x86.exe που περιλαμβάνεται με το Visual Studio. Υπάρχουν επίσης προγράμματα εγκατάστασης για την x64 και πλατφόρμες IA-64. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τη λειτουργική μονάδα συγχώνευσης msm CRT που παρέχεται με το Visual Studio για να συσκευάσετε το πρόγραμμα εγκατάστασης CRT στη δική σας εφαρμογή προγράμματος εγκατάστασης. Αυτό θα καταστήσει την CRT διαθέσιμη ως κοινόχρηστη συγκρότηση για όλες τις εφαρμογές επειδή έχει εγκατασταθεί στον κατάλογο \windows\winsxs υποστηριζόμενα λειτουργικά συστήματα.

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:Για περισσότερες πληροφορίες σχετικά με τα Windows συγκροτήσεις side-by-side, επισκεφθείτε τις ακόλουθες τοποθεσίες της Microsoft Developer Network (MSDN) στο Web:
Ιδιότητες

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

Σχόλια