PDA

View Full Version : اجرای RunTime برنامه های اکسس



شاپرک
چهارشنبه 11 مرداد 1385, 08:55 صبح
این مطلب رو جناب سنبله کار مطرح کردند .. به نظرم مطلب جالبیه ...گفتم بهتره براش یک تاپیک اختصاصی بزنیم .
بحث قبلی تو این تاپیک بود :
http://www.barnamenevis.org/forum/showthread.php?t=49323

بهترین روش برای بستن همه چیز runtime است
اگر فایلتون با سوییچ runtime/ اجرا بشه برنامه شما در محیطی محافظت شده و بدون حتی یک اعلان اکسس فعال میشه .
برای این کار هم می تونید بوسیله Shortcut آدرس دهی کنید .
از شر همه پنجره های اضافی هم راحت می شید .


داخل سی دی آفیس در این شاخه FILES\ACCRT دو تا فایل داری که با اجرای ACCESSRT.MSI ( که فایل نصبی هست ) روی کامپیوتر کاربر اکسس به صورت runtime فعال می شه و با اجرای فایل خودت فقط به صورت یک برنامه بدون امکان تغییرات و دسترسی به منوها کاربر می تونه استفاده کنه .

یادت باشه که اگر روی سیستم خودت نصبش کنی اکسست تبدیل می شه و دیگه نمی تونی طراحی کنی .
اما برای اینکه اون حالت رو تجربه کنی بدون خراب شدن اکسست می تونی از سوئیچ مورد اشاره در بالا استفاده کنی .
در سی دی آفیس با اجرای ACCESSRT.MSI روی سیستم کاربر می توانید بدون نصب اکسس از برنامه های خود به صورت runtime استفاده کنید .
بهترین روش برای بستن همه چیز runtime است
این خط را run کنید
________________________________________
C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE yuorfilename.mdb /runtime

شما می توانید برنامه را هنگام اجرا چک کنید که اگر کاربر اونو بدون runtime اجرا کرده بود خارج شده و به صورت runtime اجرا شود

چطور باید چک کرد ؟

SysCmd(acSysCmdRuntime)

Ali_Fallah
چهارشنبه 11 مرداد 1385, 09:37 صبح
با تشکر از شاپرک
چگونگی اجرای RUNTIME رو در صورت نصب آفیس رو هم توضیح بدید. ممنون

moustafa
جمعه 13 مرداد 1385, 18:35 عصر
ضمن تشکر از اقا/خانم سنبله کار وشما شاپرک
اگه ممکنه از اول شروع کنید که چه مراحلی را باید طی کنیم

moustafa
شنبه 14 مرداد 1385, 00:50 صبح
به نقل از اقای کامران کامرانی :


در مورد RunTime که شاپرک عزیز مطالبش رو جمع آوری کرد باید بگم که در CD آفیس 2003 پوشه ای بنام FILES هست که در اون بازم پوشه ای بنام ACCRT که در این پوشه یه فایل نصبی بنام ACCESSRT هست اون رو نصب کن البته برای جواب گرفتن بایستی آفیس رو سیستم نصب نباشه یا اینکه موقع نصب آفیس ACCESS نصب نکنی. در این صورت برنامه ای که دراکسس درست کردی بصورت EXE در میاد ونمیتونی تغییری روش اعمال کنی چون اکسس نصب شده نداری. موفق باشی
من تا این اندازه بلد بودم شاید بقیه دوستان مطالب بیشتری بلد باشند

mohsenna30ri
شنبه 14 مرداد 1385, 07:11 صبح
جهت استفاده از سوئیچ runtime /آدرسدهی محل نصب اکسس و خود برنامه مهم است و فکر کنم اگر نام فایلتان دارای فاصله خالی باشد یا مسیر نصب آفیستان دارای فاصله خالی باشد باید عبارت مسیر اکسس و نام فایلتان را داخل گیومه قرار دهید

سنبله کار
شنبه 14 مرداد 1385, 07:46 صبح
ضمن تشکر از اقا/خانم سنبله کار وشما شاپرک
اگه ممکنه از اول شروع کنید که چه مراحلی را باید طی کنیم
ممنون (آقای سنبله کار)
از این که این مبحث مورد توجه قرار گرفت خوشحالم .
مراحل خیلی ساده هستند و در تاپیک قبلی که توسط شاپرک لینک شده آمده لطفا تست کنید و در صورت بروز اشکال بفرمائید .

شاپرک
شنبه 14 مرداد 1385, 07:52 صبح
به نظر من که بحث جالبیه اگه ممکنه همین جا ادامه بدید .

سنبله کار
شنبه 14 مرداد 1385, 08:18 صبح
چشم پیشنهاد می کنم دوستانی که مرحله ورود با runtime را جواب گرفتن به این مرحله وارد بشن .
شما ممکنه هنگام انتشار برنامتون از این روش استفاده کنید اما آیا مطمئن هستید که کاربر خریدار برنامه شما حتما از همین راه وارد بشه چرا که اکثر کاربرها روی سیستمشون آفیس کامل دارن و خوب اگه با اکسس کامل بازش کنن برنامه شما فاقد اون قابلیت اولیه می شه .
پس باید کاری کنید که برنامه خودشو هنگام اجرا چک کنه که اگر کاربر اونو بدون runtime اجرا کرده بود خارج شده و به صورت runtime اجرا بشه
این کد می تونه هنگام لود اولین فرم اجرا بشه


if SysCmd(acSysCmdRuntime) = false then
Shell Chr(34) & "msaccess.exe" & Chr(34) & " " & Chr(34) & Application.CurrentProject.FullName & Chr(34) & " /runtime", vbMaximizedFocus
DoCmd.Quit acQuitPrompt
End If

چطوره ؟

Ali_Fallah
شنبه 14 مرداد 1385, 08:44 صبح
أقای سنبله کار بفرمایید که این کد رو در کجا باید استفاده کرد ...

شاپرک
شنبه 14 مرداد 1385, 09:17 صبح
من فکر میکنم موقع اجرای برنامه یعنی لود شدن فرم اصلی برنامه .....

سنبله کار
شنبه 14 مرداد 1385, 09:20 صبح
همونطور که عرض کردم این کد می تونه هنگام لود اولین فرم اجرا بشه


Private Sub Form_Load()
محل کد ...
End Sub

moustafa
شنبه 14 مرداد 1385, 10:48 صبح
با تشکر
من الان تمرکز کافی ندارم ولی با یه برنامه اکسس دیگه میشه برنامه دیگه راتحت تاثیر قرار داد مثلا شیفت را از حالت قفل خارج کرد گزارشی را چاپ کرد.........
به این کد نیز میشه حمله کردیا نه ؟

moustafa
شنبه 14 مرداد 1385, 10:56 صبح
درهمان مسیر اولیه که گفتید یه پوشه بنامvs run time
وجودداره کار اون چی ؟
البته من visual studio نصب کردم

سنبله کار
شنبه 14 مرداد 1385, 11:01 صبح
دوست خوبم
این کد چون داخل فرم قرار داره با تبدیل به mde قابل حمله نیست و با هر بار لود شدن فرم ، کار می کنه .
مگر اینکه کاربر از اون فرم صرف نظر کنه که اگر روی تمام فرمها باشه باید از همشون صرف نظر کنه یا اینکه برنامه را decompile کنه که فقط پوسته فرمها را خواهد داشت و کد نویسیهای برنامه به دست نمی آیند که بتوان این قسمت آنها را جدا کرد و از بقیه برنامه استفاده کرد .

moustafa
شنبه 14 مرداد 1385, 11:11 صبح
راست میگی اصلان mde را فراموش کرده بودم!!!

سنبله کار
شنبه 14 مرداد 1385, 11:26 صبح
راست میگی اصلان mde را فراموش کرده بودم!!!
چون من خیلی ADP رودوست دارم ADE رو هم بهش اضافه کنید .

Ali_Fallah
شنبه 14 مرداد 1385, 12:24 عصر
باسلام مجدد من کدی که آقای سنبله کار گفتند استفاده کردم جواب میده ولی با شیفت اینتر دوباره میشه به طراحی و... دسترسی داشت
چطور این گزینه رو غیر فعال کنیم
البته در صورت نصب اکسس
ممنونم

سنبله کار
شنبه 14 مرداد 1385, 12:39 عصر
البته همونطور که عرض کردم شما برای توزیع برنامه از این کد استفاده می کنید پس باید توجه داشته باشید که :
1-یک کپی از برنامه خود کنار بگذارید
2-کد بالا را برای runtime به فرمها اضافه کنید
3- کد زیر را برای غیر فعال کردن shift استفاده کنید

CurrentProject.Properties.Add "AllowBypassKey", False
4- فایل خود را به MDE یا ADE تبدیل کنید

Ali_Fallah
یک شنبه 15 مرداد 1385, 08:13 صبح
من استفاده کردم ولی نشد...

سنبله کار
یک شنبه 15 مرداد 1385, 08:27 صبح
روی کدوم مشکل دارید :
runtime یا shift

Ali_Fallah
یک شنبه 15 مرداد 1385, 08:59 صبح
من تمام کدهایی که گفتید استفاده کردم ولی بازم میشه با شیفت اینتر دوباره به طراحی دسترسی داشت ضمنآ گفتید که کد مربوطه چک میکنه که با RUNTIME اجرا کرده اید یانه وگرنه اجرا نمیشه ولی روی سیستم من اصلا RUNTIME نصب نیست و اجرا هم میشه تازه روی سیستم دیگه ای هم امتحان کردم همین کدها رو ولی براحتی باز میشه
بصورت RUNTIME اجرا میشه ولی با شیفت اینتر هم دیتا بیس باز میشه...

البته این کد CurrentProject.Properties.Add "AllowBypassKey", False رو هم در ON OPEN فرم کپی کردم حالا نمیدونم درسته یا نه...

سنبله کار
یک شنبه 15 مرداد 1385, 09:46 صبح
کدی که برای غیر فعال کردن shift داده بودم برای اکسس پروجکت بود شما باید از این کد استفاده کنید .

Private Sub Form_Open(Cancel As Integer)

ChangeProperty "AllowBypassKey", DB_Boolean, False

If SysCmd(acSysCmdRuntime) = False Then
Shell Chr(34) & "msaccess.exe" & Chr(34) & " " & Chr(34) & Application.CurrentProject.FullName & Chr(34) & " /runtime", vbMaximizedFocus
DoCmd.Quit acQuitPrompt
End If

End Sub


Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270

Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function


برای آزمایش هم این نمونه را قرار می دهم .

Ali_Fallah
یک شنبه 15 مرداد 1385, 11:16 صبح
ممنون . من کد رو تست نکردم ولی فایل ضمیمه رو نگاه کردم ظاهراً بایستی فایل رو MDE کرد تا جواب بده
...

سنبله کار
یک شنبه 15 مرداد 1385, 11:58 صبح
ممنون . من کد رو تست نکردم ولی فایل ضمیمه رو نگاه کردم ظاهراً بایستی فایل رو MDE کرد تا جواب بده
...
ضرورتا MDE نیاز نیست ولی کار از محکم کاری عیب نمی کنه.

Ali_Fallah
یک شنبه 15 مرداد 1385, 14:13 عصر
متشکرم خوب بود ...

سنبله کار
یک شنبه 15 مرداد 1385, 14:25 عصر
اگر تست کردید پیشنهاد می کنم شما و دیگر دوستان برای اینکه از هر نظر نتیجه بگیریم روی نمونه آزمایش کنید تا ببینیم راه نفوذ داره یا نه ؟
ممنون

mohsenna30ri
چهارشنبه 18 مرداد 1385, 06:20 صبح
بابا اگر تو برنامه های سنگین هم بشه اینجوری محدود سازی کرد که حرف نداره
اگر میشه اصلش رو بدون غیر فعال کردن شیفت آپلود کنید

سنبله کار
چهارشنبه 18 مرداد 1385, 08:26 صبح
کدش رو که نوشتم
اینم اصلش

HAMRAHSOFT.IR
دوشنبه 10 مهر 1385, 09:20 صبح
بهترین راه وقشترین راه این که برای برنامه خود اینستال بسازیدو برنامه خود را بصورت نصبی در اوردید

که برای این کهر برنامه مختلفی هست

من برنامه دارم که تمام این مراحا را انجام مدهد فقط در کمال شرمندگی قیمت که نرم افزار فوق را خریدم گران است ولی حاضرم درصورتی که کسانی که نرم افزار فوق را خواستارهستنی به بشتر از 10 نفر برسد بصورت نصف قیمت بفروشم


در اینم تبلقیست که فوشنده اصلی نرم افزار از ان کرده


تبدیل اکسس به exe
تبدیل database های مبتنی بر access به exe ، بدون نیاز به نصب office و تغییر در database شما ، قابلیت install و uninstall کردن از روی CD ، امکان اضافه کردن Help فارسی ، ایجاد shortcut با ایکون مورد نظر شما ، امکان ایجاد product code ، code upgrade و version بندی محصولات ، اضافه کردن agreement license ، banner Image و غیره...

قیمت: 20000 اصل نرم افزار تومان

سنبله کار
دوشنبه 10 مهر 1385, 09:28 صبح
دوست عزیز :
1- اینجا جای تبلیغات و فروش نرم افزار نیست برای اینکار بخشهایی در نظر گرفته شده .
2- قبل از معرفی امکانات هر نرم افزار نام اون باید معرفی بشه .
3- غلطهای املایی زیادی در پستهای شما دیده می شه لطفا اصلاح کنید .
با تشکر

Fazaeli
چهارشنبه 12 مهر 1385, 21:38 عصر
جناب mrz9000 بزودی برنامه Access Developer را در یک پست جدید (لینک در سایت خودم) آپ لود میکنم تا دوستان استفاده کنند(حجمش 3تا 4 مگا بایت است، وقت زیاد میبره) دوستان منتظر باشند حتماً .
م.فضائلی

Fazaeli
چهارشنبه 12 مهر 1385, 23:11 عصر
در جواب جناب mrz9000حتماً به تاپیک http://barnamenevis.org/forum/showthread.php?t=53844یه سر بزنید جالبه دوستان

HAMRAHSOFT.IR
پنج شنبه 13 مهر 1385, 08:54 صبح
دوستان من نخواستم تبلیغ کنم نه چیزی ولی اینوبگه که نرم افزار که من مگم اسمش این نیست

ودر این زمین دیگرصحبت نمکنم

reza_hhh
سه شنبه 25 اردیبهشت 1386, 07:24 صبح
جهت استفاده از سوئیچ runtime /آدرسدهی محل نصب اکسس و خود برنامه مهم است و فکر کنم اگر نام فایلتان دارای فاصله خالی باشد یا مسیر نصب آفیستان دارای فاصله خالی باشد باید عبارت مسیر اکسس و نام فایلتان را داخل گیومه قرار دهید



مانند
"C:\Program Files\Microsoft Office\Office 11\MSAccess.exe"" D:\My Files\Taxes.mdb"

golabeton
شنبه 01 تیر 1392, 12:03 عصر
بهترین راه وقشترین راه این که برای برنامه خود اینستال بسازیدو برنامه خود را بصورت نصبی در اوردید

که برای این کهر برنامه مختلفی هست

من برنامه دارم که تمام این مراحا را انجام مدهد فقط در کمال شرمندگی قیمت که نرم افزار فوق را خریدم گران است ولی حاضرم درصورتی که کسانی که نرم افزار فوق را خواستارهستنی به بشتر از 10 نفر برسد بصورت نصف قیمت بفروشم


در اینم تبلقیست که فوشنده اصلی نرم افزار از ان کرده


تبدیل اکسس به exe
تبدیل database های مبتنی بر access به exe ، بدون نیاز به نصب office و تغییر در database شما ، قابلیت install و uninstall کردن از روی CD ، امکان اضافه کردن Help فارسی ، ایجاد shortcut با ایکون مورد نظر شما ، امکان ایجاد product code ، code upgrade و version بندی محصولات ، اضافه کردن agreement license ، banner Image و غیره...

قیمت: 20000 اصل نرم افزار تومان

سلام
میشه اسم نرم افزار رو بگین تا منم اونو تهیه کنم؟
ممنون میشم.

aromega65
شنبه 01 تیر 1392, 21:46 عصر
میشه اسم نرم افزار رو بگین تا منم اونو تهیه کنم؟
mdecompiler (http://barnamenevis.org/showthread.php?335200-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8Cmdecompiler-%D8%AF%D8%B1-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%A8%D9%87-EXE)

hamid-nice
یک شنبه 23 تیر 1392, 22:34 عصر
کدش رو که نوشتم
اینم اصلش
با سلام
با تشکر از جناب سنبله کار که فایل ارزنده ای را در پست 28# قرار دادند
یک مساله ای که وجود داره این هست که وقتی فایل پسورد داشته باشه هنگام باز کردن اون، پسورد دوبار پرسیده می شود فایل زیر با پسورد 123 ضمیمه شده است
اگر کسی بتونه این مشکل را رفع کنه ممنون میشیم
با تشکر

hamid-nice
یک شنبه 30 تیر 1392, 20:02 عصر
اساتيد گرامي ، دوستان ، حرفه اي ها ، لطفا
راهكاري برای سوال پست قبل وجود دارد؟
در ضمن اينكه دستور Shell نوشته شده در فايل مذكور ، as double مي باشد
اما بیشتر فکر می کنم به این دلیل است که چک می کند و چون فایل در حالت runtime اجرا نشده آنرا می بندد و دوباره اما در حالت runtime باز می کند و از اینرو دوبار پسورد پرسیده می شود
بنابراین فکر می کنم برای این هم مثل macro security level باید به دنبال راهکار خارجی باشیم یعنی نه استفاده از کد داخل خود فایل تا قبل از باز کردن فایل و اجرای کد ، آنرا از اول در حالت runtime باز کند

اگر دستور جايگزيني یا راهکار دیگری هم باشد خيلي خوب است
با تشكر

hamid-nice
سه شنبه 26 شهریور 1392, 23:21 عصر
اساتيد گرامي ، دوستان ، حرفه اي ها ، لطفا
راهكاري برای سوال پست قبل وجود دارد؟
در ضمن اينكه دستور Shell نوشته شده در فايل مذكور ، as double مي باشد
اما بیشتر فکر می کنم به این دلیل است که چک می کند و چون فایل در حالت runtime اجرا نشده آنرا می بندد و دوباره اما در حالت runtime باز می کند و از اینرو دوبار پسورد پرسیده می شود
بنابراین فکر می کنم برای این هم مثل macro security level باید به دنبال راهکار خارجی باشیم یعنی نه استفاده از کد داخل خود فایل تا قبل از باز کردن فایل و اجرای کد ، آنرا از اول در حالت runtime باز کند

اگر دستور جايگزيني یا راهکار دیگری هم باشد خيلي خوب است
با تشكر
همانطور که گفتم راهکار خارجی لازم است که برای این منظور به لینک زیر مراجعه نمایید
http://barnamenevis.org/showthread.php?390404-%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C-%DB%8C%DA%A9-%D9%81%D8%B1%D9%85-%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D9%BE%D8%B3%D9%88%D8%B1%D8%AF-%D8%AF%D8%A7%D8%B1-%D8%8C-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-%D8%AF%DB%8C%DA%AF%D8%B1-%D8%A7%DA%A9%D8%B3%D8%B3&p=1878232&viewfull=1#post1878232
موفق باشید