PDA

View Full Version : اجرای exe برنامه بدون نصب !



ali_kolahdoozan
یک شنبه 06 اسفند 1385, 00:38 صبح
سلام بر همه

فایل exe تولیدی در vb6 اگر بخواهم به صورت حتمی دیگه روی همه سیستمها کار بده . و نخواهم نصبش کنم باید چیکار کنم ؟ dll یا چیز دیگری باید کنار exe باشه ؟ میخواهم باهاش autorun بسازم . پس نصب بی نصب

CodeMasterX
یک شنبه 06 اسفند 1385, 02:51 صبح
علی جان exe های وی بی مثل exe های مثلا C همینجوری اجرا نمیشن.حد اقل اگر از DLL یا ActiveX خاصی استفاده نکرده باشی باید VisualBasic Runtime رو نصب کنی که مجموعه یه سری DLL و OCX هست.نسخه نهایی اونو هم از سایت خود مایکروسافت میتونی بگیری حجمی هم نداره.
به هر حال exe وی بی اجرا شندشون ملزومه این هست که DLL ها و OCX ها و کلا منبع و کنترل هایی رو که مورد استفاده قرار گرفتند رو برای سیستم مربوطه رجیستر کنی.

موفق باشی!

Reza Safa
یک شنبه 06 اسفند 1385, 07:40 صبح
agar az active x ya dll estefadeh kardi hamoonaroo hamrahe faile exe dar rootDirectory
gharar bedeh ye file dige hast ke hamishe bayad hamrahesh bashe msvbvm60.dll

SeniorDevs
یک شنبه 06 اسفند 1385, 10:26 صبح
سلام،

دوست عزیز، تمامی برنامه های VB6.0 دارای یک ماشین مجازی به نام MSVBVM60.DLL می باشند که تقریبا تمامی توابع، TypeLibraryها و کلاس ها و ماژول های مورد نیاز برای اجرای یک برنامه VB6.0 را در خود جای داده است بنابراین اگر شما برای نوشتن برنامه خود فقط از ToolBox ویژوال بیسیک استفاده کردید و هیچ ActiveX دیگری در برنامه شما وجود ندارد فقط کافی است که MSVBVM60.DLL را در پوشه ایی که فایل EXE ی شما موجود است قرار دهید و اگر ActiveX ها و DLL های متفرقه دیگری هم در برنامه شما مورد استفاده قرار گرفته است باید در پوشه برنامه تان قرار دهید و در صورت لزوم آنها را در رجیستری ویندوز Register کنید که به صورت زیر می باشد:

ابتدا یک فایل با پسوند BAT در پوشه برنامه تان ایجاد نمایید و درون آن کد زیر را وارد کنید و به کاربرانتان بگویید که قبل از اجرای برنامه تان حتما روی این فایل BAT کلیک کنند تا اجرا شود و تمامی Components های شما را Register نماید.



regsvr32.exe /s YourActiveXName1.ocx
regsvr32.exe /s YourActiveXName2.ocx
regsvr32.exe /s YourDLLName1.DLL
regsvr32.exe /s YourDLLName2.DLL
.
.
.

Bahram0110
یک شنبه 06 اسفند 1385, 11:33 صبح
با سلام
فکر کنم فایل MSVBVM60.dll همراه خود ویندوز XP نصب می شه و اگه فایل اجرایی رو بدون ابزار های اضافی نوشته باشی نیازی به نصب هیچ برنامه ای نیست!

oVERfLOW
یک شنبه 06 اسفند 1385, 11:48 صبح
من برای این کار از یه Installer به جای Autorun استفاده کرده بودم
به این صورت که یه Installer که با NSIS نوشته بودم می‌اومد چک می‌کرد که آیا VB Runtime روی سیستم نصب هست یا نه
اگه نصب بود که برنامه‌ی اصلی رو اجرا می‌کرد
اگه نصب نبود اول به صورت Silent فایل‌های مربوطه رو در ویندوز کپی و رجیستر می‌کرد بعدش Autorun ...

SeniorDevs
یک شنبه 06 اسفند 1385, 11:53 صبح
جناب Bahram0110 تمامی components های اصلی VB6.0 فقط و فقط در ویندوز VISTA موجود می باشد و در ویندوز XP بصورت پیش فرض موجود نیستند.

اگر در ویندوز XP شما این VB RunTime ها موجود می باشند به این دلیل است که شما یک برنامه ای که با VB6.0 ساخته شده است را قبلا روی سیستم خود نصب کرده اید.

ali_kolahdoozan
یک شنبه 06 اسفند 1385, 13:56 عصر
مرسی مشگلم حل شد

Bahram0110
یک شنبه 06 اسفند 1385, 15:56 عصر
جناب Bahram0110 تمامی components های اصلی VB6.0 فقط و فقط در ویندوز VISTA موجود می باشد و در ویندوز XP بصورت پیش فرض موجود نیستند.

اگر در ویندوز XP شما این VB RunTime ها موجود می باشند به این دلیل است که شما یک برنامه ای که با VB6.0 ساخته شده است را قبلا روی سیستم خود نصب کرده اید.

آخه من اون برنامه رو روی ویندوزی که جدیدا هم نصب کردم امتحان کردم! شاید من اشتباه می کنم. . .
شاید فردا انکارش کنم D:

حامد مصافی
یک شنبه 06 اسفند 1385, 16:05 عصر
جناب Bahram0110 تمامی components های اصلی VB6.0 فقط و فقط در ویندوز VISTA موجود می باشد و در ویندوز XP بصورت پیش فرض موجود نیستند.

اگر در ویندوز XP شما این VB RunTime ها موجود می باشند به این دلیل است که شما یک برنامه ای که با VB6.0 ساخته شده است را قبلا روی سیستم خود نصب کرده اید.
در ویندزو XP ماشین مجازی وی بی نسخه 6 به طور پیشفرض نصب است

SeniorDevs
یک شنبه 06 اسفند 1385, 17:48 عصر
دوست عزیز، جناب BlackDal من نسخه رجیستر شده MS Windows XP Professional را خریده ام و می توانم با جرات بگویم که MSVBVM60.DLL بصورت پیش فرض در ویندوز XP موجود نیست اگر هم در مورد ویندوز شما ماشین مجازی VB6.0 بصورت پیش فرض نصب است به این دلیل است که احتمالا شرکت های ایرانی که اکثر ویندوز های XP را فارسی می کنند (به عبارت بهتر خراب می کنند) از VB6.0 برای نوشتن برنامه هایشان استفاده می کنند بنابر این در همان CD WinXP شما مجبورند که MSVBVM60.DLL را بگذارند.

شما اگر در سایت Microsoft هم جستجو کنید مطالب مربوط به عدم وجود MSVBVM60.DLL را خواهید یافت.

حامد مصافی
یک شنبه 06 اسفند 1385, 21:44 عصر
کسی که با VB برنامه می نویسه ماشین مجازی رو همراه فایل نصاب قرار میده. نه به همراه ویندوز!!!

همونطوری که قبلاً به عرض رسوندم این فایل در ویندوز اکس پی وجود داره
البته این نسخه از ماشین مجازی داای اشکالاتی نیز بود (مثل همه محصولات مایکروسافت) ولی در Win 2003 Server و SP2 این اشکالات برطرف شدند
برای مثال اشکالاتی در تابع SendKeys یا بوجود آمدن منطقه بحرانی در فراخوانی بعضع توابع API, کار نکردن ListBox با کاراکتر هایی مثل کاراکتر های Hebrew چند نمونه از این اشکالات بودند.
در مورد مطالبی که فرمودید در سایت مایکروسافت موجودند, خوشحال میشم پیوندی از آدرس های مورد نظر رو لطف کنید.



در ضمن بنده عرض نکردم ویندوز کرک شده یا فارسی شده یا هر نوع دیگر دارم!!!

oVERfLOW
دوشنبه 07 اسفند 1385, 09:22 صبح
فایل‌های مربوط به VB از ویندوز ME به بالا توی ویندوز هست
برای مشاهده‌ی اطلاعات دقیق تر به مقاله‌ی شماره 272634 از MSDN مراجعه کنید