מה הם קבצי DLL, ומדוע אחד חסר מהמחשב שלי?
כאשר אתה מקבל שגיאה אומר כי Windows לא יכול למצוא קובץ DLL מסוים, זה יכול להיות מאוד מפתה להוריד את הקובץ מאחד האתרים DLL רבים שם בחוץ. הנה למה אתה לא צריך.
מה הם DLLs?
לפני שאנחנו מתחילים על למה אתה לא צריך להוריד דינמי קישור ספריית (DLL) קבצים מהאינטרנט, בואו הראשון תסתכל על מה קבצי DLL. קובץ DLL הוא ספריה המכילה קבוצה של קוד ונתונים לביצוע פעילות מסוימת ב- Windows. אפליקציות יכולות להתקשר לקבצי DLL אלה כאשר הם זקוקים לפעילות שבוצעה. קבצי DLL הם הרבה כמו קבצי הפעלה (EXE), למעט קבצי DLL לא ניתן להורג ישירות ב- Windows. במילים אחרות, אתה לא יכול ללחוץ פעמיים על קובץ DLL כדי להפעיל אותו באותו אופן היית קובץ EXE. במקום זאת, קבצי DLL נועדו להיקרא על ידי יישומים אחרים. למעשה, הם נועדו להיקרא על ידי מספר יישומים בבת אחת. החלק "קישור" של שם ה- DLL גם מציע היבט חשוב נוסף. DLLs מרובים ניתן לקשר יחד, כך שכאשר אחד DLL נקרא, מספר DLLs אחרים נקראים גם באותו זמן.
Windows עצמה עושה שימוש נרחב של קבצי DLL, כמו סיור דרך C: \ Windows \ System32
התיקייה יכולה לספר לך. כדוגמה למה אנחנו מדברים, בואו ניקח בחשבון את קובץ מערכת Windows "comdlg32.dll". קובץ זה, הידוע גם בשם ספריית תיבת הדו-שיח Common, מכיל קוד ונתונים לבניית רבים מתיבות הדו-שיח הנפוצות שאתה רואה ב- Windows-Dialogs עבור דברים כמו פתיחת קבצים, הדפסת מסמכים, וכן הלאה. ההנחיות ב DLL זה לטפל בכל דבר, החל קבלת הודעות ופרשנות המיועד תיבת הדו שיח כדי לציין כיצד תיבת הדו שיח נראה על המסך. כמובן, יישומים מרובים יכולים לקרוא את ה- DLL באותו זמן, אחרת לא תוכל לפתוח תיבת דו-שיח (כמו זו שבהמשך) ביותר מאפליקציה אחת בכל פעם.
קבצי DLL מאפשרים קוד להיות מודולריזציה בשימוש חוזר, כלומר, מפתחים לא צריך לבזבז זמן כתיבת קוד מאפס כדי לבצע פונקציות ארציים או נפוצים. ואף על פי מפתחי תיצור קבצי DLL משלהם כדי להתקין עם היישומים שלהם, הרוב המכריע של קבצי DLL שנקרא על ידי יישומים הם למעשה ארוזות עם Windows או עם חבילות נוספות, כמו Microsoft .NET Framework או Microsoft C + + Redistributables. היתרון הגדול השני של modularizing קוד בדרך זו היא כי עדכונים הם קלים יותר להחיל על כל DLL ולא על יישום שלם, במיוחד כאשר אלה DLLs לא בא מפתח של היישום. לדוגמה, כאשר Microsoft מעדכנת קבצי DLL מסוימים ב- .NET Framework, כל היישומים המשתמשים באותם קבצי DLL יכולים לנצל באופן מיידי את האבטחה או הפונקציונליות המעודכנות.
הורד DLLs עשוי להיות outdated
אז, עם קצת הבנה של קבצי DLL תחת חגורות שלנו, למה לא להוריד אותם מהאינטרנט כאשר אחד חסר מהמערכת שלך?
הבעיה הנפוצה ביותר שתיתקל עם DLLs שהורדו היא שהם מיושנים. רבים של אתרי DLLs שם בחוץ לקבל את קבצי ה- DLL שלהם רק על ידי העלאת אותם מהמחשב שלהם, או המשתמשים שלהם, מחשבים. אתה בטח יכול לראות את הבעיה כבר. רוב האתרים האלה רק רוצה את התנועה שלך, ופעם DLL נטען, יש להם תמריץ קטן כדי להבטיח את הקובץ נשמר מעודכן. הוסף לכך כי ספקים אינם בדרך כלל לשחרר קבצי DLL מעודכנים לציבור כמו קבצים בודדים, ואתה יכול לראות כי אפילו אתרים מי נסה כדי לשמור על קבצים מעודכנים לא סביר להיות מוצלח מאוד.
יש גם בעיה נוספת כי קבצי DLL משולבים בדרך כלל לתוך חבילות. עדכון DLL אחד בחבילה הוא מלווה לעתים קרובות על ידי עדכונים אחרים, הקשורים DLLs באותה חבילה, כלומר גם במקרה הלא סביר שאתה עושה לקבל מעודכן קובץ DLL, לא תקבל קבצים קשורים שיש להם גם עודכן.
DLLs שהורדו יכול להיות נגוע
למרות נפוץ פחות, בעיה פוטנציאלית הרבה יותר גרוע היא כי קבצי DLL שאתה מוריד ממקורות אחרים מאשר הספק לפעמים ניתן לטעון עם וירוסים או תוכנות זדוניות אחרות שיכולים להדביק את המחשב. זה נכון במיוחד באתרים שאינם זהירים מדי לגבי המקום שבו הם מקבלים את הקבצים שלהם. וזה לא כמו אתרים אלה הולכים לצאת מגדרם כדי לספר לך על מקורות מסוכנים שלהם. החלק המפחיד באמת הוא שאם אתה מוריד קובץ DLL נגוע, אתה מסתכן - מעצם טבעו של קבצי DLL- נותן לקובץ גישה עמוקה יותר מקובץ נגוע רגיל עשוי לקבל.
החדשות הטובות כאן הן כי טוב, בזמן אמת אנטי וירוס App יכול בדרך כלל לזהות אלה נגוע קבצי DLL לפני שהם נשמרים למעשה למערכת שלך ולמנוע מהם לעשות כל נזק. ובכל זאת, עליך לזכור כי אפילו תוכנית אנטי וירוס גדול לא יכול לספק לך הגנה מושלמת. אם אתה עושה את ההרגל של הורדת קבצים מסוכנים, זה צפוי להדביק אותך בשלב מסוים. עדיף פשוט להימנע אלה אתרי DLL.
הם כנראה לא יפתור את הבעיה שלך בכל מקרה
אמנם זה אפשרי כי רק קובץ DLL יחיד במחשב שלך יש gotten פגום או נמחק, סביר יותר כי קבצי DLL אחרים או קבצי יישומים קשורים גם מושחתים או חסרים. הסיבה שאתה מקבל הודעת שגיאה על קובץ מסוים היא שזו השגיאה הראשונה שהאפליקציה נתקלה לפני קריסה ואתה פשוט לא מקבל הודעה על השאר. זה יכול להיות נכון לא משנה את הסיבה לבעיה.
מדוע ייתכן ש- DLL נעדרים או מושחתים? ייתכן כי עוד יישום או עדכון אחר ניסה להחליף את הקובץ נכשל, או להחליף אותו עם עותק מיושן. זה עלול להיות אשם בהתקנה של היישום הראשי שלך או בחבילה כמו. ייתכן אפילו שיש לך בעיה אחרת - כמו סקטורים פגומים בדיסק הקשיח - שמונעים טעינה נכונה של הקובץ.
איך אני יכול לתקן את?
הדרך היחידה להבטיח לך לקבל DLL יציבה, מעודכנת ונקייה היא לקבל את זה דרך המקור שממנו מקורו. בדרך כלל, מקור זה יהיה:
- מדיית ההתקנה של Windows. זה לא סביר שאתה תוכל פשוט להעתיק קובץ DLL ממדיה ההתקנה שלך, אבל יש לך אפשרות מהירה לנסות לפני עושה משהו כמו דרסטי כמו reintalling Windows. באפשרותך להשתמש בכלי Windows Resource Protection (המכונה לעתים קרובות בודק קבצי המערכת או SFC), אשר יסרוק ותתקין קובצי מערכת פגומים או חסרים ב- Windows. אתה צריך את המדיה ההתקנה נוח בעת הפעלת הכלי, רק במקרה זה צריך להעתיק קובץ משם. (אם אין לך דיסק התקנה, תוכל להוריד אותו כאן).
- חבילות Microsoft .NET Framework. כמה גירסאות של .NET מותקנות באופן אוטומטי יחד עם Windows, ויישומים רבים גם להתקין קבצים מחבילות אלה גם כן. אתה יכול לקרוא את המאמר שלנו על NET Framework, אשר יש גם כמה עצות למציאת ותיקון בעיות הקשורות.
- חבילות שונות של Microsoft Visual C + + Redistributable. בהתאם ליישומים שבהם אתה משתמש, ייתכן שיהיו לך גירסאות מרובות של C + Redistributable המותקנות במחשב שלך. לפעמים זה יכול להיות קשה כדי לצמצם איזה מהם הוא עברין, אבל מקום טוב להתחיל הוא המאמר שלנו על C + + Redistributables, אשר כולל גם כמה שלבים לפתרון בעיות וקישורים שבו אתה יכול להוריד את הגרסאות העדכניות ביותר ישר מבית מיקרוסופט.
- App כי DLL הגיע. אם DLL הותקן יחד עם יישום ולא להיות חלק חבילה נפרדת, הפתרון הטוב ביותר שלך הוא רק כדי להתקין מחדש את היישום. יישומים מסוימים מאפשרים לך לבצע תיקון במקום התקנה מחדש מלאה. כל אחת מהאפשרויות חייבת לפעול, שכן תיקון בדרך כלל מחפש קבצים חסרים בתיקיות ההתקנה.
אם כל זה נכשל, ייתכן שתוכל ליצור קשר עם ספק היישום ולבקש עותק של קובץ DLL יחיד. חלק מהחברות פתוחות לבקשה זו; כמה מהם לא. אם אתה נתקל בחברה שלא תספק קבצים בודדים, הם לפחות יוכלו להציע הצעות אחרות לפתרון הבעיה שלך.