PDA

View Full Version : مشکل در ساختن exe برنامه



ladangh
شنبه 09 آبان 1383, 14:29 عصر
سلام به دوستان
من یک برنامه با دلفی نوشتم که از بانک sql server استفاده میکنه و نمیدونم چطوری
setup رو بسازم
البته تو سایت گشتم ولی چیزی پیدا نکردم.
من از installshield استفاده می کنم.
لطفا راهنمایی کنید.

AminSobati
شنبه 09 آبان 1383, 16:43 عصر
دوست عزیزم،
برای Distribute کردن نرم افزار خودتون، میتونیم اجزاء رو به دو بخش اصلی تقسیم کنیم:
1) برنامه exe شما و سایر Componentهایی که برنامتون مورد استفاده قرار داده (وقتی از ADO یا APIهای دیگه برای کانکت شدن به SQL Server استفاده کردین، اینها هم جزء Componentهایی هستند که باید به کامپیوتر کاربر منتقل کنین)
2) خود SQL Server

نسخه جدید نرم افزارهایی مثل Installshield قادر هستند لیستی از Componentها رو در اختیار شما قرار بدن تا با انتخاب هر کدوم از اونها، فایلهای لازم توسط Setup برداشته بشه تا موقع نصب، روی کامپیوتر کاربر قرار بگیرن.
خود SQL Server رو میتونین از کاربر بخواهید که نصب کنه یا اگر از MSDE به جای SQL Server استفاده کنین، Installshield نصب MSDE رو هم میتونه به عهده بگیره.
ضمنا دوستان در بخش مربوط به دلفی، تجربه خوبی در ساخت Setup برای برنامه های تولید شده توسط دلفی دارند.
موفق باشین،
امین ثباتی MCSD

vcldeveloper
یک شنبه 10 آبان 1383, 03:54 صبح
شما این مطلب رو توی بخش دلفی هم پست کردید!

اونجا هم بهتون جواب دادم. در صورت استفاده از ADO احتیاج به هیچ کار خاصی برای استفاده از SQL Server نیست (غیر از نصب خود SQL Server روی سیستم کاربر یا سرور شبکه اش) . البته ویندوز 95 خودش فایلهای ADO رو نداره و برای اون باید یه بسته نرم افزاری برای نصب ADO از سایت مایکروسافت دانلود کنید، اما ویندوزهای 98 به بعد همه خودشون ADO رو دارند و شما لازم نیست زحمت نصب اون رو بکشید. فقط برنامه خودتون رو عادی نصب کنید.

موفق باشید

AminSobati
یک شنبه 10 آبان 1383, 11:32 صبح
اما ویندوزهای 98 به بعد همه خودشون ADO رو دارند و شما لازم نیست زحمت نصب اون رو بکشید
البته دوست عزیزم ورژن ADO هم که ازش استفاده کردین مهمه. بهترین کار اینه که فایل MDAC_TYP.EXE رو از سی دی VS6 بردارین و روی کامپیوتر یوزر اجرا کنین.

ladangh
یک شنبه 10 آبان 1383, 13:56 عصر
آقای ثباتی میشه در مورد نحوه کار با ado بیشتر توضیح بدهید
این اولین setup من هست بنابراین اطلاعات کمی دارم

AminSobati
یک شنبه 10 آبان 1383, 14:36 عصر
دوست عزیزم،
من اطلاع ندارم شما در دلفی از چه ابزاری برای ارتباط با SQL Server استفاده کردین. چون تا جایی که من اطلاع دارم، در دلفی غیر از ADO، از ابزار دیگه ای هم میشه استفاده کرد.
اگر از ADO استفاده کردین، باید از آبجکتهایی مثل Connetion، Recordset و Command استفاده کرده باشین. اینها یک سری COM Object هستند که ارتباط کلاینت با سرور رو برقرار میکنند و در هر زبان COM Oriented مثل دلفی، VB، Visual Fox و Visual C میشه ازشون استفاده کرد. شما با چه ابزاری کار کردین؟

ladangh
یک شنبه 10 آبان 1383, 15:09 عصر
من از connection استفاده کردم وerror زیر را میگیرد

AminSobati
یک شنبه 10 آبان 1383, 22:48 عصر
از چه نرم افزاری برای ساخت setup استفاده میکنین

ladangh
دوشنبه 11 آبان 1383, 11:17 صبح
installshield

AminSobati
دوشنبه 11 آبان 1383, 14:21 عصر
دوست عزیزم،
من از جزییات کار شما در Setup اطلاع ندارم ولی از آخرین جمله در این پیغام خظا اینطور برداشت میشه که Setup نیاز داره تا به یک SQL Server کانکت بشه در حالیکه SQL Server وجود نداره یا امکان دسترسی به اون نیست.

MiRHaDi
سه شنبه 12 آبان 1383, 08:03 صبح
سلام
از ODBC استفاده نکن گیر میده
Provider خود SQL رو بذار


بچه ها هیشکی نگفت این بنده خدا توی SQLServer با استفاده از InstallShield چطوری بخواد دیتابیسش رو بذاره رو سیستم طرف و بهش بشناسونه ها !
قربان همه
بای

AminSobati
سه شنبه 12 آبان 1383, 14:00 عصر
مگه چنین کاری میخواستن بکنن؟! حتما این رو میدونن که بعد از Copy شدن فایل توسط Installshield، باید در اجرای برنامه اصلی فایلهای دیتابیس رو Attach کنن :)

ladangh
سه شنبه 12 آبان 1383, 15:09 عصر
از لطف همگی دوستان متشکرم.
من فایلهای دیتابیس رو copy میکنم اما چون در کامپپوتر کاربر sql نصب نیستو ODBC هم چیزی به اسم SqlServer رو نمیشناسه همچین مشکلی پیش میاید.

باید در اجرای برنامه اصلی فایلهای دیتابیس رو Attach کنن
منظورتون از این جمله چیه؟آقای کشاورز
از آقای میرهادی خواهش میکنم در این مورد کمی توضیح بدهند
Provider خود SQL رو بذار
البته دوستان کم اطلاعات بودن من رو به بزرگی خودشون ببخشند. :flower:

AminSobati
چهارشنبه 13 آبان 1383, 02:02 صبح
باید در اجرای برنامه اصلی فایلهای دیتابیس رو Attach کنن
منظور اینه که بعد از نصب SQL Server و برنامه اصلی(فایل exe)، وقتی برای بار اول یوزر برنامه شما رو اجرا میکنه باید چک بشه که آیا دیتابیس مورد نظر در SQL Server وجود داره یا نه. اگر نه، پس باید اون رو Attach کرد.

vcldeveloper
چهارشنبه 13 آبان 1383, 04:29 صبح
منظورتون از این جمله چیه؟آقای کشاورز
کدوم جمله؟!
من که مراحل اتصال از طریق ADOConnection و attach کردن database رو براتون توی تاپیکی که در بخش دلفی درست کرده بودید توضیح دادم :متفکر:
http://www.barnamenevis.org/forum/viewtopic.php?t=16457&highlight=

منظور از attach کردن اینه باید فایهای database شما یا در SQL Server توسط دستورات SQL ساخته بشه، یا اینکه روی سیستم خودت database رو طراحی کنی و فایهاش رو با برنامه ات روی سیستم کاربر کپی کنی. بعد از کپی فایلها روی سیستم کاربر باید این فایها به SQL Server پیوست (Attach) بشن تا SQL Server بتونه با اونا کار کنه و اونا رو به عنوان یک database بشناسه.
با استفاده از ADO در دلفی می تونی کاری کنی که در هنگام اتصال برنامه به SQL Server ، فایلهای بانک اطلاعاتی بطور اتوماتیک به سرور attach بشند (توضیحاتش رو توی تاپیک بالا دادم).


من فایلهای دیتابیس رو copy میکنم اما چون در کامپپوتر کاربر sql نصب نیستو ODBC هم چیزی به اسم SqlServer رو نمیشناسه همچین مشکلی پیش میاید.
عزیز من، SQL Server باید یا روی سیستم کاربر یا بر روی یه سرور در شبکه ای که کاربر به اون متصله نصب باشه تا شما بتونید ازش استفاده کنید!!! در مورد برنامه شما، از اونجا که گفتید تحت شبکه نیست، پس باید حتما SQL Server رو هم روی سیستم کاربر نصب کنید تا برنامه اتون بدرستی کار کنه!

ladangh
پنج شنبه 14 آبان 1383, 08:07 صبح
سلام به همگی دوستان
از توضیحات شما ممنونم.
از آقای کشاورز معذرت میخواهم اشتباه اسم ایشان را به جای آقای ثباتی آوردم.
با تشکر :flower: :flower: :flower:

AminSobati
پنج شنبه 14 آبان 1383, 19:07 عصر
باید در اجرای برنامه اصلی فایلهای دیتابیس رو Attach کنن
دوست عزیز، منظور اینه که اول فایلهای دیتابیس(MDF, LDF, NDF) رو به مقصد Copy کنین بعد توسط sp_attach_db اون رو تحت SQL Server قرار بدین.