PDA

View Full Version : سوال: پرتابل کردن برنامه های vb6



amiralex
یک شنبه 21 آبان 1391, 21:38 عصر
لام به همه

نميدونم جاي سوال اينجا هست يا نه يا عنوان تايپك رو درست انتخاب كردم يا نه
اما خواهش ميكنم اگه كسي ميتونه كمك كنه
من يه برنامه با VB6 ساختم و الان تمام شده. برنامم شامل يه سري ديتابيس اكسس و يه سري Module.bas و OCX هست.
از منوي فايل گزينه ساخت EXE انتخاب كردم يه فايل EXE در محل تعين شده ساخته شد. من ديتابيس ها و اون مواردي كه نام بردم رو در پوشه كنار برنامه گذاشتم. روي سيستم خودم به درستي كار ميكنه.

اما وقتي برنامم رو به يه سيستم ديگه كه VB6 روش نصب نيست ميبرم ارور ميده. و خطا ميده كه يه فايل dll مربوط به ويژوال بيسيك رو نميشه باز كنه.
با برنامه ستاب ساز هم پيش رفتم اما باز هم نشد.
در واقع من ميخوام برنام بصورت protable باشه يعني بدون نياز به نصب روي همه سيستم ها حتي اونايي كه كاربر Limited هم هستند اجرا بشه

چي كار بايد بكنم؟
لطفا كمكم كنيد. خستگي ساختن اين برنامه به تنم ميمونه اگه نشه اجرا كنم.

ممنونم از همتون

SlowCode
یک شنبه 21 آبان 1391, 22:57 عصر
سلام
قبلا بحث شده ولی باز هم عرض میکنم.
دو راه داری:
1- استفاده از برنامه هایی مثل VMWare_ThinApp_Enterprise
2- همه کامپوننت ها و dll ه رو باید بزاری کنار برنامه، اینطوری خود سیستم اونا رو شناسایی میکنه و برنامت اجرا میشه. برای فهمیدن کامپوننت های مورد نیاز، پروژت رو با برنامه ای مثل setup factory اسکن کن و فایل ها رو پیدا کن و بزار کنار برنامت.

محسن واژدی
یک شنبه 21 آبان 1391, 23:47 عصر
سلام علیکم

تاپیک زیر را بررسی کنید:
http://barnamenevis.org/showthread.php?270261-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D8%AE%D9%88%D8%AF-%D8%B1%D8%A7-Portable-%DA%A9%D9%86%DB%8C%D9%85!-(%D8%A8%D8%AF%D9%88%D9%86-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D9%86%D8%B5%D8%A7%D8%A8)

همینطور:
http://barnamenevis.org/showthread.php?350647-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D9%BE%D8%B1%D9%88%DA%98%D9%87-vb6-(%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA%D 9%87%D8%A7%DB%8C-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B1%DB%8C%D8%B3%D9%88%D8%B1%D8%B3-%D9%88-%D8%B1%D8%AC%D8%B3%D8%AA%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A2%D9%86%D9%87%D8%A7)

موفق باشید

amiralex
دوشنبه 22 آبان 1391, 16:26 عصر
اقا محسن من طبق تحقيقي كه انجام برنام رو با Package & Deployment Wizard يك پك ساختم. حالا اومدم با اون برنامه Thinstall Virtualization Suite با رعايت تمام مراحل برنامم رو پرتابل كردم و درست شد.

حالا برنام رو توي يه كامپيوتر ديگه تست كردم درست كار ميكنه.
اما يه مشكلي هست و اونم اينه كه من برنامم رو تو يه پوشه FTP كه از طريق يه درايو مپ بهش وصلم قراردادم و شرتكاتش رو تو سيستمهاي مختلفي قراردادم. روي كامپيوترهايي كه كيس دارن به درستي عمل ميكنه. اما وقتي روي يه سيستم ديگه كه ويندوزش از شبكه خونده ميشه و كاربرهاي اون Limit هستند نميتونن ازش استفاده كن

در حقيقت وارد برنامه ميشه اما روي هر كدام از منوها كليك ميكند يه خطا ميده و از برنامه خارج ميشه. آيا راه حلي براي اين موضوع سراغ داريد؟
خطاي برنامه هم دقيقا يادم نيست اما ميگه يه چيزايي رجيستر نشده.

چي كار بايد بكنم؟

محسن واژدی
دوشنبه 22 آبان 1391, 19:06 عصر
در حال حاضر متاسفانه به Thinstall و شبکه دسترسی ندارم چک کنم، چون این برنامه داده های مورد نیاز را در Application-Data\Local-Settings ذخیره میکند ممکن است محدود بودن دسترسی کاربران مانع از ذخیره داده های برنامه در این فولدر و مانع از اجرای آن شود (البته در محدوده ی یک حدس هست :ناراحت:)

amiralex
دوشنبه 22 آبان 1391, 21:45 عصر
ممنونم از پاسختون. ولی خدا کنه اینطور که میگید نباشه. اگر اینطور بود چی کار باید بکنم؟ خیلی اعصابم خورد شده لین همه سعی کردم یه چیزی نوشتم حالا اینطوری شده. یه راه حلی به نظرتون میرسه؟

SlowCode
دوشنبه 22 آبان 1391, 22:12 عصر
بله، به نظر من هم آقای واژدی درست میگن.
از روش دیگری که واسه پرتابل سازی گفته شد استفاده کردی؟ امتحان کن به احتمال زیاد جواب میده.

amiralex
سه شنبه 23 آبان 1391, 09:11 صبح
سلام

راستش من روش ديگه ايي بلد نيستم. چي كار بايد بكنم؟

خطايي كه بعد از ورود به برنامه هنگام كليك بر روي هر منويي ميده اينه


94847


البته در كامپيوترهايي كه كيس دارن اين مورد اصلا اتفاق نميافته
من تمام DLL ها ( اونايي كه تو رسورس انتخاب شده بودند ) و تمام كامپونت ها (فايلهايي با پسوند OCA وOCX ) و حتي تمام Dll هاي خود برنامه VB6 رو در كنارش گذاشتم.

من اين مسير رو در رجيستري دنبال كردم در اين قسمت قرار داره

HKEY_CLASSES_ROOT------CLSID----

چي كار كنم؟

محسن واژدی
سه شنبه 23 آبان 1391, 11:35 صبح
سلام علیکم
اگه از نسخه Thinstall 4.x استفاده میکنید، در یکی از مراحل این امکان به ما میده تا تنظیم کنیم تنظیمات فایل در کجا ریخته شوند، گزینه دوم بود فکر کنم با متنی به این مضمون: Inside application که در صورت انتخاب تنظیمات برنامه در کنار فایل اجرایی ذخیره میشدند نه LocallSettings ، این مورد را هم بررسی کنید

موفق باشید

sharpboy
سه شنبه 23 آبان 1391, 20:28 عصر
این روش رو امتحان کن

1- با Run As Admin برنامه رو اجرا کن اگه بدون اشکال اجرا شد (اگه نشد مرحله 2 هم جواب نمیده)
2- یک بار کاربر رو ادمین کن برنامه رو اجرا کن و دوباره از ادمینی درش بیار

امتحان نکردم ولی شاید جواب بده