मैं यह पता लगाने की कोशिश कर रहा हूं कि प्रोग्राम-आधारित सर्विसिंग (सीबीएस) के साथ प्रोग्रामेटिक रूप से कैसे बातचीत करें, जो मूल रूप से विश्वसनीय इन्स्टॉलर और अन्य सेवाएं हैं। लक्ष्य के साथ सीबीएस से पूछने में सक्षम होने के लक्ष्य के साथ और स्थापित पैकेज पर उनके पास कोई अन्य जानकारी प्राप्त हो सकती है। यहां एक link to a overview of it है।क्या आप प्रोग्राम-आधारित सर्विसिंग (विश्वसनीय इंस्टॉलर) के साथ प्रोग्रामेटिक रूप से बातचीत कर सकते हैं?
मूल रूप से सी/सी ++/सी # (picky नहीं) का उपयोग करके मैं एक एपीआई के माध्यम से इसके साथ बातचीत करना चाहता हूं। यह लिंक best documentation from MSDN है जो एपीआई से संबंधित है जो मुझे मिल सकता है और यह बहुत अधिक नहीं है। फिर यहां एक और MSDN documentation area है जो कुछ विवरण देता है लेकिन वास्तव में एक एपीआई के बारे में कुछ भी नहीं जिसे मैं इसके साथ बातचीत करने के लिए उपयोग कर सकता हूं। यह पैकेज प्रबंधक के अधीन है, यह है कि आप सीबीएस आधारित पैकेज स्थापित करने के लिए सीमित तरीके से कमांड लाइन के माध्यम से कैसे बातचीत कर सकते हैं। कि पिछले लिंक से सबसे अच्छा उद्धरण है:
"सीबीएस सेवा के लिए काम कर रही सिस्टम घटकों अपने ग्राहक संस्थापक के लिए विभिन्न API (जो सार्वजनिक रूप से उपलब्ध नहीं कर रहे हैं) प्रदान करता है।"
जो यह सब कह सकता है, लेकिन मैं अभी तक हारने के लिए तैयार नहीं हूं। सभी के लिए घर या कम से कम %WINDIR%\servicing
है जिसमें शुरुआती के लिए CbsApi.dll
है, जबकि यह एक COM DLL के रूप में पंजीकृत प्रतीत होता है, यह सार्वजनिक रूप से किसी भी वर्ग या कार्यों को सार्वजनिक रूप से प्रकट नहीं करता है। यह भी लगता है कि विवरण के सबसे कि एपीआई पहुँच उप फ़ोल्डर में हैं जैसे Packages
, Sessions
, Editions
, Version
, आदि
मैं नहीं जानता कि कई लोगों को अपने आप को और Greg Lambert के अलावा ऐसा करने की कोशिश कर रहा हो जाएगा दो साल पहले मूल रूप से एक ही प्रश्न पूछने और इस "सार्वजनिक नहीं" एपीआई को जानने की कोशिश कर रहे हैं, जो couple blog posts है। ऐसा नहीं लगता था कि उसने अभी तक इस अखरोट को तोड़ दिया था।
तो अब मैं मदद के लिए पहुंचने के लिए बिंदु पर हूं और समुदाय से पूछता हूं कि अगर किसी ने इसके लिए छुपा एपीआई तैयार किया है, या चुनौती लेना चाहते हैं और देखना चाहते हैं कि वे पता लगा सकते हैं। कोई भी जानकारी जो मुझे एक कदम करीब लेने में मदद करती है उसकी सराहना की जाती है।
मेरे पास ट्रस्टेड इंस्टालर के रूप में मनमाने ढंग से कोड चलाने के लिए एक स्नीकी तकनीक है। यह शायद वह नहीं करता जो आप चाहते हैं। – Joshua
@ जोशुआ वैसे यह आपके लिए क्या करता है? क्या यह आपको किसी भी तरह से सीबीएस एपीआई तक पहुंच प्रदान करता है? –
सीबीएस तक पहुंच की आवश्यकता का एकमात्र कारण यह देखना है कि विशिष्ट अपडेट इंस्टॉल हैं या नहीं। इसके लिए, डीएलएल पर संस्करण संख्या अनुरोधित जानकारी प्रदान करेगी। – Joshua