PDA

View Full Version : ساخت setup



Bahar_HS
شنبه 04 آبان 1387, 11:51 صبح
با سلام
آقای خسروی ،ازراهنمای آموزشی تون سپاسگزارم،
این کار ، بزرگواری زیادی می خواد که کسی چیزی رو که می دونه به کسانی که نمی دونن یاد بده،
من یکی که خودم رو از رسیدن به چنین جایگاهی خیلی دور می بینم،

برای شما و همه ی کسانی که مثل شما عمل می کنند،آرزوی موفقیت وشادکامی دارم.

من هم می خوام برای برنامه ویندوزی سی شارپم setup بسازم،راهنمای آموزشی رو خوندم ،سوالهای زیادی دارم،


در همون تایپیکی که ایشون فرموده بودن پرسشم رو مطرح کردم ،ولی چون محدودیت زمانی دارم وهم خیلی عجله ،یکبار دیگه اینجا سوالام رو می پرسم،

اولیش رو می پرسم،در ابتدا راهنمای آموزشی اینطور گفتید:
"...تا زمانی که کاری بجز ساختsetup نداشته باشین...یعنی تا اینجای کار شمادر پوشه Debuge از برنامه تون فایل اجرایی وسایر فایلهای مورد نیاز برنامه از جمله DLLها، دیتابیس ها وهمچنین فایل های گزارشگیری و ... رو دارین.."

این سوال برام پیش اومده که در برنامه ای که با دیتابیس ارتباط داره ،چه فایلی با چه پسوندی در پوشه ی bin\Debuge وجود داره ، یعنی فایل خاصی در پوشه باید باشه که نشون دهنده ی ارتباط برنامه با دیتابیسه؟؟

وسوال بعد این که همه ی فایل های موجود در پوشهbin\Debuge رو باید به پوشه Application اضافه کرد؟



ممنون ازراهنمایی تون

sepehr.net
پنج شنبه 09 آبان 1387, 21:09 عصر
سلام
وقتی شما برنامه ایی با دات نت مینویسین تمام اطلاعات لازم برای ساخت ستاپ در پوشه ی bin\debug ریخته میشه و شما باید آنها را در application کپی کنید
حالا اگه از کیریستال یا کامپوننت یا پایگاه داده ایی استفاده کرده باشین برای این که برنامه در کامپیوتر مقصد به این فایلها نیاز داره اونها رو هم باید به این پوشه اضافه کنید.
وقتی که برنامه از بانکی مثل اکسس استفاده میکنه باید فایل اکسس رو هم در این پوشه قرار بدین و در کد برنامه تون (زمانی که میخواین به بانک وصل بشین ) ادرس بانک اطلاعاتی تون را (به وسیله توابعی که دات نت برای پیدا کردن فایل اجرایی برنامه داره ) تعیین کنید. مثلا مستقیم ننویسید درایو دی یا ... چون ممکنه این فایل در کامپیوتر مقصد روی درایو دیگری قرار بگیره
در sql قضیه فرق میکنه شما باید فایل بانک رو attach کنی که اون کمی دردسر داره

Bahar_HS
شنبه 11 آبان 1387, 06:40 صبح
سلام
وقتی شما برنامه ایی با دات نت مینویسین تمام اطلاعات لازم برای ساخت ستاپ در پوشه ی bin\debug ریخته میشه و شما باید آنها را در application کپی کنید
حالا اگه از کیریستال یا کامپوننت یا پایگاه داده ایی استفاده کرده باشین برای این که برنامه در کامپیوتر مقصد به این فایلها نیاز داره اونها رو هم باید به این پوشه اضافه کنید.
وقتی که برنامه از بانکی مثل اکسس استفاده میکنه باید فایل اکسس رو هم در این پوشه قرار بدین و در کد برنامه تون (زمانی که میخواین به بانک وصل بشین ) ادرس بانک اطلاعاتی تون را (به وسیله توابعی که دات نت برای پیدا کردن فایل اجرایی برنامه داره ) تعیین کنید. مثلا مستقیم ننویسید درایو دی یا ... چون ممکنه این فایل در کامپیوتر مقصد روی درایو دیگری قرار بگیره
در sql قضیه فرق میکنه شما باید فایل بانک رو attach کنی که اون کمی دردسر داره


با سلام
من setup برنامه م رو ساختم،از پوشه ی bin\debug فقط فایل exe رو به پوشه یapplication برنامه add کردم که همراه با exe فایل های مورد نیاز (به صورت خودکار) add شدند، وقتی همه ی فایل ها رو add می کردم بعد از Biuld نهایی به فایل های اضافی ایراد می گرفت ، وبعد فایل Database برنامه م رو به پوشه ی program files folder ،بخش file system.... ستاپadd کردم، وبالاخره ستاپ ساخته شد،
ولی وقتی که ستاپ روی کامپیوتر مقصد نصب میشه(نصب میشه) موقع اجرا این Error رو میده:



An error has occurred while establishing a connection to the server.when connectiong to SQL 2005. this failure may be caused by the fact that under the default setting SQL Server does not allow remote connection.[provider:Named pipes Provider,Error:40 _ Could not open a connection SQl Server



اشکال از کجاست؟من از ویژوال استودیو 2005و SQL Server 2000 استفاده کردم،
اشکال از کامپیوتر مقصده ؟یا فایل دیتابیس رو درست به برنامه اضافه نکردم؟؟

با سپاس

Bahar_HS
شنبه 11 آبان 1387, 13:19 عصر
با سلام
ممکنه یکی از دوستان لطف کنند ومنو راهنمایی کنن ،برنامه م رو نوشتم وفقط ساخت ستاپش مونده،از ستاپ خود ویژوال استودیو استفاده کردم،
فایل ستاپم رو میذارم،امکان داره امتحانش کنید که عیبش از چیه،ساخت ستاپ یا کامپیوتر مقصد؟

واگه امکان داره ،راههای دیگه ساخت ستاپ رو معرفی کنید ، اگه ممکنه با لینکشون ،
زمانم خیلی محدوده و خیلی عجله دارم.

با سپاس

sepehr.net
شنبه 11 آبان 1387, 15:11 عصر
شما اصلا ار sql2005 استفاده نکردین؟
شاید شما تو مراحل ساخت setup تنظیمات مربوط به sql2005 را درست کردین
این پیغام میگه برنامه نمیتونه با بانک ارتباط برقرار کنه
تازه شما اصلا فایل های بانکتون رو همراه setup قرار ندادین

Bahar_HS
شنبه 11 آبان 1387, 22:20 عصر
با سلام
من هم از این تعجب می کنم که در حالی که دیتابیس رو باSQL Server2000 ساختم همچین Error رو میده، :متفکر:
1- اگر روی سیستم مقصد SQL Server2005 نصب با شه ممکنه چنین مشکلی پیش بیاد؟

2- اینطور فایل دیتابیس رو به برنامه اضافه کردم:

File System....---->Add spical file-----> program files


واین زیر پوشه ها رو ساختم و دیتابیس رو به آخرین پوشه اضافه کردم ،

Microsoft SQL Server\MSSQL\Data

دقیقا برای اضافه کردن دیتابیس به ستاپ چکار باید کرد؟

باسپاس از راهنمایی تون

sepehr.net
یک شنبه 12 آبان 1387, 21:45 عصر
ببینید شما وقتی که از بانک2000 sql در برنامتون استفاده میکنید این برنامه دو فایل به نام بانک اطلاعاتی با پسوند های .mdf و .ldf برای شما ایجاد میکند. شما باید این دو فایل رو برای ساخت ستاپ در کامپیوتر مقصد کپی کنید و اونها رو به بانک sql در کامپیوتر مقصد attach کنید. فرقی نمیکنه که این دو فایل در کجا کپی بشوند.
به شما پیشنهاد میکنم در پوشه ی اصلی برنامه یک پوشه به نام database ایجاد کنید و این بانک رو در اونجا کپی کنید به این صورت c:/Program Files/ProgramName/Database
برای attach کردن بانک در کامپیوتر مقصد شما چند راه داری 1 شما میتونی در کد این کار رو انجام بدی مثلا وقتی برای اولین با برنامه رو اجرا میکنی و برنامه اررور میده شما دستوری که برای attach کردن نوشتی رو اجرا میکنی راه دوم اینه که با نرم افزار های ستاپ ساز اینکار رو انجام بدی و راه سوم هم اینه که به صورت دستی این کار رو انجام بدی
من به شما پیشنهاد میکنم که راه اول رو انتخاب کنید.
در مورد اررور شما دوباره این مراحل رو طبق اون چیزی که گفتم انجام بدین اگه باز ارور داد اون موقع بررسی میکینیم . حتما از درستی فایل بانک اطلاعاتی تون هم اطمینان حاصل کنید.

Bahar_HS
یک شنبه 12 آبان 1387, 22:45 عصر
ببینید شما وقتی که از بانک2000 sql در برنامتون استفاده میکنید این برنامه دو فایل به نام بانک اطلاعاتی با پسوند های .mdf و .ldf برای شما ایجاد میکند. شما باید این دو فایل رو برای ساخت ستاپ در کامپیوتر مقصد کپی کنید و اونها رو به بانک sql در کامپیوتر مقصد attach کنید. فرقی نمیکنه که این دو فایل در کجا کپی بشوند.
به شما پیشنهاد میکنم در پوشه ی اصلی برنامه یک پوشه به نام database ایجاد کنید و این بانک رو در اونجا کپی کنید به این صورت c:/Program Files/ProgramName/Database
برای attach کردن بانک در کامپیوتر مقصد شما چند راه داری 1 شما میتونی در کد این کار رو انجام بدی مثلا وقتی برای اولین با برنامه رو اجرا میکنی و برنامه اررور میده شما دستوری که برای attach کردن نوشتی رو اجرا میکنی راه دوم اینه که با نرم افزار های ستاپ ساز اینکار رو انجام بدی و راه سوم هم اینه که به صورت دستی این کار رو انجام بدی
من به شما پیشنهاد میکنم که راه اول رو انتخاب کنید.
در مورد اررور شما دوباره این مراحل رو طبق اون چیزی که گفتم انجام بدین اگه باز ارور داد اون موقع بررسی میکینیم . حتما از درستی فایل بانک اطلاعاتی تون هم اطمینان حاصل کنید.

با سلام
از این که لطف کردید ممنون،
همون طور که گفتید در پوشه ی MSSQL\Data برروی سیستمم ، دو تا فایل با پسوندهای mdf & ldf ساخته شده ،
"شما باید این دو فایل رو برای ساخت ستاپ در کامپیوتر مقصد کپی کنید"
، دقیقا متوجه منظورتون نشدم ،باید هردوفایل رو به پوشه یApplication اضافه کنم یا این که یک کپی از فایل دیتابیسم رو باخودم ببرم وروی کامپیوتر مقصد ذخیره کنم ، ولی اون چیزی که از ستاپ ساز انتظار داریم اینه که چنین کاری نکنیم،(حداقل من این طوری فکر می کنم)،
واگه اینطوری باشه باید روی سیستم مقصد SQL Server2000 رو نصب کنم یا کپی کردن فایل دیتابیس کافیه؟

وبعد این که attach یعنی چی؟ از attach اصلا چیزی نمی دونم ، که بعد بخوام کد بنویسم یا روش دیگه ای بکارببرم،


باسپاس دوباره وباآرزوی موفقیت برای شما

sepehr.net
سه شنبه 14 آبان 1387, 10:32 صبح
ببینین بانک شما در واقع این دو فایل هست . حالا شما چه طوری انتضار دارین بدون این دو فایل بانک شما روی کامپیوتر مقصد بیاد؟
انتضاری که از نرم افزار ستاپ ساز میره اینه که این دو فایل رو به صورت خودکار به بانک طرف مقابل attach کنه
ولی اگه این دو فایل نباشه که دیگه نمیتونه attach کنه !!
وقتی که شما در sql بانکی رو ایجاد میکنین این نرم افزار همون دو فایلی رو که گفتم در مسیری که شما بهش میدین کپی میکنه و از اون ها استفاده میکنه. برای این که بتونین این بانک رو به یک کامپیوتر دیگه انتقال بدین باید اول این دو فایل رو از sql جدا کنین تا بتونین اونها رو کپی کنید. برای این کار روی بانک در sql کلیک راست کرده و از لیست all tasks گزینه ی detach رو میزنین میبینین که بانک از sql جدا میشه. حالا میتونین این دو بانک رو کپی کنید و ببرید. حالا روی اون کامپیوتری که میخواین این بانک اجرا بشه باید این بانک رو به sql متصل کنین برای این کار روی گزینه ی database کلیک راست کنین و از لیست alltask گزینه ی attach رو انتخاب کنین. بعد هم مسیری که این دو فایل در اونها قرار دارند رو بهش میدین. میبینین که این دو فایل به sql متصل میشوند به این کار attach کردن میگند. اینها همه به صورت دستی انجام میشه شما باید این کار ها رو به صورت کد یا در نرم افزار ستاپ ساز انجام بدین.
شما باید این دو فایل رو مثل بقیه ی فایل ها (کامپوننت ها ، گزارش ها ، عکس و...) در پوشه ی اصلی برنامتون کپی کنین( البته قبلش detach یادتون نره) بعد حالا با هر روشی که میخواین اونها رو به sql متصل کنین

Bahar_HS
سه شنبه 14 آبان 1387, 14:13 عصر
با سلام
باسپاس از راهنمایی تون ، نکته ی خیلی مهمی بود که نمی دونستم،بازهم ممنون ،
اگه درست متوجه شده باشم ،پس علاوه بر کارهایی که گفتید ، بایدSQL Server 2000 رو هم در سیستم مقصد نصب کنم ،
اما من فکر می کردم ،ستاپ برنامه مونو می سازیم که دیگه نخواد چیزی رو نصب کنیم ،

اگه این کارها رو انجام بدم(به شیوه ی دستی)، دیگه لازم به کدنویسی که نیست؟؟

ویه سوال دیگه ، اینکه چه نسخه ای از دیتابیس رو روی سیستم مقصد نصب کنم ، مهمه؟


باسپاس از راهنمایی ها تون وباآرزوی موفقیت

sepehr.net
سه شنبه 14 آبان 1387, 15:11 عصر
اگه این کارها رو انجام بدم(به شیوه ی دستی)، دیگه لازم به کدنویسی که نیست؟؟

اگه دستی انجام بدین دیگه احتیاجی به کد نویسی نیست

چه نسخه ای از دیتابیس رو روی سیستم مقصد نصب کنم ، مهمه؟
همون نسخه ایی که روی سیستم خودتون نصبه

من فکر می کردم ،ستاپ برنامه مونو می سازیم که دیگه نخواد چیزی رو نصب کنیم ،
شما میتونید با ستاپ نسخه ی sql رو روی سیستم مقابل نصب کنین و بانک رو به اون متصل کنین
در ضمن احتیاجی به نصب خود sql نیست بلکه شما میتونین engineقسمتی از اون رو نصب کنین

Bahar_HS
سه شنبه 14 آبان 1387, 22:00 عصر
با سلام
از لطفی که کردید،حوصله ای که به خرج دادید وراهنمایی هاتون خیلی خیلی سپاسگزارم،

اینطور که متوجه شدم میشه یکی از این سه تا کاررو کرد:1) نصب خود SQL Server2000،
2) از طریق تیک زدن گزینه ی SQL ستاپ ساز خود ویژوال استودیو، 3) واز طریقengine


1- دیتابیس موردنظر رو detach کردم،
2- موقع ستاپ سازی (ستاپ ساز خود ویژوال استودیو)،گزینه ی SQL رو علامت زدم وپوشه ی SQL ای هم در پوشه ستاپ وجود داره،

_حالا اگر قرار باشه که دیگه برنامه ی SQL ای که روی سیستم خودم نصبه،روی سیستم مقصد نصب نکنم ، بخش دوم کار یعنیAttach رو چطور انجام بدم،

_ اگه خود SQL Server2000 رو سیستم مقصد نصب کنم ، از لحاظ اصول برنامه نویسی اشکالی نداره،
مثلا اینکه کسی از طریق دسترسی مستقیم به دیتابیس وجدول هاش بتونه داده هارو دست کاری کنه؟؟
_ببخشید یه سوال دیگه ، engine دقیقا شامل کدوم فایل /ها میشه ؟از این طریق، چطور میشه دیتابیس رو Attach کرد؟


بازهم بینهایت از لطفی که میکنید وراهنمایی هاتون سپاسگزارم
باآرزوی موفقیت

sepehr.net
چهارشنبه 15 آبان 1387, 08:59 صبح
ببینین شما attach رو اگه به صورت دستی انجام بدین احتیاج به نصب نسخه ی کامل اون پیدا میکنین ولی اگه به صورت کد نویسی یا توسط نرم افزار ستاپ ساز انجام بشه احتیاجی به نصب کامل sql نیست.
اگه سطح دسترسی رو تو بانک تون لحاظ کرده باشین با نصب نسخه ی کامل sql مشکلی به وجود نمیاد.

Bahar_HS
چهارشنبه 15 آبان 1387, 09:46 صبح
باسلام وسپاس فراوان

به عنوان آخرین سوال (امیدوارم آخریش باشه!!)
Attach کردن :
_به صورت کدنویسی ( کد نویسی در محیط برنامه؟؟ )
_توسط نرم افزار ستاپ ساز
چطور انجام میشه؟؟

sepehr.net
چهارشنبه 15 آبان 1387, 21:38 عصر
برای attach کردن به صورت کد به این لینک (http://barnamenevis.org/forum/showthread.php?t=123955&highlight=Attach+%DA%A9%D8%B1%D8%AF%D9%86+%D8%A8%D 8%A7%D9%86%DA%A9+%D8%A7%D8%B3%DA%A9%DB%8C%D9%88%D9 %84+%D8%B3%D8%B1%D9%88%D8%B1) مراجعه کنید
برای کار با پایگاه داده در install Shield هو به این لینک (http://barnamenevis.org/forum/showthread.php?t=32728) بروید

Bahar_HS
جمعه 17 آبان 1387, 11:07 صبح
باسلام
ممکنه حالا که تااینجا لطف کردید ، لطف کنید وتا ساخت نهایی ستاپ راهنمایی هاتون رو ادامه بدید؟
اگه ممکنه لینک زیر رو ببینید.

باسپاس


http://barnamenevis.org/forum/showthread.php?p=628745#post628745

sepehr.net
جمعه 17 آبان 1387, 11:41 صبح
خب شما با چه نرم افزاری ستاپ میخواین بسازین
من setup با خود ویژوال استادیو رو بهتون معرفی میکنم البته با نرم افزارهایی مثل installShield و InstallAware هم میشه این کار رو انجام داد. شما دره انجمن ساخت ستاپ جستجو کنین. اگه به مشکلی برخورد کردین من در خدمت شما هستم

Bahar_HS
شنبه 18 آبان 1387, 06:13 صبح
باسلام
من یه برنامه ی ویندوزی در سی شارپ(Visual Stuio 2005) نوشتم،دیتابیس رو در SQL Server2000 ساختم ومی خوام با ستاپ سازخود Visual Stuio ستاپ بسازم،

تقریبا چند هفته هست که درگیر ستاپ سازی هستم واین تایپیک رو هم به همین خاطرزدم،
Inno Setup رو دانلود کردم+راهنمای آموزش فارسیش که نشد ونمی دونم چرا،ازاون جایی که برنامه ای که نوشتم رو باید به عنوان پروژه ی کارآموزی ، به یه اداره ی دولتی تحویل بدم وخیلی هم دیر شده ، نمی تونم دوباره از اول دنبال یه ستاپ ساز باشم،راهنمای آموزش فارسیش، ساختن یه ستاپ دیگه ،.....تازه اگر درست بشه،
الان هم می تونم همون طور که شما گفتید SQL رو روی سیستم مقصد نصب کنم +ستاپ برنامه ی ویندوزی،که این طوری برنامه با دیتابیس ارتباط داشته باشه،وبرنامه اجرا هم میشه،

اما من می خوام ستاپی بسازم که نیاز به نصب چیزی نباشه،
وچیزی که می خوام اینه که دقیقا فایل دیتابیس رو چطوری به ستاپ اضافه کنم ؟؟
می گم دقیقا، چون دقیقا باید بگم که چیزی از ساخت ستاپ نمی دونم ،ستاپی که ساختم ستاپ بخش Application برنامه هست،فقط در همین حد،
ازروشی که در لینکی که معرفی کرده بودید،رفتم که اینطوری شد وحالا دوباره روی پله ی اول ایستادم.حرفام طولانی شد ،ببخشید.

باسپاس وباآرزوی موفقیت

sepehr.net
شنبه 18 آبان 1387, 10:00 صبح
اگه نظر من رو میخواین attach کردن را در کد انجام بدید اینجوری هم راحت تر ه و هم مطمئن تره.
برای این کار شما میتونید در فرم اول قیمتی که کانکشن باز مشته رو در یک try / Endtry قرار دهید و در قسمت Catch عملیات attach کردن رو انجام دهید. اینجوری هر موقع باز شدن کانکشن با مشکل مواجه میشود عملیات attach شروع میشود فکر نمیکنم که کار سختی باشه !!!

sepehr.net
شنبه 18 آبان 1387, 10:16 صبح
برای ساخت ستاپ به این لینک (http://barnamenevis.org/forum/showthread.php?t=56388&highlight=%D8%B3%D8%AA%D8%A7%D9%BE) بروید و این لینک (http://barnamenevis.org/forum/showthread.php?t=124483)

Bahar_HS
یک شنبه 19 آبان 1387, 10:29 صبح
برای ساخت ستاپ به این لینک (http://barnamenevis.org/forum/showthread.php?t=56388&highlight=%D8%B3%D8%AA%D8%A7%D9%BE) بروید و این لینک (http://barnamenevis.org/forum/showthread.php?t=124483)
باسلام
ازاین که بازهم حوصله به خرج داید ممنون،
لینک دوم رو دیدم ،ابتدای تایپیک هم همین رو ازآقای خسروی پرسیدم_راهنمای آموزشی رو ایشون نوشتند_که در مورد Attachکردن دیتابیس چیزی نگفته بودند،این طور گفته بودند که فایل دیتابیس رو ADD کنیم به پوشه ی Application ،

دیتابیسی داریم که داده هایی در آن ذخیره شده و می خوام این داده ها بعد از ساخت جدول هم باشه،خب این دیتابیس رو Detach می کنیم و وقتی قراره ستاپ موردنظرمون رو به کابر نهایی تحویل بدم ،این دیتابیس رو هم همراش میدیم،اگه درست بگم مثل این که هم ستاپ و هم دیتابیس موردنظر رو روی CD بریزم ،کاربر ستاپ رو نصب میکنه و هر بار که فرم موردنظر لودشد ،Attach کردن به دیتابیس هم انجام بشه،پس باید یه قطعه کد بنویسیم وبه فرم لود اضافه کنیم ،طوری که دیتابیس Detach شده ی همراه ستاپ رو بشناسه وبهش Attach بشه،
درست متوجه شدم؟؟
روی کدش کار می کنم ونشونتون میدم ،اگه اشکالی داشت تصحیحش کنید.

باسپاس

sepehr.net
یک شنبه 19 آبان 1387, 19:28 عصر
کاملا درست فهمیدین. به نظر من بهترین راه ممکن همینه که گفتین