ایجاد Uninstall توسط ریجیستری
سلام
تو پروژه ای که دارم کار می کنم هدف اینه که موقع اجرای برنامه Key uninstall برنامه تو ریجستری اضافه بشه . در مسیر زیر
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll"
چند سری کد هم دیدم و استفاده کردم نتایجی هم گرفتم ولی کامل نیست .
کسی می تونه توضیحی بده باید چه key هایی اضافه کنم ؟
نقل قول: ایجاد Uninstall توسط ریجیستری
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll" در ریجستری با استفاده از C#، می توانید از کتابخانهی Microsoft.Win32 استفاده کنید. مراحل زیر را برای این کار دنبال کنید:
ایجاد کلید جدید با استفاده از کلاس RegistryKey و متد CreateSubKey:
string keyName = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninst all\MyProgram";
RegistryKey key = Registry.LocalMachine.CreateSubKey(keyName);
تنظیم مقادیر مختلف با استفاده از خصوصیتهای متناظر با کلید ایجاد شده:
key.SetValue("DisplayName", "My Program");
key.SetValue("UninstallString", @"C:\MyProgram\uninstall.exe");
بستن کلید و خاتمه برنامه:
key.Close();
برای حذف کلید برنامه از مسیر "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll" در ریجستری، میتوانید از متد DeleteSubKeyTree استفاده کنید:
Registry.LocalMachine.DeleteSubKeyTree(keyName);
توجه داشته باشید که برای اضافه کردن پرونده حذف به ریجستری، برنامه نیاز به دسترسی ادمینیستراتور دارد. بنابراین، برنامه شما باید به عنوان یک برنامهی اجرا شده با دسترسی ادمینیستراتور اجرا شود.
w3-farsi.com مرجع آموزش برنامه نویسی
1 ضمیمه
نقل قول: ایجاد Uninstall توسط ریجیستری
نقل قول:
نوشته شده توسط
shojaiehamid
سلام
تو پروژه ای که دارم کار می کنم هدف اینه که موقع اجرای برنامه Key uninstall برنامه تو ریجستری اضافه بشه . در مسیر زیر
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll"
چند سری کد هم دیدم و استفاده کردم نتایجی هم گرفتم ولی کامل نیست .
کسی می تونه توضیحی بده باید چه key هایی اضافه کنم ؟
سلام.
اگر برای نرم افزار بسته نصب بسازید. قسمتی برای Uninstaller داره که گزینه های مدیریت حذف نصب اونجا قابل تعیین هست.
ضمیمه 154544
1 ضمیمه
نقل قول: ایجاد Uninstall توسط ریجیستری
سلام
ممنون از راهنماییتون
کد مربوط به اضافه شدن Uninstall انجام شد .
موقع حذف این خطا را میده
ضمیمه 154556
در حالی که تو همین ادرس فولدر و key ها وجود دارد
نقل قول: ایجاد Uninstall توسط ریجیستری
نقل قول:
نوشته شده توسط
shojaiehamid
سلام
ممنون از راهنماییتون
کد مربوط به اضافه شدن Uninstall انجام شد .
موقع حذف این خطا را میده
ضمیمه 154556
در حالی که تو همین ادرس فولدر و key ها وجود دارد
سلام.
برای حذف کلید از رجیستری اجازه(permission) دسترسی می خواد.
نقل قول: ایجاد Uninstall توسط ریجیستری
سلام
اگر منظور admin بودن هست که برنامه admin run میشه
اگر permission دیگه ای مد نظرتون هست لطفا بفرمایید به چه صورت
نقل قول: ایجاد Uninstall توسط ریجیستری
نقل قول:
نوشته شده توسط
shojaiehamid
سلام
ممنون از راهنماییتون
کد مربوط به اضافه شدن Uninstall انجام شد .
موقع حذف این خطا را میده
در حالی که تو همین ادرس فولدر و key ها وجود دارد
سلام وقت بخیر
بدین صورت بنویسید :
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Micros oft\Windows\CurrentVersion\Uninstall",true);
key.DeleteSubKeyTree("myProgram");
برنامه را هم یا بایستی بصورت دستی با run admin اجرا کنید و یا اینک در app manifest مجوز دسترسی ادمین را تنظیم کنید.