PDA

View Full Version : رجیستر کردن DLL



bpzone
دوشنبه 12 شهریور 1386, 16:12 عصر
سلام به همگی

من یک برنامه نوشتم که از یه سری DLL استفاده کردم و اونها رو به محیط .NEt اضافه کردم
حالا سوالم این هست که اگه بخوام exe این برنامه رو روی یک کامپیوتر دیگه اجرا کنم .. فقط کپی کردن DLL ها در کنار فایل exe کافی هست یا اینکه باید DLL ها رو توی ویندوز رجیستر کنم ؟؟؟؟

ممنون از همگی

MH2538
دوشنبه 12 شهریور 1386, 16:18 عصر
سلام
اگر DLLهای شما Activex باشند نیاز به رجیستر کردن دارند .
در غیر اینصورت خیر.

bpzone
دوشنبه 12 شهریور 1386, 20:01 عصر
مشکل من اینجا هستش که من exe خودم رو وقتی روی یک سیستم دیگه میخوام هجرا کنم ، error میده و اجرا نمیشه و میگه فلان کلاس رجیستر نشده ( تمام dll ها رو هم کنار فایل exe کپی کردم ) ؟!؟!؟!؟!

hdv212
دوشنبه 12 شهریور 1386, 20:56 عصر
در صورتی که شما از dll های غیر دات نت استفاده کرده باشید، بایستی اونا رو توی سیستم هدف رجیستر کنید، ولی اسمبلی های یا dll های دات نت نیازی به رجیستر ندارن چون خودشون Self Register هستن.

bpzone
دوشنبه 12 شهریور 1386, 21:43 عصر
چه جوری باید یک DLL رو توی یک سیستم دیگه رجیستر کنم ...
اگه بخوام برای برنامم Setup بسازم ، توی ساخت Setup باید چه تنظیماتی انجام بدم ؟؟؟؟؟

mehdi.mousavi
پنج شنبه 15 شهریور 1386, 16:08 عصر
چه جوری باید یک DLL رو توی یک سیستم دیگه رجیستر کنم ...
اگه بخوام برای برنامم Setup بسازم ، توی ساخت Setup باید چه تنظیماتی انجام بدم ؟؟؟؟؟


سلام.
شما فقط DLL و EXE Server هایی رو Register می کنید، که توسط تکنولوژی COM درست شده باشن. فایلهای OCX یا همون ActiveX ها، فایلهای .AX یا همون فیلترهای DirectShow و ... از این قبیل هستن. هر چیز دیگه ای از این قاعده مستثنی هستش.

اما برای Register کردن، اگر قایلتون چیزی غیر EXE هست، تو Command Prompt اینو بنویسید:

regsvr32 myfile.dll

اگر EXE Server هستش، و با ATL یا MFC درست شده، بنویسید: (به شرطیکه با Compiler مایکروسافت کامپایل شده باشه، چون فکر میکنم این سوئیچها برای Component های ساخته شده توسط کامپایلر شرکت بورلند متفاوته).

myExeFile.exe /regserver

پاورقی:
پیام خطایی که میگیرید دقیقا چی هست؟

bpzone
جمعه 16 شهریور 1386, 10:35 صبح
برای برنامه Setup ساختم
بعد از نصب برنامه مشکلی که داشتم ( نشناختن فایلهای DLL توسط ویندوز ) برطرف شد ...

ممنون از همگی