الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية إنشاء ملف Uninstall.exe

مغلق
بدأه Fikou-sama في 19 أكتوبر 2007 · 25 رد · 2,818 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

بعد إتمام مشروعي و تحزيمه ... لاحظت أنه لا يحتوي على ملف Uninstall.exe ... و أود معرفة كيفية إنشائه إو إرفاقه مع ملف Setup

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#2

إذا كنت تستخدم طريقة الإعداد المدمجة مع Visual Studio لا داعي لذلك فهو يقوم بعمل المدخلات الصحيحة في لوحة التحكم/إضافة إزالة البرامج لإزالة البرنامج من الجهاز الذي سيتم تنصيبه عليه

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

وإذا أردنا عمل آيكون ضمن مجلد البرنامج بحيث نستطيع بالضغط عليه عمل Uninstall

فكيف نقوم بذلك ؟

أقصد مثل باقي البرامج التي تحتوي على زر Uninstall

وشكراً

#4

أخي محمد أنا أعرف أنه يمكن إزالة البرنامج عن طريق لوحة التحكم >> إضافة / إزالة البرامج .. و لكني أردت - كما قال الأخ bodalal - أن أرفق مع برنامجي ملف Uninstall.exe ... كما هو الحال مع ملف إزالة Real Player .. و الدي هو r1puninst.exe

المرجو الإهتمام بالموضوع لأني تجولت في مواضيع المنتدى و لكن بدون نتيجة :(

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#5

رأيي الشخصي في الموضوع

لم أبحث في هذا الموضوع وذلك لأن هناك أمور في البرمجة أهم من هذا الموضوع ينقصني تعلمها طالما أنه يوجد طريقة نظامية لإزالة البرنامج من على كمبيوتر العميل لاداعي لأضيع وقتي في هذا الأمر حتى لايوجد شئ أهم ينقصني تعلمه وقتها أبحث في هذه المواضيع

ثم أنا شخصيا أتضايق من هذه الاختصارات الزائدة بدون فائدة في قائمة إبدأ فأجد هذا نقص في البرنامج وليس ميزة

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#6

شكرا أخي محمد على الرأي .. و لكني وضعت هدا الموضوع من باب الفضول فقط .. فأردت أن أعرف هل هناك خاصية في Visual Studio 2005 تسمح بإنشاء دلك الملف ..

اقتباس
ثم أنا شخصيا أتضايق من هذه الاختصارات الزائدة بدون فائدة في قائمة إبدأ فأجد هذا نقص في البرنامج وليس ميزة

إدن أنت تقول بأن هدا نقص في برامج مشهورة ك Real player .. و لكني لا أتفق معك .. لأنه إدا كانت هده الإختصارات نقص في Real Player .. فمادا نقول عن برامجنا ؟؟

على العموم شكرا على مشاركتك في موضوعي .. و السلام عليكم

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#7

مع احترامي لأري الخ محمد ولكن من الاحتراف في البرمجة ان تتعامل مع ابسط المستخدمين حيث ان كثير يجهل حذف البرامج من قائمة البرامج عن طريق لوحة التحكم ثم ان الحذف من هناك خطير لانك قد تحذف برنامج اخر خصوصا في حال تشابه الصور او الاسم واعتقد انه ان تم انشاء ملف uninstall فما تبقى عليك هو تشغيله عن طريق process

للاسف ايضا انا لم اقوم بمثل هذه العميلة مسبقا ولكن فكرة جيدة للتعامل معها

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8
Romantic_touch كتب:
مع احترامي لأري الخ محمد ولكن من الاحتراف في البرمجة ان تتعامل مع ابسط المستخدمين حيث ان كثير يجهل حذف البرامج من قائمة البرامج عن طريق لوحة التحكم ثم ان الحذف من هناك خطير لانك قد تحذف برنامج اخر خصوصا في حال تشابه الصور او الاسم واعتقد انه ان تم انشاء ملف uninstall فما تبقى عليك هو تشغيله عن طريق process

للاسف ايضا انا لم اقوم بمثل هذه العميلة مسبقا ولكن فكرة جيدة للتعامل معها

موضوع إضافة وإزالة برنامج من لوحة التحكم/إضافة إزالة البرامج من أهم المبادئ التي يجب على المستخدم امتلاكها في استخدام الويندوز والمستخدم الذي لايسيتطع التعامل معه بالإضافة لبعض الأساسيات الأخرى أعتقد لايجب أن يقعد خلف جهاز حاسب بالأصل

Fikou-sama كتب:
شكرا أخي محمد على الرأي .. و لكني وضعت هدا الموضوع من باب الفضول فقط .. فأردت أن أعرف هل هناك خاصية في Visual Studio 2005 تسمح بإنشاء دلك الملف ..

إدن أنت تقول بأن هدا نقص في برامج مشهورة ك Real player .. و لكني لا أتفق معك .. لأنه إدا كانت هده الإختصارات نقص في Real Player .. فمادا نقول عن برامجنا ؟؟

على العموم شكرا على مشاركتك في موضوعي .. و السلام عليكم

الشركات الكبرى لها وجهات نظر ربما تسويقية وليس بالضرورة برمجية ولكن كل شخص حر في رأيه وإذا تعود لوجهة نظري سترى أنه هناك أشياء كثيرة تنقصنا قبل التفكير بهذا الموضوع

دعنا نعمل برنامج بمستوى الـ Real Player أو يتفوق عليه عندها بالتأكيد ستكون قد عرفت جواب سؤالك عندما تصل لذلك المستوى

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 22 أكتوبر 2007 في 23:04

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9

بسم الله الرحمن الرحيم

اعتقد انك تستطيع ان تبرمج برنامج صغير تعطيه اسم برنامجك ثم يذهب ليحذفه، ثم ترفقه مع مشروعك

فقط عليك ان تبحث عن الكود الذي يعمل ذلك

والله اعلم

اللهم لا سهل الا ماجعلته سهلا، وانت تجعل الصعب ان شئت سهلا

83_45a7168be2ddb.jpg

#10
abetry كتب:
بسم الله الرحمن الرحيم

اعتقد انك تستطيع ان تبرمج برنامج صغير تعطيه اسم برنامجك ثم يذهب ليحذفه، ثم ترفقه مع مشروعك

فقط عليك ان تبحث عن الكود الذي يعمل ذلك

والله اعلم

الموضوع ليس بهذه البساطة

- إن كان برنامجك يعتمد على الفريموورك فقط دون أية مكتبات إضافية ويتم تخزين البيانات في نفس مجلد البرنامج يمكن عمل ملف Uninstall.exe المطلوب بكل سهولة وذلك باستخدام أوامر النطاق System.io وذلك للقيام بحذف مجلد البرنامج وكذلك اختصاره من قائمة إبدأ وحتى يمكنك برمجة ملف Setup.exe يقوم بتنصيب البرنامج أيضا وإنشاء اختصار له وذلك بكل سهولة وأعتقد أن الأخ صاحب الموضوع يمكنه القيام بعمل ملف setup.exe و Uninstall.exe تحت هذا الشرط

- ولكن المشكلة تكمن في البرامج الأكبر التي تستخدم تحكمات ومكتبات إضافية تحتاج للإعداد والتسجيل بطريقة معينة ناهيك عن مدخلات في سجل النظام Registry وملفات تهيئة بصيغة xml يضعها البرنامج في مكان ما في مجلدات النظام وأشياء أخرى كثيرة يصعب حصرها الأن وهنا تكمن المشكلة في عمل ملف Uninstall.exe الذي يسأل عنه الأخ

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#11

رغم أنى شايف رأى محمد سامر على صواب الا أن عندى أقتراحين :

1 - عند تشغيل البرنامج لأول مرة أنشئ Shortcut بالكود فى المجلد الخاص ببرنامجك تحت الـ Start Menu و يكون الـ Target هو الـ Windows Installer مع تمرير Commands مناسبة له حتى يزيل البرنامج (قد يبدو سهل لكن يحتاج الى محاولات عديدة للتأكد).

2 - أستعمل أى أداة تحزيم أخرى , سمعت أن آخر أصدار من الـ Setup Factory يتيح أمكانية التأكد من وجود الـ Framework و تنصيبها أن دعت الحاجة.

تم تعديل هذه المشاركة بواسطة msayed2004 في 22 أكتوبر 2007 في 23:23

#12
اقتباس
موضوع إضافة وإزالة برنامج من لوحة التحكم/إضافة إزالة البرامج من أهم المبادئ التي يجب على المستخدم امتلاكها في استخدام الويندوز والمستخدم الذي لايسيتطع التعامل معه بالإضافة لبعض الأساسيات الأخرى أعتقد لايجب أن يقعد خلف جهاز حاسب بالأصل

و لكن يا أخي محمد .. عندما تطلب شركة ما من مبرمج أن يعمل لها برنامج فإنه يطلب منها معلومات محددة .. و لكن -للأسف- مهارات الشخص الدي سيستعمل برنامك لا تدخل في هده المعلومات .. و لدلك يجب على المبرمج أن يسهل و يبسط قدر الإمكان التعامل مع برنامجه حتى و لو وجب عليه أن يضيف أكواد أخرى ..

اقتباس
1 - عند تشغيل البرنامج لأول مرة أنشئ Shortcut بالكود فى المجلد الخاص ببرنامجك تحت الـ Start Menu و يكون الـ Target هو الـ Windows Installer مع تمرير Commands مناسبة له حتى يزيل البرنامج (قد يبدو سهل لكن يحتاج الى محاولات عديدة للتأكد).

ممكن أخي مثال ... لأني لا أعرف مادا تقصد بتمرير Commands ..

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#13

خلاص يا شباب دى أراء و الأختلاف فيها لا يفسد للود قضية.

---

أنا حاليا من شباب اللينكس و الـ VS.N غير منصب على نسخة الـ XP فمش هعرف أعمل مثال.

لكن ;

لتتخيل الفكرة أضغط Right Click على سطح المكتب و أختر New ثم Shortcut ثم أدخل :

explorer c:\

و أعطها أسم.

عند النقر المزدوج عليها هتفتح الـ Explorer و توجه له Command Line ليفتح الـ C , ده مثال عن الفكرة.

---

لو أخذنا برنامج Quran Reader للأخ أيوب الأدريسيى كمثال (معمول بالـ Dot NET و محزم بنفس الطريقة على ما أذكر) لو بصينا على مسار الأزالة الخاص به فسيكون :

MsiExec.exe /I{BF742F11-61BA-462E-B1BF-5CC45EA7E05F}

بالقيمة :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{BF742F11-61BA-462E-B1BF-5CC45EA7E05F}\UninstallString

يبقى لو عملت Shortcut و الـ Target فيها هو

MsiExec.exe /I{BF742F11-61BA-462E-B1BF-5CC45EA7E05F}

هبقى عملت Short Cut لأزالة البرنامج.

#14
Fikou-sama كتب:
و لكن يا أخي محمد .. عندما تطلب شركة ما من مبرمج أن يعمل لها برنامج فإنه يطلب منها معلومات محددة .. و لكن -للأسف- مهارات الشخص الدي سيستعمل برنامك لا تدخل في هده المعلومات .. و لدلك يجب على المبرمج أن يسهل و يبسط قدر الإمكان التعامل مع برنامجه حتى و لو وجب عليه أن يضيف أكواد أخرى ..

ممكن أخي مثال ... لأني لا أعرف مادا تقصد بتمرير Commands ..

أنا معك في أن هناك شرائح من - تجاوزا مستخدمين - مضطرين للتعامل معهم وهي شرائح كبيرة وأنا شخصيا أعاني بشكل يومي من هذه الشريحة وربما هذا سبب وجهة نظري القاسية بحقهم وهذا سبب إضافي بالنسبة للمبرمج ليقوم بإخفاء الأشياء الخطيرة مثل إزالة البرنامج عن هؤلاء المستخدمين لأنه ربما ستواجه مشكلة إزالة البرنامج وفقدان البيانات عن طريق مستخدم سهلت له أمر الوصول لعملية إزالة البرنامج

على كل حال طرحت وجهة نظر عن الآلية التي ستتم بها العملية وهي مبدأ جميع برامج Install/Uninstall كما أن طريقة الأخ msayed2004 ربما تكون جيدة ولكن لم يتح لي المجال لتجربتها

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 23 أكتوبر 2007 في 22:54

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#15

لقد حاولت استبدال {BF742F11-61BA-462E-B1BF-5CC45EA7E05F} ب ProductCode لبرنامجي و MsiExec.exe بمسار و اسم برنامجي لكن للأسف بدون نتيجة .. كما أني لم أعرف أين أضع

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{BF742F11-61BA-462E-B1BF-5CC45EA7E05F}\UninstallString

ممكن أخي أن تدلني خطوة خطوة -ادا لم يكن فيها ازعاج لك-

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#16

خش على

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

و دور على برنامجك الأول , طبعا المفروض أنك تكون عملتله Install الأول.

#17

ممكن تبسط لنا فكرتك عن استخدام برنامج يعتمد على مكتبات متعددة ..نعم لقد دخلت على HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ووجدت مفتاح برنامجي

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#18
Fikou-sama كتب:
نعم لقد دخلت على HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ووجدت مفتاح برنامجي
هل وجدت المفتاح UninstallString
#19

نعم و فيها القيمة MsiExec.exe /I{416DB5DC-030F-426B-971A-3B4450B62EBF}

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#20

هل جربت أن تضعها فى Shorcut ثم تشغلها ؟

#21

لقد عملت shortCut و مررت لها MsiExec.exe /I{416DB5DC-030F-426B-971A-3B4450B62EBF} .. وأعطتني ShortCut عند الضغط عليه يعطيني اختيارين .. Modifier و Supprimer ..

و شكرا جزيلا أخي msayed2004 و جزاك الله كل خير

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#22

معرفش فرنساوى , الكلمتين دول يعنى أزالة (Uninstall) و أصلاح (Repair) و لا ايه ؟

لو كده يبقى خلاص البرنامج فى أول مرة يشتغل يعمل الـ Shortcut.

#23

نعم أخي .. الإختيارات هي Uninstall و Repaire .. و على فكرة أنا أعرف English و لكن أجد صعوبة في ترجمة الكلمات التقنية و البرمجية ... و جزاك الله كل خير أخي msayed2004 ..

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#24

السلام عليكم

في المرفقات كود لصنع اختصار وهو ناجح مع أي ملف..

ولكن عندما نريد وضع القيمة المطلوبة كما قلتم في هذا الموضوع؛ فإنه لن ينجح لسبب أن الكود يضع للخاصية shortCut.TargetPath تنصيص (") قبل وبعد قيمتها ليعتبرها على أنها ملف وهذا يسبب فشل العملية في حال قمنا بوضع قيمة لا تشير إلى ملف بل هي عبارة أوامر وقيم لا تحتاج إلى تنصيص قبلها ولا بعدها..

"%windir%\system32\MsiExec.exe /I{4CEEA8D4-0460-458C-8EEA-52988B76D2BB}"

مثلاً هذه القيمة يجب أن توضع في مسار الاختصار بدون تنصيص حتى تعمل بخلاف ما لو كانت مسار لملف.

ولو قمنا بعد إنشاء الاختصار بحذف التنصيص من البداية والنهاية من خلال نافذة خصائص الاختصار لكان كل شيء تمام بدون مشاكل..

الآن هل من حل لإنشاء اختصار بالكود لهذا الغرض مع تجاوز هذه المشكلة؟

والسلام عليكم

WindowsApplication1.zip

قال صلى الله عليه وسلم: من قال إذا أصبح: رضيت بالله ربا وبالإسلام دينا وبمحمد نبيا فأنا الزعيم لآخذن بيده حتى أدخله الجنة. الصحيحة/2686

#25

السلام عليكم..

ألا يوجد حل للمشكلة؟

أرجو من صاحب الموضوع أن يضع النتيجة التي توصل إليها بالكود .. وشكراً لكم.

قال صلى الله عليه وسلم: من قال إذا أصبح: رضيت بالله ربا وبالإسلام دينا وبمحمد نبيا فأنا الزعيم لآخذن بيده حتى أدخله الجنة. الصحيحة/2686

هذا الموضوع مغلق.

مواضيع مشابهة