PDA

View Full Version : نحوه اجرای فایل dll به صورت admin



sadeghjun
پنج شنبه 03 بهمن 1392, 21:24 عصر
سلام
من یه آپدیتر در این تاپیک (http://barnamenevis.org/showthread.php?420340-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%D B%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7) نوشتم که اخیرا میبینم در ویندوز 8 اجازه دانلود نمیده مگر اینکه کسی که از این کامپوننت در برنامش استفاده کرده ، برنامشو به عنوان ادمین اجرا کرده باشه.
چیکار باید بکنم؟
کامپوننت dll هست.
ممنون میشم راهنمایی کنید...

fmehrvarzi
پنج شنبه 03 بهمن 1392, 22:18 عصر
---------------------------- :لبخند:
ایجاد سطح دسترسی Administrator:
اگر پروژه شما دارای فایلی به نام app.manifest نباشد از طریق راست کلیک روی پروژه تان از سولوشن مسیر زیر را دنبال کنید و آن فایل را ایجاد کنید:

Add> New Item ... >Application Manifest File

سپس دنبال خطی به صورت

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
این خط را به صورت

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
تبدیل کنید. در این صورت برای اجرای پروژه تان به سطح درسترسی ادمین نیاز دارید.

fmehrvarzi
جمعه 04 بهمن 1392, 08:34 صبح
یک دلیلش میتونه این باشه که مسیر فایلی که روی کامپیوتر طرف اکسترکت میشه در مسیری هست که نیاز به سطح دسترسی ادمین است. مسیر اکسترکت رو این ست کن:

Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData)

sadeghjun
شنبه 05 بهمن 1392, 18:22 عصر
یک دلیلش میتونه این باشه که مسیر فایلی که روی کامپیوتر طرف اکسترکت میشه در مسیری هست که نیاز به سطح دسترسی ادمین است. مسیر اکسترکت رو این ست کن:

Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData)

سلام
ممنون fmehrvarzi جان من راه اول شما رو امتحان کرده بودم قبلا ولی حل نشده بود .
تو کد بالا r چیه؟
من از کد زیر استفاده کردم:
webClient1.DownloadFileAsync(new Uri(UpdFileWebAdrss), UpdFilePCAdrss );

که UpdFilePCAdrss مسیر ذخیره فایل در PC هست.حالا باید چیکار کنم؟

fmehrvarzi
شنبه 05 بهمن 1392, 19:43 عصر
SpecialFolde r همان SpecialFolder هست تو این سایت اینجوری نمایش میدهد من درست وارد کردم

به جای UpdFilePCAdrss این رو قرار بده:

Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData)

sadeghjun
شنبه 05 بهمن 1392, 19:51 عصر
خوب این فایل دانلود شده رو کجا میریزه؟
من میخوام قابلیت داشته باشه مسیر فایل رو تغییر بدم

fmehrvarzi
شنبه 05 بهمن 1392, 20:18 عصر
میریزه تو پوشه ApplicationData که برا ویندوز با نام کاربری YourUserNameWindows هست:
C:\Users\YourUserNameWindows\ApplicationData

sadeghjun
شنبه 05 بهمن 1392, 20:21 عصر
خوب چه فرقی با قبل میکنه؟
چه جوری مشکل حل میشه؟

shahryari
یک شنبه 06 بهمن 1392, 09:40 صبح
سلام
برنامه ای که از dll شما استفاده میکند ، باید با دسترسی ادمین اجرا شود ، نه خود دی ال ال !
چون برنامه اصلی ، با هر دسترسی که اجرا شود ، سایر کتابخانه های وابسته نیز با همان مجوز اجرا خواهند شد
برای اجرای برنامه با مجوز ادمین در زمان اجرا ، خیلی وقت پیش یک مقاله راجع به System.Security خوندم ، شما آن را جستجو کنید
میتوانید توابعش را در دی ال ال تان بکار ببرید و تابعش را در لود فرم اصلی فراخوانی بکنید