मैं बात पर जोर देना कि एक निश्चित रजिस्ट्री मान स्थापना के बाद से मौजूद चाहते हैं, तो मैं निम्नलिखित घटक कहा:वाईएक्स: रजिस्ट्री मान को अनइंस्टॉल करने से हटाने से कैसे रोकें?
<Component Id="RegistryEntryContextMenuOdt" Guid="4BA5BA24-4F65-4BDF-99EB-CB4B947F31A9" DiskId="1" KeyPath="yes">
<RegistryKey Id="RegKeyOdt" Root="HKCR" Action="create" Key=".odt">
<RegistryValue Type="string" Value="openDocument.WriterDocument.1" />
</RegistryKey>
</Component>
कुंजी/मान पहले से ही स्थापना से पहले सेट किया जा सकता है। हालांकि, मैं चाहता हूं कि मान मेरे विशिष्ट मूल्य पर सेट हो, यानी यह मेरे मूल्य के साथ ओवरराइट हो जाएगा।
मेरी समस्या अब है कि यह मान हमेशा हटा दिया गया है जब मेरा उत्पाद अनइंस्टॉल किया गया है। हालांकि, मैं केवल अपने इंस्टॉलर द्वारा जोड़े जाने पर मान को हटाना चाहता हूं। यदि मेरे इंस्टॉलर ने अभी मान को संशोधित किया है, तो पिछले मान को पुनर्स्थापित किया जाना चाहिए (या, यदि यह संभव नहीं है, तो मेरा मान छूटा नहीं जाना चाहिए)।
कृपया ध्यान दें कि कुंजी को अनइंस्टॉल करने पर हटाया नहीं गया है। ऐसा लगता है कि यह सही ढंग से काम करता है क्योंकि मैंने Action="create"
को RegistryKey
तत्व पर निर्दिष्ट किया है।
क्या RegistryValue
के लिए शायद एक ही सेटिंग है जो मूल्य बनाएगी लेकिन इंस्टॉल पर इसे हटाएगी?
अद्यतन: एचकेसीआर के तहत दोनों रजिस्ट्री कुंजियां मशीन चौड़ी सेटिंग हैं, यानी वे रजिस्ट्री की HKLM \ सॉफ़्टवेयर \ क्लासेस शाखा से उत्पन्न होती हैं।
धन्यवाद, यह बहुत उपयोगी है। मुझे इसे जांचने दें :-) –
+1 कीपैथ टिप्पणी के लिए +1! –