PDA

View Full Version : حرفه ای: مشکل با کپی در سیستم 32 و فایل ستاپ



skmr_ae
چهارشنبه 27 آذر 1392, 15:38 عصر
سلام
دوستان من یه برنامه با بانک sqlite ایجاد کردم
از اون با خود vs یه فایل ستاپ ساختم که برنامه اجرا نمیشد و خطا میداد
در این تاپیک پرسیدم به جواب نرسیدم
barnamenevis.org/showthread.php?428046-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-%D9%82%D8%B1%D8%A7%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-dll-%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D8%B3%D8%AA%D8%A7%D9%BE&p=1915397#post1915397
فایل dll رو عوض کردم
اما
خطایی که داد کفت که بانک رو در پوشه system32 پیدا نمیکنه
دستا خودم بانک رو در سیستم 32 کپی کردم درست شد
کسی میدونه دلیلش چیه چرا بانک باید در system32 باشه؟
از طریق برنامه کد نوشتم که اتومات بانک هنگام نصب در سیستم 32 کپی بشه اما موقع اجرا روی کد کپی زرد رنگ میشه و مینویسه
access to c:\windows\system32 denid..
باید چکار کنم
ممنون

plus
چهارشنبه 27 آذر 1392, 17:11 عصر
لزومی نداره که بانک یا DLL در System32 باشه.دیتابیس و DLL رو میتونی کنار فایل اجرایی بگذاری.

skmr_ae
شنبه 30 آذر 1392, 15:39 عصر
سلام من که گفتم با خود ویژوال ستاپ ساختم و تمام فایل ها رو کنار فایل exe برنامه گذاشتم موقع نصب وقتی نصب تموم شد برنامه رو اجرا میکنم میگه بانک در system32 نیست چرا اینجوریه؟چکارش کنم؟ممنون

plus
شنبه 30 آذر 1392, 15:43 عصر
ConnectionString رو بررسی کنید...

skmr_ae
شنبه 30 آذر 1392, 15:49 عصر
همه چیز درسته dll و بانک توی پوشه debug . bin هست
؟؟؟؟

plus
شنبه 30 آذر 1392, 16:14 عصر
دیتابیس Attach شده یا نه؟ Connection String و متن خطا رو بگذارین؟

skmr_ae
یک شنبه 15 دی 1392, 09:15 صبح
سلام
این کانکشنم هست
string connection = "Data Source=mahi_Db.db;Version=3;New=False;Compress=Tru e;";
و اینم متن خطا بعد از نصب برنامه
file 'c:\system32\mahi_Db' dose not exist.Use Connection String parameter New=True to Create new file.
ممنون میشم یکی بگه چرا میگه باید بانک توی سیستم32 باید باشه و نیست
من بانکم رو هنگام ساخت ستاپ توی فولدر application file اضاف کردم و کلا توی فولدر دیباگ برنامه است
رفرنس هام رو هم اضاف کردم
و اون new که گفته باید true باشه رو هم انجام دادم باز همین پیغام رو میده
(راستی برنامه رو توی ستارت اپ قرار دادم تا با بالا امدن ویندوز اجرا شه)
اینم کد قرار دادن دراستارت اپ هست

private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = Application.StartupPath.ToString()+"\\project.exe";
}

private void button1_Click(object sender, EventArgs e)
{
reg.SetValue("pr", textBox1.Text);
}

private void button2_Click(object sender, EventArgs e)
{
reg.DeleteValue("pr");
}

ممنون

skmr_ae
چهارشنبه 18 دی 1392, 08:58 صبح
کسی نیست کمک کنه؟؟
؟؟؟؟؟؟؟؟؟؟؟؟
خواهش می کنم اگه کسی میدونه بگه..
ممنون

FastCode
چهارشنبه 18 دی 1392, 09:31 صبح
باید توی Connection String آدرس کامل بدید.

کامبیز اسدزاده
چهارشنبه 18 دی 1392, 09:39 صبح
این یعنی چی ؟ Data Source=mahi_Db.db یه مسیر درست حسابی معلوم کنید دیتابیس شما در چه مسیری قرار داره ؟ دقیقا مسیر رو مشخص کنید.

maythamahmadi
چهارشنبه 18 دی 1392, 14:15 عصر
ببین دوست من شما بایستی مقدار New رو true کنی.تو متن خطا هم توضیح داده
به این صورت

string connection = "Data Source=mahi_Db.db;Version=3;New=True;Compress=Tru e;";

FastCode
چهارشنبه 18 دی 1392, 15:20 عصر
ببین دوست من شما بایستی مقدار New رو true کنی.تو متن خطا هم توضیح داده
به این صورت

string connection = "Data Source=mahi_Db.db;Version=3;New=True;Compress=Tru e;";


تشویق و کف مرتب برای شما که توی یک خط بنیان سیستم UAC ویندوز رو بردی روی هوا.

skmr_ae
پنج شنبه 19 دی 1392, 10:07 صبح
سلام
یعنی چطوری ادرس بدم؟؟؟
گفتم که true هم کردم نشد..
برنامه ام در استارت اپ هست و نسخه نصبی ازش ساختم (با خود ویژوال نسخه نصبی ساختم )
ممنون میشم یکه کمک کنه
مشکل از کجاس؟؟؟
در ضمن بانکم در پوشه دیباگ هست و موقع ساخت ستاپ در پوشه application file بانک و dll ها رو add کردم

goldoon
پنج شنبه 19 دی 1392, 10:22 صبح
سلام
یعنی چطوری ادرس بدم؟؟؟
گفتم که true هم کردم نشد..
برنامه ام در استارت اپ هست و نسخه نصبی ازش ساختم (با خود ویژوال نسخه نصبی ساختم )
ممنون میشم یکه کمک کنه
مشکل از کجاس؟؟؟
در ضمن بانکم در پوشه دیباگ هست و موقع ساخت ستاپ در پوشه application file بانک و dll ها رو add کردم

به نظرم باید آدرس پوشه برنامه تو بدی
اینطور که آدرس دادی خب میشه حدس زد که سیستم بره سراغ system32
در ضمن برا وقتی که میخاستی بانک داده را توی پوشه system32 کپی کنی و خطا می داد باید برنامه را run as admin کنی

danialafshari
پنج شنبه 19 دی 1392, 10:25 صبح
http://www.connectionstrings.com/sqlite/

FastCode
پنج شنبه 19 دی 1392, 12:50 عصر
خیلی معذرت میخوام. ولی به نظر من با توجه به اینکه یک برنامه کامل نوشتی و هنوز نمیدونی آدرس و مسیر چیه از رشته کامپیوتر کناره گیری کنی بهتره.
آدرس یعنی مثلا بنویسی:

D:\MyDatabase.db3
%APPDATA%\MyApp\Data.db
%USERPROFILE%\MyApp\Data\MyData.sqlite
ما به اینها میگیم آدرس.