ونڈوز اپ ڈیٹس کی تنصیب کی حالت کا تعین کرنے کے لیے ڈبلیو ایم آئی استعمال کریں
خلاصہ
ان اپ ڈیٹس (کے بی میں) کی جانچ کے لیے ڈبلیو ایم آئی کا استعمال کریں جو اس وقت آپ استعمال کر رہے ونڈوز پر انسٹال ہیں۔
آپریٹنگ ماحول
آپریشن چیک ماحول
ونڈوز ورژن |
|
.نیٹ فریم ورک ورژن |
|
نظام ضروریات
ونڈوز ورژن |
|
.نیٹ فریم ورک ورژن |
|
مادہ
کے بی کیا ہے؟
کے بی کو "کلوبائٹ" یا "کی بورڈ" کے اظہار کے مخفف کے طور پر بھی استعمال کیا جاتا ہے، لہذا میں نہیں سمجھتا کہ یہ عام لوگوں کے لیے استعمال ہونے والا لفظ ہے، لیکن ونڈوز سکیورٹی سپورٹ اور بگ فکس جیسی اپ ڈیٹس کو بعض اوقات آئی ڈی کے پہلے دو حروف کے بعد "کے بی" بھی کہا جاتا ہے۔
ان میں سے ہر اپ ڈیٹس کو ایک شناختی شناخت تفویض کی گئی ہے اور اس فارمیٹ "کے بی ایکس ایکس ایکس ایکس ایکس" میں اختصاص کیا گیا ہے جہاں کوئی بھی نمبر ایکس ہے۔ ہندسوں کی تعداد مقرر نہیں ہے). تاہم نوٹ کریں کہ تمام اپ ڈیٹس اس فارمیٹ کی پیروی نہیں کرتی ہیں۔
ویسے اس "کے بی" کا اصل نام "مائیکروسافٹ نالج بیس" ہے اور یہ ویب پر مائیکروسافٹ کی جانب سے شائع کردہ تکنیکی مضمون کی آئی ڈی سے میل کھاتا ہے۔ مثال کے طور پر اگر یہ کے بی 980218 کی تازہ کاری ہے تو متعلقہ تکنیکی مضمون یہ ہے۔ http://support.microsoft.com/?kbid=980218".
وہ پروگرام جو کے بی تنصیب کی حالت تلاش کرتے ہیں
اگرچہ نمونوں کو ویژیول سٹوڈیو 2010 اور ڈبلیو پی ایف میں بیان کیا گیا ہے، کے بی چیکنگ پروگرام پہلے ویژیول اسٹوڈیو، ونڈوز فارم اور کنسول ایپس میں بھی استعمال کیے جا سکتے ہیں۔ اس مضمون میں، ہم کے بی تنصیب کی جانچ کے لئے ونڈوز مینجمنٹ انسٹرومنٹیشن (ڈبلیو ایم آئی) کا استعمال کریں گے۔
- ونڈوز مینجمنٹ انسٹرومنٹیشن (وکیپیڈیا سے)
حوالہ جات کا اضافہ
ڈبلیو ایم آئی استعمال کرنے کے لیے آپ مینجمنٹ آبجیکٹ سرچر اور مینجمنٹ آبجیکٹ کلاسز استعمال کرتے ہیں، لیکن آپ کو ان کلاسوں کو استعمال کرنے کے لیے سسٹم.مینجمنٹ .dll کا حوالہ دینا ہوگا۔
سی# پروجیکٹوں کے لیے حل ایکسپلورر سے حوالہ جات پر دائیں کلک کریں اور حوالہ جات شامل کریں کا انتخاب کریں۔
جب اضافہ حوالہ مکالمہ ظاہر ہو جائے تو "پر کلک کریں۔ نیٹ ٹیب سے نظام.انتظام منتخب کریں اور اوکے بٹن پر کلک کریں۔
ٹھیک ہے اگر حل ایکسپلورر حوالہ میں "نظام.انتظام" شامل کیا جاتا ہے۔
اگر VB.NET پروجیکٹ کی خصوصیات کھولیں تو بائیں جانب ٹیب سے "براؤز" پر کلک کریں، دائیں جانب اضافہ بٹن پر کلک کریں۔ جیسا کہ اوپر ہے، اضافہ حوالہ مکالمہ دکھایا گیا ہے، لہذا "نظام.انتظام" منتخب کریں اور اوکے بٹن پر کلک کریں۔
اگر آپ پچھلی سکرین پر واپس آتے ہیں اور درمیانی فہرست میں "سسٹم.مینجمنٹ" شامل کرتے ہیں، تو یہ ٹھیک ہے۔
اس کے علاوہ، اپنے پروگرام میں نام جگہ کی تصریحات کو خارج کرنے کے لئے نیچے دی گئی فہرست سے "نظام.انتظام" چیک کریں۔
اس کے علاوہ، اگرچہ یہ اصل تجاویز سے متعلق نہیں ہے، یہ نمونہ سٹرنگ بلڈر کلاس کا استعمال کرتا ہے، لہذا میں نے "سسٹم.ٹیکسٹ" نیم اسپیس بھی چیک کیا۔ (صرف VB.NET)
منظر
اس نمونے میں استعمال ہونے والی سکرین ایک سادہ سکرین ہے جس میں عمل درآمد کا بٹن ہے تاکہ کے بی کی تنصیب کی حالت جانچی جا سکے اور ایک ٹیکسٹ باکس ہے جو نتائج دکھاتا ہے۔
میں اسے ڈبلیو پی ایف میں بنا رہا ہوں، لیکن ونڈوز فارم میں ایک ہی سکرین قابل تشکیل ہے۔
پروگرام
سی ManagementObjectSearcher
# کلاسوں اور دیگر نام کی جگہوں کی وضاحت کو کم کرنے کے لئے کوڈ کے آغاز میں ""using System.Management;
کا اضافہ کرتا ہے۔ VB.NET میں، آپ نے اختصاص کیا کہ نیم اسپیس پروجیکٹ پراپرٹیز میں درآمد کیا جانا چاہئے، لہذا آپ کو کچھ خاص لکھنے کی ضرورت نہیں ہے، لیکن اگر آپ نے ایسا نہیں کیا ہے، تو آپ کو "شامل کرنے کی ضرورت ہے۔Imports System.Management
* سی# اور VB.NET دونوں میں اگر تمام طبقاتی نام کسی نام کی جگہ سے لکھے گئے ہیں جیسے "System.Management.ManagementObjectSearcher
"، تو مندرجہ بالا تخصیص ضروری نہیں ہے۔
C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Management; // 追加 (参照から「.NET」より「System.Management」追加)
ذیل میں وہ کوڈ ہے جو نصب کے بی کی تلاش اور فہرست بناتا ہے۔
C #
this.ResultTextBox.Text = "";
// WMI クエリをセットして管理オブジェクト検索クラスを作成
ManagementObjectSearcher query =
new ManagementObjectSearcher("Select * From Win32_QuickFixEngineering");
// WMI クエリを使用して管理オブジェクトコレクションを取得
ManagementObjectCollection queryCollection = query.Get();
StringBuilder builder = new StringBuilder();
// コレクションから管理オブジェクトを列挙する
// ここでは HotFixID を取得
foreach (ManagementObject mo in queryCollection)
{
builder.AppendLine(mo["HotFixID"].ToString());
}
// 取得した KB 一覧をセット
this.ResultTextBox.Text = builder.ToString();
VB.NET
Me.ResultTextBox.Text = ""
' WMI クエリをセットして管理オブジェクト検索クラスを作成
Dim query As ManagementObjectSearcher = _
New ManagementObjectSearcher("Select * From Win32_QuickFixEngineering")
' WMI クエリを使用して管理オブジェクトコレクションを取得
Dim queryCollection As ManagementObjectCollection = query.Get()
Dim builder As System.Text.StringBuilder = New System.Text.StringBuilder()
' コレクションから管理オブジェクトを列挙する
' ここでは HotFixID を取得
For Each mo As ManagementObject In queryCollection
builder.AppendLine(mo("HotFixID").ToString())
Next
' 取得した KB 一覧をセット
Me.ResultTextBox.Text = builder.ToString()
پہلی سطر میں ""ResultTextBox
حاصل کردہ نتائج دکھانے کے لیے ایک متن خانہ ہے۔
منتظم شے کی تلاش کلاس کی ایک مثال بناتاnew ManagementObjectSearcher
ہے اور ڈبلیو ایم آئی سوال کو دلیل کے طور پر سیٹ کرتا ہے۔ کسی سوال کا ترکیب تقریبا ایس کیو ایل بیان کے برابر ہوتا ہے، لہذا تفصیلات کے لئے ایس کیو ایل کے سلسلے میں اسے دیکھیں۔ "Win32_QuickFixEngineering" ایک اپ ڈیٹ کی نمائندگی کرتا ہے جو موجودہ آپریٹنگ سسٹم پر لاگو ہوتا ہے۔
پہلے متعین کردہ ڈبلیو ایم آئی استفسار پر تلاش کرتا ہے "query.Get()
اور نتائج کو "کے طور پر واپس کرتا ہے۔ManagementObjectCollection
چونکہ "" اپ ڈیٹ معلومات کی فہرست بناتا ہے، ہم ہر ایک میں "" حاصل کرتے ہیں اور اس کے نتیجے میں "ہاٹ فکس آئی ڈی"ManagementObjectCollection
ManagementObject
پیرامیٹر سے ایک منفرد شناخت کار لکھتے ہیں۔
جب آپ ایسا کرتے ہیں تو اپ ڈیٹ آئی ڈی کو اعداد و شمار میں دکھائے گئے کے مطابق درج کیا جاتا ہے۔
جیسا کہ آپ دیکھ سکتے ہیں کہ جب آپ اسے چلاتے ہیں، یہ صرف پہلی دوڑ میں سست ہوتا ہے۔ دوسری بار کے بعد، یہ مناسب طور پر جلدی ہے.
یہ واضح نہیں ہے کہ سسٹم.مینجمنٹ.dll لوڈ کرنے اور عمل کرنے میں سست ہے یا ڈبلیو ایم آئی کے استفسار پر عمل درآمد سست ہے، لیکن حقیقت یہ ہے کہ یہ سست ہے تبدیل نہیں ہوتا ہے، لہذا اگر آپ اسے استعمال کرتے وقت تاخیر کے بارے میں پریشان ہیں، تو میں سمجھتا ہوں کہ اس کے لئے غیر ہم آہنگی کے نفاذ جیسے اقدامات کرنا ضروری ہے۔