هل يتعين إنشاء DLL DLL-S مخصص ل MSI Installer باستخدام Visual Studio فقط؟

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

سؤال

لقد قمت بإنشاء مشروع إعداد مع Visual Studio. أحتاج أيضا إلى بعض الإجراءات المخصصة - التي تم إنشاؤها DLL باستخدام Visual C ++ ويعمل بشكل جيد ولكني لا أريد تضمين ملفات تشغيل Visual C ++ إلى مشروعي. فهل من الممكن بناء DLL هذا مع بعض مترجم C ++ الآخر؟

لقد حاولت أن أجعلها مع DEV-C ++ ولكن عند تجميع أحصل على عدد قليل من أخطاء الترجمة من الملفات msi.h و msiquery.h

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

المحلول

ربما يكون الحل الأسهل هو ربط DLLs الخاص بك مقابل وقت التشغيل الثابت.

نصائح أخرى

في الإجراءات العرفية العامة يجب أن تعتمد DLLS فقط على DLLs الموجودة بالفعل في النظام قبل التثبيت. هذه الوسيلة، على سبيل المثال، ترتبط بشكل ثابت CRT، كما لوحظت MSALTS، ولكنها تنطبق أيضا على أي اعتماد آخر على مكتبات الطرف الثالث.

خيار آخر هو الارتباط مع نظام التشغيل CRT، كما يوضح Koby Kahane هنا.

لقد قمت بإجراء DLL مخصص لمشروع الإعداد الخاص بي. بلدي DLL بسيط جدا، وتسجيل عدد قليل من الخدمات، وليس CLR أو أي حزب 3 ليب تعتمد. ربطت ثابتة مع msi.lib فقط.

لقد قمت بإزالة المتطلبات الأساسية .NET و Windows Installer المتطلبات الأساسية من مشروع الإعداد. فشل الإعداد الخاص بي على Minines غير مصاب.

كما لم أحصل على أي رمز يعتمد .NET، ما يجب أن يكون الحل لهذا. لا أريد أن يقوم المستخدم بتنزيل الإطار أولا للتثبيت.

تحياتي amit.

هنا يمكنك العثور على مثال قصير باستخدام DLLS C ++ للحصول على إجراءات مخصصة:

http://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects- و-custom-actions/

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