سؤال

أواجه بعض المتاعب في تحديث برامج تشغيل UMDF باستخدام "DevCon" خلال دورة Deploy-Debug القياسية. المشكلة هي أن "Devcon Update" لا يقوم بتحديث أي شيء حقًا ما لم يكن رقم الإصدار أو تاريخ ملف DLL وأن ملف INF قد تغير من ما يتم تخزينه في مجلد ذاكرة التخزين المؤقت لبرنامج تشغيل النظام. بعد سلسلة من التجارب المجنونة ، اكتشفت أن إحدى الطرق لإجبار الشيء على استخدام أحدث الملفات هي القيام بما يلي:

  1. قم بتغيير المعلمات التي تم تمريرها إلى "stampinf.exe" في "makefile.inc" عن طريق تعيين نسخة صريحة مع خيار "-v".
  2. قم بتعديل ملف البرنامج النصي للموارد ("driver_name.rc") لتعريف أولاً VER_USE_OTHER_MAJOR_MINOR_VERقبل بما في ذلك "ntverp.h"ثم حدد صراحة VER_PRODUCTMAJORVERSION و VER_PRODUCTMINORVERSION. ستلاحظ أن هذا النظام لا يسمح لنا بتغيير أرقام الإنشاء وأرقام المراجعة. في Win7 ، يبدو أن هذا ثابت في 7600 و 16385 في "ntverp.h"هل هذا حسب التصميم؟

لذلك ، أقوم أولاً بتعديل "makefile.inc" وأعين خيار "-v" على شيء مثل "1.1.7600.16385" زيادة يدويًا الإصدار الثانوي لكل بناء واحد ثم قم بتعديل ملف RC وتحديثه VER_PRODUCTMINORVERSION مع نفس الرقم.

بدلاً من ذلك ، إذا قمت بتشغيل موجه أوامر تحت حساب النظام وقمت بحذف مجلد ذاكرة التخزين المؤقت للسائق في "C: Windows System32 Driverstore FilerePository Driver" قبل تشغيل "DevCon" ، فهذا يعمل أيضًا.

الآن ، أعتقد أنني أفتقد شيئًا أساسيًا إلى حد ما هنا لأن هذا يبدو أنه وسيلة مؤلمة إلى حد ما للقيام بذلك. الرجاء المساعدة! شكرًا!

هل كانت مفيدة؟

المحلول

لماذا لا يمكنك فقط فصل الجهاز واستبدال DLL غير المحملة؟ يجب ألا تحتاج إلى إعادة تثبيت برنامج التشغيل ، ما عليك سوى استبدال الوحدة النمطية. لاحظ أنه لا ينبغي عليك القيام بذلك أثناء الإنتاج أو أي شيء يتعلق بالعملاء ، ولكن إذا كنت تكتب سائقًا ، فما عليك سوى اندلاع الوحدة النمطية الجديدة مع نفس رقم الإصدار.

في Win7 ، يبدو أن هذا يتم إصلاحه في 7600 و 16385 في "ntverp.h". هل هذا حسب التصميم؟

نعم ، على الأقل حتى حزمة الخدمة التالية

نصائح أخرى

كما اقترح بول بيتس أعلاه ، يبدو أن الطريق للذهاب هو ببساطة استبدال DLL UMDF مباشرة في مجلد السائق (على سبيل المثال c:\windows\system32\drivers\umdf\) بعد تعطيل الجهاز إما في مدير الجهاز أو باستخدام "DevCon". لقد طرحت هذا السؤال على مجموعة أخبار برامج تشغيل جهاز Microsoft قبل النشر هنا ولكن لم تحصل على استجابة مرضية - لكن بعض الناس انتهوا بالرد هناك بعد، بعدما لقد نشرت هنا! لذلك سأضع رابطًا لهذا المنشور أيضًا:

http://bit.ly/6pdxkt

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top