כאשר אתה מקבל שגיאה שאומרת ש- Windows לא הצליח למצוא קובץ DLL מסוים, זה יכול להיות מפתה מאוד להוריד את הקובץ מאחד מאתרי ה- DLL הרבים שיש. הנה הסיבה שלא כדאי לך.
מהם קבצי DLL?
קָשׁוּר: מהו rundll32.exe ומדוע הוא פועל?
לפני שנתחיל מדוע לא כדאי לך להוריד קבצי Dynamic Link Library (DLL) מהאינטרנט, בואו נסתכל תחילה על קבצי DLL. קובץ DLL הוא ספרייה המכילה קבוצה של קוד ונתונים לביצוע פעילות מסוימת ב- Windows. לאחר מכן יישומים יכולים לקרוא לקבצי ה- DLL האלה כאשר הם זקוקים לפעילות זו. קבצי DLL דומים מאוד לקבצי הפעלה (EXE), אלא שלא ניתן לבצע קבצי DLL ישירות ב- Windows. במילים אחרות, אינך יכול ללחוץ פעמיים על קובץ DLL כדי להריצו באותו אופן שבו היית עושה קובץ EXE. במקום זאת, קבצי DLL נועדו להיקרא על ידי יישומים אחרים. למעשה, הם נועדו להיקרא על ידי מספר יישומים בו זמנית. החלק "קישור" בשם ה- DLL מציע גם היבט חשוב נוסף. ניתן לקשר מספר רב של קבצי DLL, כך שכאשר קוראים ל- DLL אחד, נקראים מספר קבצי DLL אחרים בו זמנית.
Windows עצמה עושה שימוש נרחב בקבצי ה- DLL, כסיור דרך ה- Windows
C: \ Windows \ System32
התיקיה יכולה לספר לך. כדוגמה למה שאנחנו מדברים, בואו ניקח בחשבון את קובץ המערכת של Windows "comdlg32.dll". קובץ זה, המכונה גם ספריית תיבות הדו-שיח המשותפת, מכיל קוד ונתונים לבניית רבות מתיבות הדו-שיח הנפוצות שאתה רואה ב- Windows - דיאלוגים לדברים כמו פתיחת קבצים, הדפסת מסמכים וכו '. ההוראות ב- DLL זה מטפלות בכל דבר, החל בקבלה ופרשנות של הודעות המיועדות לתיבת הדו-שיח ועד לציון מראה תיבת הדו-שיח על המסך. ברור שאפליקציות מרובות יכולות להתקשר ל- DLL זה בו זמנית, אחרת לא תוכל לפתוח תיבת דו-שיח (כמו זו למטה) ביותר מאפליקציה אחת בכל פעם.
קבצי DLL מאפשרים לבצע שימוש במודולריציה ובשימוש חוזר בה, מה שאומר שמפתחים לא צריכים להשקיע זמן בכתיבת קוד מאפס כדי לבצע פונקציות ארציות או נפוצות. ולמרות שמפתחים ייצרו קובצי DLL משלהם להתקנה עם האפליקציות שלהם, הרוב המכריע של קבצי ה- DLL שנקראו על ידי אפליקציות הם למעשה מקובצים עם Windows או עם חבילות נוספות, כמו מסגרת Microsoft .NET אוֹ הפצה מחדש של מיקרוסופט C ++ . היתרון הגדול הנוסף של מודולציה של קוד בדרך זו הוא שקל יותר להחיל עדכונים על כל DLL ולא על אפליקציה שלמה - במיוחד כאשר קבצי ה- DLL האלה לא הגיעו ממפתח האפליקציה. לדוגמה, כאשר מיקרוסופט מעדכנת קבצי DLL מסוימים במסגרת .NET Framework שלה, כל האפליקציות המשתמשות בקבצי ה- DLL הללו יכולות לנצל באופן מיידי את האבטחה או הפונקציונליות המעודכנים.
קָשׁוּר: מהי Microsoft .NET Framework ומדוע היא מותקנת במחשב האישי שלי?
קבצי DLL שהורדו עשויים להיות מיושנים
אז, עם קצת הבנה של קבצי DLL שמתחת לחגורה שלנו, מדוע לא להוריד אותם מהאינטרנט כאשר אחד מהם חסר במערכת שלך?
הבעיה הנפוצה ביותר שתיתקל בה עם קבצי DLL שהורדת היא שהם מיושנים. רבים מאתרי ה- DLL שם מקבלים את קובצי ה- DLL שלהם רק על ידי העלאתם ממחשבים משלהם - או ממשתמשיהם. אתה בטח כבר יכול לראות את הבעיה. רוב האתרים האלה פשוט רוצים את התנועה שלך, וברגע שמעלה קובץ DLL, אין להם תמריץ מועט להבטיח שהקובץ יעודכן. הוסף לכך שספקים בדרך כלל לא משחררים קבצי DLL מעודכנים לציבור כקבצים בודדים, ותוכל לראות שאפילו אתרים מי לְנַסוֹת שמירה על קבצים לא צפויה להיות מוצלחת במיוחד.
ישנה גם הבעיה הנוספת כי קבצי DLL משולבים בדרך כלל בחבילות. עדכון ל- DLL אחד בחבילה מלווה לעיתים קרובות בעדכונים לקבצי DLL אחרים הקשורים באותה חבילה, כלומר גם במקרה הלא סביר שתקבל קובץ DLL מעודכן, לא תקבל קבצים קשורים שיש להם גם עודכן.
ניתן להדביק קבצי DLL שהורדו
אף על פי שהיא פחות נפוצה, בעיה שעלולה להיות הרבה יותר גרועה היא שקובצי DLL שאתה מוריד ממקורות שאינם מהספק לפעמים יכולים להיות נטענים בווירוסים או תוכנות זדוניות אחרות העלולות להדביק את המחשב האישי שלך. זה נכון במיוחד באתרים שלא נזהרים מדי מהיכן הם משיגים את הקבצים שלהם. וזה לא כמו שהאתרים האלה יעשו הכל כדי לספר לך על המקורות המסוכנים שלהם. החלק המפחיד באמת הוא שאם אתה מוריד קובץ DLL נגוע, אתה מסתכן - מעצם טבעם של קבצי DLL - לתת לקובץ גישה עמוקה יותר מכפי שקובץ נגוע רגיל עשוי לקבל.
קָשׁוּר: מהו האנטי-וירוס הטוב ביותר עבור Windows 10? (האם Windows Defender מספיק טוב?)
החדשות הטובות כאן הן ש- אפליקציית אנטי-וירוס טובה בזמן אמת בדרך כלל יכול לזהות קבצי DLL נגועים אלה לפני שהם נשמרים במערכת שלך ולמנוע מהם גרימת נזק. ובכל זאת, עליכם לזכור שאפילו תוכנית אנטי-וירוס נהדרת לא עשויה לספק לכם הגנה מושלמת. אם אתה נוהג להוריד קבצים מסוכנים, סביר להניח שזה יתפוס אותך בשלב מסוים. עדיף פשוט להימנע מאתרי ה- DLL האלה.
הם ככל הנראה לא יפתרו את הבעיה שלך בכל מקרה
אמנם יתכן שרק קובץ DLL יחיד במחשב שלך נפגם או נמחק, אך סביר יותר כי קבצי DLL אחרים או קבצי אפליקציות קשורים גם הם פגומים או חסרים. הסיבה שאתה מקבל שגיאה בקובץ מסוים אחד היא שזו השגיאה הראשונה בה אפליקציה נתקלה לפני שהתרסקה ופשוט לא מקבלים הודעה על השאר. זה יכול להיות נכון ולא משנה הגורם לבעיה.
קָשׁוּר: הסקטורים הרעים הוסברו: מדוע כוננים קשיחים מקבלים מגזרים גרועים ומה אתה יכול לעשות בנידון
מדוע קובצי DLL עלולים להיעדר או לפגום? יכול להיות שאפליקציה או עדכון שגוי אחר ניסו להחליף את הקובץ ונכשלו, או החליפו בעותק לא מעודכן. יתכן שזו תקלה בהתקנת האפליקציה הראשית שלך או בחבילה כמו .NET. יכול להיות אפילו שיש לך בעיה אחרת - כמו מגזרים רעים בדיסק הקשיח שלך —מונעים מהטעינה נכונה של הקובץ.
כיצד אוכל לתקן את שגיאת ה- DLL שלי?
הדרך היחידה להבטיח שתקבל קובץ DLL יציב, עדכני ונקי היא להעביר אותו דרך המקור שממנו מקורו. בדרך כלל, מקור זה יהיה:
קָשׁוּר: כיצד לסרוק (ולתקן) קבצי מערכת פגומים ב- Windows
- אמצעי ההתקנה של Windows שלך . לא סביר שתוכלו להעתיק פשוט קובץ DLL ממדיה ההתקנה שלכם, אך יש לכם אפשרות מהירה לנסות לפני שתעשו משהו כה דרסטי כמו להכניס מחדש את Windows. אתה יכול השתמש בכלי הגנת המשאבים של Windows (המכונה לעתים קרובות בודק קבצי המערכת או SFC), שיסרוק ויתקן קבצי מערכת פגומים או חסרים ב- Windows. אתה צריך שיהיה לך אמצעי ההתקנה שלך בהישג יד בעת הפעלת הכלי, למקרה שיהיה צורך להעתיק משם קובץ. (אם אין לך דיסק התקנה, אתה יכול הורד אחד כאן .)
- חבילות Microsoft .NET Framework . מספר גרסאות של .NET מותקנות אוטומטית יחד עם Windows, ויישומים רבים מתקינים גם קבצים מחבילות אלה. אתה יכול לקרוא המאמר שלנו על מסגרת .NET , שיש לו גם כמה עצות לאיתור ותיקון בעיות נלוות.
- חבילות שונות של Microsoft Visual C ++ להפצה מחדש . תלוי באפליקציות בהן אתה משתמש, ייתכן שמותקנות במחשב שלך גרסאות מרובות של C ++ - חלוקה מחדש. לפעמים זה יכול להיות קשה לצמצם את מי שהוא האשם, אבל זה מקום טוב להתחיל המאמר שלנו על C ++ חלוקה מחדש , שמציע גם מספר שלבי פתרון בעיות וקישורים שבהם תוכלו להוריד את הגרסאות המעודכנות ביותר ישירות ממיקרוסופט.
- האפליקציה שאיתה הגיע ה- DLL . אם ה- DLL הותקן יחד עם אפליקציה במקום להיות חלק מחבילה נפרדת, הפתרון הטוב ביותר הוא רק להתקין מחדש את האפליקציה. חלק מהאפליקציות מאפשרות לבצע תיקון במקום התקנה מחדש מלאה. אחת מהאפשרויות אמורה לעבוד, מכיוון שתיקון מחפש בדרך כלל קבצים חסרים בתיקיות ההתקנה.
אם כל זה נכשל, ייתכן שתוכל ליצור קשר עם ספק האפליקציה ולבקש עותק של קובץ DLL בודד. חברות מסוימות פתוחות לבקשה זו; חלקם לא. אם אתה נתקל בחברה שלא תספק קבצים בודדים, הם לפחות יוכלו להציע הצעות אחרות לפתרון הבעיה שלך.