PDA

View Full Version : چگونگی رفع سطح دسترسی فایلی که در درایو ویندوز قرار دارد



golestan1
دوشنبه 02 فروردین 1395, 16:25 عصر
با سلام و تبریک سال نو خدمت اساتید محترم
بنده در کنار فایل اجرایی فایل تکستی دارم که گاها با کد نویسی درونش متونی وارد می کنم
بعد آنها را فراخوانی می کنم
الان فایل نصبی ساختم و اگر در درایو ویندوز نصب کنم خطای عدم دسترسی می ده و جالب اینه اگه فایل اجرایی و فایل تکست رو ببرم دسکتاپ ببرم برنامه درست کار میکنه
حالا چه راهی است که اگه برنامه در درایو ویندوز و پوشه Program Files باشد بدون هیچ مشکل و خطایی اتصال به فایل تکست انجام بشه
چون می خوام برنامه رو از طریق اینترنت پخش کنم اگه با کدنویسی بشه مشکل حل بشه بهتره و به صورت دستی تنظیماتی اعمال نشه

برنامه توسط ران ادمین به درستی کار میکنه
اگه از قسمت manifest ران را به اجرا توسط ادمین تغییر بدم روی ایکون برنامه نماد ادمین میاد و این خوب نیست
یه دستور شرطی نیست که چک کنه اگه کاربر ادمین نیست برنامه همانند اجرا شده توسط ادمین عمل کنه و بروز مشکل نشه

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

nunegandom
سه شنبه 03 فروردین 1395, 13:01 عصر
سلام من معمولا از همون manifest استفاده میکنم
حالا برا شما فکر کنم بشه دور زد این آیکن رو به این صورت که یه فایل دیگه بسازید که فایل شما رو run as admin کنه و اون رو اجرا کنه (روش دور زدن مسئله :لبخند: )

golestan1
سه شنبه 03 فروردین 1395, 13:19 عصر
بنده دقایقی قبل خودم به این تاپیک جواب دادم اما نت قطع شد
خودم با فکر کردن به این نتیجه رسیدم که فایل هایی که نیاز به ارتباط (درج ، ویرایش) دارند بهتره بجای اینکه در کنار فایل اجرایی باشن بهتره در پوشه اسناد یوزر باشند چون مشکلاتی مانند این پیش نیاید و دوم اینکه اگر دقت کنید خیلی از برنامه نویس ها میان و در کنار فایل اجرایی فایل های لازم به برنامه رو قرار میدن که زیاد روش خوبی نیست زیرا اگر یوزر بیاد و فایل رو بعد از نصب به مکان دیگه انتقال بده یا از دسکتاپ فایل اجرایی پاک بشه و یوزر از محل نصب کپی پیست کنه مشکل ارتباط پیش میاد
از انجایی که همه یوزر ها دارای پوشه اسناد جداگانه هستن بهترین روش اینه که فایل های مورد نیاز رو در پوشه اسناد قرار بدن تا بدون مشکل ارتباط برقرار بشه

اینم کد آدرس پوشه یوزر

//آدرس پوشه اسناد کاربر
string path = Environment.GetFolderPath(Environment.SpecialFolde r.MyDocuments);