2012-06-22 9 views
8

मेरे पास एनएसआईएस में एक एप्लिकेशन सेटअप बिल्ड है। HKEY_LOCAL_MACHINE \ सॉफ्टवेयर \\\ "" VersionNo "0 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \\" "VersionNo" "11"64-बिट सिस्टम में रजिस्ट्री मान लिखना

-: सेट निम्न स्थान पर बनाए जा सकने के लिए अपने आवेदन शुरू करने के लिए एक कुंजी की आवश्यकता है लिपि में, मैंने उपयोग किया है: -

 WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>\<Key3>" "VersionNo" 0 
     WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11" 

यह कुंजी 32-बिट विंडोज 7 सिस्टम पर सफलतापूर्वक बनाई गई है। हालांकि, जब मैं 64-बिट विंडोज 7 सिस्टम पर सेटअप स्थापित करता हूं तो कुंजी उपरोक्त स्थान पर नहीं बनाई जाती है। इसकी बजाय यह कुंजी बनाता है: -

 HKEY_LOCAL_MACHINE\Software\Wow6432Node\<Key1>\<Key2>\<Key3>" "VersionNo" 0 
     HKEY_LOCAL_MACHINE\Software\Wow6432Node\<Key1>\<Key2>" "VersionNo" "11" 

यह मेरे आवेदन में इंस्टॉलेशन के बाद शुरू नहीं होता है।

- क्या कोई कृपया HKEY_LOCAL_MACHINE \ Software \ Wow6432Node के तहत बनाए जाने के बजाय 64-बिट सिस्टम के लिए HKEY_LOCAL_MACHINE \ Software \ के तहत कुंजी (ओं) को अनिवार्य रूप से कुंजी बनाने के लिए एनएसआईएस के लिए कमांड/स्क्रिप्ट का सुझाव दे सकता है?

बेसब्री एक समाधान के लिए इंतज़ार कर ....

उत्तर

27

उपयोग SetRegView 32-बिट और 64-बिट रजिस्ट्री के बीच स्विच करने के लिए। आपका कोड इस तरह दिखना चाहिए:

SetRegView 64 
WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" 0 
SetRegView 32 
WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11" 
+0

धन्यवाद। समाधान ठीक काम करता है। – Bomzinho

+9

@ बॉम्ज़िन्हो आपको सर्जियस को सौजन्य के रूप में स्वीकार किए गए उत्तर को चिह्नित करना चाहिए –

संबंधित मुद्दे