از Package & Deployment Wizard برای برنامم فایل نصبی ساختم و تمام dll هایی که خودش معرفی کرد رو به برنامه اضافه کردم . حالا رو یه سیستم دیگه برنامم رو نصب کردم ولی موقع اجرا این خطا رو که عکسش رو گذشتم میده. چیکارش کنم تا مشکلم حل بشه؟
چرا تایتلشو خط زدی ? :d
کاری نداره فایل crviewer.dll توی سیستم خودت سرچ کن و اضافه کن به فایلت
میتونی با برنام install creator یه پروژه بسازی و dll و ocx هات رو ادد کنی و راحت dll رو رو رجیستر کنی
موقع ساختن برنامه نصب اضافه کردمش.دستی چطوری باید یه فایل dll رو رجیستر کرد؟ فقط تو \WINDOWS\system32 کپی بشه کافیه؟
بهتره با برنامه setup اینکارو کنی
اما برای رجیستر کردن dll از دستور زیر استفاده کن
کد:
DIM PARVIN AS STRING
PARVIN = "C:\WINDOWS\PARVIN.DLL"
Shell "regsvr32 /s " & PARVIN, vbHide
با این دستور هم میتونی DLL رو بزاری تو ریسورس و ازش استفاده کنی ما خوب به این روش انتی گیر میده :
کد:
Private Sub Form_Load()
Dim strWSPath As String
strWSPath = GetWinDir & "SYSTEM32MSWINSCK.OCX"
Shell "regsvr32 /s " & strWSPath, vbHide
If Dir$(strWSPath) = "" Then
Dim bytResData() As Byte
'I'm sure that it's in the resource file and it will extract ok,
'so that's not a problem
bytResData = LoadResData(1, "CUSTOM")
Open strWSPath For Binary As #1
Put #1, , bytResData
Close #1
Shell "regsvr32 /s " & strWSPath, vbHide
DoEvents
End If
End Sub
Private Function GetWinDir() As String
'Returns the windows directory, like "C:WINDOWS"
'I didn't include it beacuse I know it works
End Function
پیدا کردم طریقه رجیستر کردن رو
تو run باید بنویسم regsvr32 "filepath"
و به جاي filepath مسير دقيق فايل را بايد مینوشتم. درست شد
خوب با SHELL اینکارو کن RUN چیه !
یه برنامه کوچیک هم الان دانلود کردم که این کارو میکنه به اسم
کد:
Emsa DLL Register Tool
دانلودش کنین .
پروین خانم هر چی من میگم باز حرف خودتون رو مزنید.
اگر بخواهیم یه برنامه به مشتری بدیم بره یه برنامه دیگه بگیره و .... بهت حسابی میخنده
با برنامه هی setup ساز هیچ مشکلی نیست
فایل setup دیگه وقتی نصب میکنید خودش ocx و dll ها رو تو پوشه سیستم 32 کپی میکنه و اتوماتیک رجیستر میکنه به شرطی که از قبل بهش بگید.
حالا روش خودتون رو با این روش مقایسه کنید به جواب سوالتون میرسید !