PDA

View Full Version : ایجاد SetUp



Alt+F4
شنبه 20 تیر 1388, 18:54 عصر
مهندسین عزیز؛
چند روز پیش یه تاپیکی رو مطرح کردم واسه ایجاد SetUp که portable باشه و نیازی به نصب Visual Studio و Sqlserver نداشته باشه.(توی برنامه های WindowsApplication)
بعد از سرچهای طولانی سه تا مقاله ی زیر رو پیدا کردم.یکی واسه خود Visual Studio و دو تای دیگه واسه InintallShield .برنامه SetUp تونستم بسازم ولی نتونستم مربوطش کنم به Sqlserver .در واقع نتونستم که فایلای دیتا بیسم رو تو کامپیوتر مقصد که Sqlserver نداره بشناسونم.لطفأ در این مورد راهنماییم کنید چون واقعأ دیگه تو این مورد گیر کردم.
البته یه راه حل ساده و کلک رشتیش اینه که فایلای دیتا بیس رو مستقیما تو کامپیوتر مقصد کپی کنی و تو برنامتم آدرس اونو بدی .ولی این روش واسه DataBase امنیت نمیزاره که آخه!!!:عصبانی++:
آدرس دریافت مقاله ی آموزشی InintallShield:

http://www.Delphi-Magic.com/source.php (http://www.Delphi-Magic.com/source.php)
فایل آموزشیSetUp با Visual Studio :

Alt+F4
دوشنبه 22 تیر 1388, 13:26 عصر
از حسن توجه دوستان کمال تشکر را دارم!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

happy65_sh
دوشنبه 22 تیر 1388, 14:00 عصر
دوست عزیز کافیه در قسمت پایانی یعنی از properties و سپس باتن prerequisites تیک SQLServer ExpressEdition را هم بزنی

hozouri
دوشنبه 22 تیر 1388, 14:32 عصر
دوست عزیز شما منظورتون اینه که هم اس کیو ال نصب بشه و هم بانک بهش Attach بشه

آیا منظور شما رو درست متوجه شدم

mina1363
دوشنبه 22 تیر 1388, 14:52 عصر
بله من هم دقیقا همین مسئله را دارم اگر بگید چکارکنم ممنون میشم؟ فکر کنم ایشون هم مثل من نمیخوان در کامپیوتر مقصد دیگه sqlserver نصب بشه

hozouri
دوشنبه 22 تیر 1388, 15:30 عصر
ببینید SQL به دو بخش کلی تقسیم میشه یکی Engine و یکی دیگه محیط Design.

شما باید با استفاده از همون راهنمایی هم که خودتون گذاشتید موتور اس کیو ال رو نصب کنید (به طور خودکار نصب میشه) و پس از نصب برنامه وقتی کاربر برنامه رو اجرا می کنید باید قطعه کدی رو بذارید که اگر بانک شما به اس کیو ال Attach نیست این فایل رو با استفاده از دستورات که در C# هم این کد ها رو به راحتی می توان نوشت , بنویسید

mina1363
دوشنبه 22 تیر 1388, 15:50 عصر
البته از راهنمایی شما خیلی ممنونم ولی من به همین کدی که میگید و چک کردنش احتیاج دارم؟

hozouri
دوشنبه 22 تیر 1388, 16:08 عصر
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=(local);Initial Catalog=master;Integrated Security=True";
con.Open();

string str = "use master;" +
"EXECUTE sp_attach_db @dbname = N'SaynaDB' , " +
" @filename1 = N'" + System.Environment.CurrentDirectory + "\\Data\\SaynaDB.mdf'," +
"@filename2 = N'" + System.Environment.CurrentDirectory + "\\Data\\SaynaDB_log.ldf'" ;

SqlCommand cmd = new SqlCommand(str,con);
cmd.ExecuteNonQuery();
con.Close();

;(" شد Attach دیتابیس با موفقیت") MssageBox.Show
{

catch (Exception x)
{
if(x.Message.IndexOf("already exists")>=0)
;(" دیتابیس موجود است").MssageBox.Show
else
MessageBox.Show(x.Message);
}