منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] التحققمن تنصيب برامج معينه علي الحاسوب - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] التحققمن تنصيب برامج معينه علي الحاسوب (/showthread.php?tid=21745)



التحققمن تنصيب برامج معينه علي الحاسوب - عبدالرحمن المكاوي - 18-09-17

السلام عليكم اخواني الكرام
اريد برنامجي في او مرة يفتح فيها علي الحاسوب ان يتحقق من توافر برنامج معين علي جهاز العميل  وان لم يكن موجود يقوم البرنامج بتحميله من علي الانترنت وشكرا


RE: التحققمن تنصيب برامج معينه علي الحاسوب - silverlight - 18-09-17

جميع البرامج التي يتم تنصيبها علي أي جهاز كمبيوتر يتم حفظ بياناتها في الريجستري
حيث يتم حفظ اسم البرنامج و مسار ايقونة البرنامج و مسار البرنامج .... اسم البرنامج و مكان البرنامج و ايقونة البرنامج يتم تخزينها قي صورة String
ومن هنا تحتاج أن تقرأ الريجستري وتحفظ البيانات في مصفوفة
ثم تيحث عن اسم البرنامج الذي تريد التأكد من وجوده في هذه المصفوفة
فإن كان غير موجود تقوم بإنزاله من علي النت و تنصيبه

راجع اللينك التالي لتجصل علي اجابة سؤالك

الحصول علي جميع البرامج التي تم تنصيبها علي جهاز الكمبيوتر


RE: التحققمن تنصيب برامج معينه علي الحاسوب - عبدالرحمن المكاوي - 19-09-17

حصلت علي هذا الكود من الاخ سيلفرلايت
لكن اريد التاكد من برنامج بعينه ان كان موجود ام لا

كود :
  Private Function GetInstalledApplicationNames() As List(Of String)
       Dim result As List(Of String) = New List(Of String)()
       Dim regKeyString As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

       Using key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(regKeyString)
           If key IsNot Nothing Then
               Dim names As String() = key.GetSubKeyNames()
               Dim i As Integer = 0
               While i < names.Length
                   Dim currentName As String = names(i)
                   Using subKey As Microsoft.Win32.RegistryKey = key.OpenSubKey(currentName)
                       Try
                           If subKey IsNot Nothing AndAlso subKey.GetValue("DisplayName") IsNot Nothing Then
                               Dim installedapplication As String = subKey.GetValue("DisplayName").ToString()
                               If Not result.Contains(installedapplication) Then
                                   result.Add(installedapplication)
                               End If
                           End If
                       Catch ex As Exception
                       End Try
                   End Using
                   i += 1
               End While
           End If

       End Using

       Return result
   End Function