PDA

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



unknown.unforgiven
شنبه 27 فروردین 1390, 20:27 عصر
سلام
من میخوام فایلی رو که به برنامم ضمیمه کردم رو تو یه آدرسی کپی کنم، فایل هم exe. هستش. هرچی تو اینترنت گشتم چیزی پیدا نکردم. از دوستان کسی میتونه کمک بکنه؟ (اگه سوال رو متوجه نشدید به عکس نگاه کنید، میخوام اون فایلی که مشخص شده رو تو یه آدرسی کپی کنم)

68828

morteza271
شنبه 27 فروردین 1390, 20:39 عصر
اگه با کد میخواین این کار رو بکنین این کدش هست:

System.IO.File.Copy(S, D);

unknown.unforgiven
شنبه 27 فروردین 1390, 20:44 عصر
اگه با کد میخواین این کار رو بکنین این کدش هست:

System.IO.File.Copy(S, D);

با این کد نمیشه، چون فقط در صورتی میشه از این کد استفاده کرد که فایل مبدا وجود خارجی داشته باشه. اما چون فایلم به فایل اصلی ضمیمه شده و وجود خارجی نداره نمیتونم از این کد استفاده بکنم

morteza271
شنبه 27 فروردین 1390, 22:45 عصر
خوب بالاخره این فایل aa.exe به یه جایی از پروژتون اضافه شده دیگه!
توی پوشه ی پروژتون حتما هست!

unknown.unforgiven
شنبه 27 فروردین 1390, 23:22 عصر
خوب بالاخره این فایل aa.exe به یه جایی از پروژتون اضافه شده دیگه!
توی پوشه ی پروژتون حتما هست!

این فایل تو فولدر پروژه هست ولی به همراه سورس کدها. وقتی برنامه رو Build میکنم این فایل توی فایل اجرایی خود پروژه مخفی میشه، به خاطر همین وجود خارجی نداره. اگه من فایل اجرایی پروژه رو به شما بدم شما هیچ فایل اضافی رو نمیبینین چون اون فایل به پروژه ضمیمه شده و داخل خود فایل اجرایی مخفی میشه. این مثالی که میزنم مثال درستی نیست ولی میتونه مشابه همین قضیه باشه: فرض کن دو تا کلاس A و B رو داری و یه شی از کلاس B داخل کلاس A باشه. اگه یه شی از کلاس A داشته باشی نمیتونی بفهمی که توش چه اشیایی از چه کلاسایی هستن مگر اینکه خودت برنامه رو جوری بنویسی که بتونی به این اشیا دسترسی داشته باشی. الآنم مشکل من یه چیز تو این مایه هاست. فایلی که به پروژه ضمیمه میشه، توی فایل اجرایی که Build میشه مخفی میشه و من میخوام بدونم چه جور میشه به اون فایل دسترسی پیدا کرد

TeacherMath
شنبه 27 فروردین 1390, 23:30 عصر
سلام .اگه می خوای به کامپیوتر سرویس گیرنده این فایل را اضافه کنی باید آن را هنگام ساختن پروژه setup در مسیر مناسب از کامپیوتر مقصد کپی کنی.

hassan_kahrizy
یک شنبه 28 فروردین 1390, 10:02 صبح
بسمه تعالی
با سلام
در این مثال این کار رو برای شما انجام دادمفقط کافیه شما نام namespace و فایلتون رو تغییر بدهید

HAMRAHSOFT.IR
یک شنبه 28 فروردین 1390, 12:24 عصر
فايل zipنميشه اينكار كرد؟

hassan_kahrizy
یک شنبه 28 فروردین 1390, 12:42 عصر
بسمه تعالی
سلام
چرا کافیه اون فایل رو در پروژتون اضافه کنید و بعد آدرس اون رو بنویسید و همپنین پسوند پنجره savedialog را تغییر دهید



string input = "YourNameSpace.FileName.zip";

sf.Filter = "Zip files (*.Zip )|*.Zip ";

sf.FileName = "filename.zip";



در ضمن باید خصوصیت زیر اون فایل را به صورت زیر ست کنید
Build Action=Embedded Resource

HAMRAHSOFT.IR
یک شنبه 28 فروردین 1390, 14:04 عصر
ببنيد من انجام دادم خطا ميده68851

hassan_kahrizy
یک شنبه 28 فروردین 1390, 14:37 عصر
دوست عزیز دقت کنید


string input = "Copy.CopyResourceTofile.rar";

من نوشتم که در این قسمت شما باید نام YourNameSpace خودتون رو بنویسید و در این پروژه من که نام namespace همون copy هستش
اون تیکه کد فوق رو اصلاح کنید درست می شه

unknown.unforgiven
یک شنبه 28 فروردین 1390, 20:40 عصر
دوست عزیز دقت کنید


string input = "Copy.CopyResourceTofile.rar";

من نوشتم که در این قسمت شما باید نام YourNameSpace خودتون رو بنویسید و در این پروژه من که نام namespace همون copy هستش
اون تیکه کد فوق رو اصلاح کنید درست می شه

ممنون از راهنماییتون، ولی من نتونستم باهاش فایل exe رو جایی ذخیره بکنم. خطایی که میده اینه:
.Value cannot be null
Parameter name: input
توی این خط:
Stream file = assembly.GetManifestResourceStream(input); // my resource

sabloger
یک شنبه 28 فروردین 1390, 21:38 عصر
ممنون از راهنماییتون، ولی من نتونستم باهاش فایل exe رو جایی ذخیره بکنم. خطایی که میده اینه:
.Value cannot be null
Parameter name: input
توی این خط:
Stream file = assembly.GetManifestResourceStream(input); // my resource


سلام دوست عزیز
باید وقتی فایل رو به ریسرس ها اد می کنید، خاصیت Build Action اون فایل رو Embedded Resource قرار بدین

sabloger
یک شنبه 28 فروردین 1390, 21:40 عصر
سلام دوستان
چطوری میشه یک فایل رو موقع اجرا به برنامه اضافه کنیم؟
راهی داره که به ریسرس ها موقع اجرا ادش کنیم؟
اگه این راه نمیشه راه دیگه ای داره؟

hassan_kahrizy
یک شنبه 28 فروردین 1390, 22:08 عصر
http://www.csharpfriends.com/articles/getarticle.aspx?articleid=118
http://forums.asp.net/t/921943.aspx/1?Is+it+possible+to+update+a+resource+file+at+run+ time+
http://msdn.microsoft.com/en-us/library/fk257kf0%28vs.71%29.aspx