سؤال

لقد كنت أركض في مشكلة حيث تفشل com dll الذي أقوم بتوزيعه مع طلبي في التسجيل لأن ATL.DLL غير مسجل على الجهاز.

الإصلاح السريع هو الحصول على Run REGSVR32 على DLL ، لكنني أريد شيئًا أكثر نظافة ثم ذلك.

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

لدي حاليًا إجراء مخصص C# لمثبت MSI الخاص بي حتى أتمكن من إضافة منطق هناك لأداء المهمة.

شكرا مقدما.

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

المحلول

ستحتاج إلى تضمين الصحيح وحدة دمج مع المثبت الخاص بك. سيتم تثبيت هذه إلى C:\Program Files\Common Files\Merge Modules. إذا لم تجد الملفات المطلوبة ، فربما لم تقم بتثبيت ميزة "المكونات القابلة للتوزيع" في إما Windows SDK و/أو Visual Studio (أعتقد أنه غير محدد بشكل افتراضي)

  • ATL90.DLL يمكن العثور عليها في Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL يمكن العثور عليها في Microsoft_VC80_ATL_x86.msm
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top