أدى تحديث أمان ATL إلى قطع التوافق مع مكتبات DLL وفقًا للإصدار الأقدم

StackOverflow https://stackoverflow.com/questions/1222608

سؤال

في الآونة الأخيرة التحديث الأمني ​​ATL تم تحديث أوقات تشغيل C++ إلى الإصدار 8.0.50727.4053.لسوء الحظ، أدى هذا التحديث إلى تعطيل إحدى ملفات DLL الخاصة بنا والتي ترتبط ديناميكيًا بوقت التشغيل، حيث لا يتوفر لدينا سوى 8.0.50727.762 على الجهاز المستهدف (نحن لا نستخدم حتى ATL).

هل هناك طريقة يمكننا من خلالها جعل Visual Studio يرتبط ديناميكيًا بمكتبة الارتباط الحيوي (DLL) الأقدم؟أرغب في تجنب الارتباط الثابت إن أمكن.

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

المحلول

الحل الآخر هو إجبار VS على الارتباط بالإصدارات القديمة من ملفات WinSxS DLL كما هو موضح في هذا المقال.

نصائح أخرى

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

لا أعرف ما إذا كان هذا ممكنًا ولكن هل حاولت أن يقوم عملاؤك بتثبيت حزمة قابلة لإعادة التوزيع?

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