PDA

View Full Version : ریجیستر کردن dll ها در ویستا



dr.pantagon
یک شنبه 13 اردیبهشت 1388, 12:00 عصر
سلام

من برنامه خودم رو روی xp نوشتم و به خوبی جواب می ده ولی روی ویستا که می رم به محض اجرا برنامه می خواد ocx رو بخونه که خطای ریجیستر نبودن ocx رو میده

من می دونم چه جوری ocx رو ریجیستر کنم ولی روشی که من بلدم زیاد به درد کاربر ها با سطح علمی پایین نمی خوره

حالا کسی راهی سراغ داره که بشه با برنامه نویسی این کار رو انجام داد و از شر این درد سر خلاص شد ؟
راه حل من :

Run AS Cmd From administrator user
regsvr32 file.ocxولی حالا بخوام این کار رو به یک یوزر بگم اونم از پشت تلفن زیاد جالب نیست

Babak.Hassanpour
یک شنبه 13 اردیبهشت 1388, 13:53 عصر
برنامه PEBundle که معرفی کرده بودم ،براتون جواب نداد؟
ازین دست برنامه ها بازم دارم.بزارین روی ویستا تست کنم ، اگه جواب داد میزارم.
شما با ترکیب همین دستوری که گفتید با تابع شل وی بی ، می تونید اینکار رو بکنید.


Shell "regsvr32.exe /s " & """" & [Path and FileName] & """", vbHide

یه راه ساده واسه کاربران شما
یک فایل متنی با پسوند reg ایجاد کنید و این رو بریزید توش.


Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\dllfile\Shell]
[HKEY_CLASSES_ROOT\dllfile\Shell\Register]
[HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
@="regsvr32.exe \\\"%1\\\""
[HKEY_CLASSES_ROOT\dllfile\Shell\UnRegister]
[HKEY_CLASSES_ROOT\dllfile\Shell\UnRegister\command]
@="regsvr32.exe /u \\\"%1\\\""


به کاربر بدید و بگید اجراش کنه.بعد روی هر فایل DLL که مشکل داشت کلیک راست کنه و گزینه رجیستر رو بزنه.می تونید این کد رو ،واسه اکتیو ایکس ها هم توسعه بدید.کافیه بجای Dllfile گزینه مربوطه رو بزارید ،یعنی ocxfile

اینم نمونه کد (http://barnamenevis.org/forum/attachment.php?attachmentid=30478&stc=1&d=1241345215)


موفق باشید و ایضا کاربرانتون موفق باشند

dr.pantagon
یک شنبه 13 اردیبهشت 1388, 18:08 عصر
نه برنامه PEBundleرو ویستا جواب نداد ولی برنامه خوبی بود به کارم اومد تو xp

Shell "regsvr32.exe /s " & """" & [Path and FileName] & """", vbHide
از این کامند استفاده کردم قبلا ولی خوب از اونجایی که 90% vista کار ها با یوزر هایی غیر از administartor کار می کنن جواب نمی ده حتی اگر سطح دسترس کامل داشته باشه یوزر میگه باید به وسیله ادمین ریجیستر بشه راه دوم رو تست می کنم خبرش رو همین جا می زارم متشکر

dr.pantagon
پنج شنبه 17 اردیبهشت 1388, 20:10 عصر
نه این کار هم فایده نداره و فقط می مونه همون run as admin

کسی راه حل نداره

Babak.Hassanpour
پنج شنبه 17 اردیبهشت 1388, 20:30 عصر
فکر کنم تنها راه ایجاد ستاپ واسه برنامه است.اینجوری توی ویستا ، همون اول که به برنامه اجازه نصب می دی ، تمام کامپوننت ها هم رجیستر میشن.

b3st.programmer
پنج شنبه 17 اردیبهشت 1388, 20:43 عصر
آره این مشکل منم هست.... این ویستا هرس آدم رو در میاره...برای درست کردن یه برنامه یک هفته الاف بودم...اگه میشه یه راه حل عملی بگید تا ما هم استفاده کنیم..:لبخندساده:

dr.pantagon
پنج شنبه 17 اردیبهشت 1388, 22:51 عصر
آخ گفتی ، آخه کل برنامه من یک 2 تا فایل است یک exe یک dll نمی خواستم setup درست کنم زیاد جالب نیست
اگه راه حل دیگه ای دارید لطفا بگید

dr.pantagon
جمعه 18 اردیبهشت 1388, 15:58 عصر
کسی چیزی نمی دونه ؟