2009-07-12 13 views
9

मैंने एक आवेदन लिखा है और मैं इसे पंजीकरण कुंजी/सीरियल नंबर जोड़ना चाहता हूं (मैं न्यूनतम असुविधा पर बड़ा हूं - 0 #पर अला # 4)। मेरा सवाल यह है कि आवेदन पंजीकृत होने के बाद "सक्रियण" को कहां रखा जाए। जैसा कि मैं इसे समझता हूं, मेरे पास सार्वजनिक स्थान पर कुंजी संग्रहीत करने के बीच एक व्यापार-बंद है, जहां सभी उपयोगकर्ता इसे पढ़ सकते हैं (लेकिन जिसके लिए वहां व्यवस्थापकों के अधिकारों को सहेजने की आवश्यकता होती है) और प्रति उपयोगकर्ता सक्रियण संग्रहित करना (लेकिन फिर प्रत्येक उपयोगकर्ता को कंप्यूटर को स्वतंत्र रूप से सक्रिय करना होगा)। इससे मुझे दो विकल्प मिलते हैं:मुझे अपने एप्लिकेशन की "सक्रियण" कुंजी कहां स्टोर करनी चाहिए?

  1. कुछ उपयोगकर्ता, स्थानीय व्यवस्थापक अधिकारों के साथ, उत्पाद को सक्रिय करता है। सक्रियण HKLM में, प्रोग्राम फ़ाइलों फ़ोल्डर में, या कहीं और जहां सभी उपयोगकर्ता इसे पढ़ सकते हैं, और सभी उपयोगकर्ताओं के लिए उत्पाद सक्रिय किया जाता है।
  2. उपयोगकर्ता (व्यवस्थापक अधिकारों के साथ या बिना) उत्पाद को सक्रिय करता है। सक्रियण कहीं भी उपयोगकर्ता केंद्रित (प्रति उपयोगकर्ता app.config, HKCU, आदि) संग्रहीत किया जाता है। प्लस यह है कि उपयोगकर्ता को व्यवस्थापक होना जरूरी नहीं है। नकारात्मकता यह है कि यदि कंप्यूटर का उपयोग करने वाले 6 उपयोगकर्ता हैं, तो प्रत्येक को उत्पाद को सक्रिय करना होगा। वे प्रत्येक एक ही धारावाहिक का पुनः उपयोग कर सकते हैं, लेकिन उन्हें अभी भी इसे दर्ज करना होगा।

क्या यह वास्तव में व्यापार बंद है? यदि ऐसा है, तो दूसरों ने क्या किया है? एक डेवलपर के रूप में, मैं लोगों के लिए स्थानीय व्यवस्थापक होने के लिए उपयोग किया जाता हूं, लेकिन वास्तविक दुनिया में, मुझे उम्मीद नहीं है कि मेरे कई कॉर्पोरेट उपयोगकर्ता स्थानीय व्यवस्थापक होंगे, जो मुझे विकल्प 2 की तरफ झुकता है। क्या कंप्यूटर अक्सर साझा नहीं होते हैं इतना है कि मुझे चिंतित नहीं होना चाहिए?

फिर से, मैं कंप्यूटर से शारीरिक रूप से पंजीकरण करने के तरीके के बारे में नहीं पूछ रहा हूं - मैं इसके बारे में चिंतित नहीं हूं। मैं केवल प्रदान की गई कुंजी की जांच करने जा रहा हूं और आगे बढ़ता हूं, क्योंकि मैं जितना संभव हो उतना गैर-आक्रामक बनना चाहता हूं।

उत्तर

7

मैं ऐसे समाधान की अनुशंसा करता हूं जिसके लिए व्यवस्थापकीय अधिकारों की आवश्यकता नहीं है। बहुत सारे उपयोगकर्ता, विशेष रूप से साझा वातावरण में, उन अधिकारों के पास नहीं होंगे और वे आसानी से उनके साथ किसी को भी नहीं ढूंढ पाएंगे।

इसके अलावा, कुछ सालों से आगे बढ़ते हुए, मुझे लगता है कि आपके द्वारा उपयोग किए जा रहे कंप्यूटर पर प्रशासन अधिकारों के लिए यह असामान्य असामान्य हो जाएगा, क्योंकि सुरक्षा की स्थिति में सुधार होता है।

+0

लेकिन अलग-अलग उपयोगकर्ताओं के लिए एक ही कंप्यूटर पर बार-बार एक ही एप्लिकेशन को पंजीकृत करना बहुत परेशान है! मैं इसे अनुप्रयोग डिजाइन में एक दोष मानता हूं। –

+5

ठीक है, हमने एक समाधान का उपयोग किया है जो सक्रिय उपयोगकर्ताओं की जानकारी को सक्रिय उपयोगकर्ता रजिस्ट्री में रखना है, फिर यदि व्यवस्थापक अधिकार उपलब्ध हैं, तो इसे स्थानीय मशीन में भी रखें। यदि व्यवस्थापक अधिकार उपलब्ध हैं, तो मशीन पर साझा किए गए कोई भी उपयोगकर्ता परेशान नहीं हैं। यदि कोई व्यवस्थापक अधिकार उपलब्ध नहीं है, तो प्रत्येक उपयोगकर्ता को एक बार सक्रिय करने के लिए कहा जाता है। –

+1

मुझे इसे कम से कम एचकेसीयू में संग्रहीत करने का विचार पसंद है, और फिर उपयोगकर्ता के अधिकारों के अधिकार में HKLM में भी। यह न्यूनतम असुविधा की तरह लगता है - पंजीकरण * व्यवस्थापक अधिकारों की आवश्यकता नहीं होगी, लेकिन अगर वे वहां हैं तो उनका लाभ उठाएंगे। – SqlRyan

1

रजिस्ट्री व्यवसाय सॉफ्टवेयर के लिए एक ठीक समाधान प्रतीत होता है। कम से कम जहां मैं काम करता था, नियमित उपयोगकर्ता स्थानीय कंप्यूटर व्यवस्थापक नहीं होगा, इसलिए प्रत्येक स्थापना के लिए स्थानीय व्यवस्थापक खाते की आवश्यकता होगी। यह एक अच्छी बात है क्योंकि इससे आपके समर्थन कर्मचारियों के सिरदर्द को आपके व्यवसाय कंप्यूटिंग पर्यावरण में बस सब कुछ इंस्टॉल करने से कम कर दिया जाएगा। व्यापार बंद है, उपयोगकर्ता को पिस कर दिया जाएगा कि वे सामान स्थापित नहीं कर सकते हैं या इसे करने के लिए समर्थन से संपर्क करना है, लेकिन हे ...:)

अन्य सामान: डोंगल का

  • यूएसबी/अन्य प्रकार (आला वर्ष 3DMax) (मोबाइल डिवाइस पर आला गार्मिन GPS सॉफ्टवेयर)
  • सादे पुराने पाठ फ़ाइल
  • उन्हें सांकेतिक शब्दों में बदलना/ में कुंजी को फिर से लिखने को अपनी बाइनरी या अपने द्विआधारी का हिस्सा (इस चाल वें वर्ष डॉस दिनों में वापस किया था)
  • स्टोर उन्हें वेब के माध्यम से अपने खुद के DB में (आला EverQu स्था/अन्य MMORPG खेलों)
  • स्थानीय कुंजी डीबी (Mathlab आला मुझे लगता है कि)
0

हम वर्तमान उपयोगकर्ता के लिए रजिस्ट्री करने के लिए हमारे सक्रियण कोड को बचाने (HKCU) हम इसके साथ बहुत कम समस्याओं पड़ा है। हमारे ग्राहक सहयोगी नेटवर्क पर घरेलू कंप्यूटर से पतले ग्राहकों तक सबकुछ चलाते हैं।

यदि आपके सॉफ़्टवेयर का उपयोग स्कूलों या अन्य शैक्षिक वातावरण में किया जाएगा तो आपको कुछ अन्य विधि प्रदान करने की आवश्यकता है। यह एक अलग पंजीकरण आवेदन के रूप में सरल हो सकता है जो सभी उपयोगकर्ताओं के लिए सक्रियण को बचाएगा। आपके सॉफ़्टवेयर को दो रजिस्ट्री लुकअप करना होगा लेकिन यह भुगतान करने के लिए एक छोटी सी कीमत है।

1

आपके आवेदन के लिए पृथक भंडारण का उपयोग करने के बारे में कैसे?

आपके पास इस पंजीकरण को आपके पंजीकरण के लिए मैशियन स्तर पर स्टोर करने की क्षमता होगी, और कॉन्फ़िगरेशन परिवर्तन उपयोगकर्ता स्तर पर जारी रखा जा सकता है।

+0

क्या आप इसका उदाहरण दे सकते हैं कि मैं इसे कैसे पूरा कर सकता हूं? मैं इस शब्द से परिचित नहीं हूं, इसलिए मैं यह सुनिश्चित करना चाहता हूं कि मैं आपका विचार समझूं। – SqlRyan

+0

आप यहां एक उदाहरण पा सकते हैं: http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefilestream(VS.71).aspx –

+0

संपादित करें: यह एक बेहतर है: http://msdn.microsoft.com/en-us/library/bdts8hk0.aspx –

0

सामान्यतः, अधिकांश कंप्यूटर एक उपयोगकर्ता द्वारा उपयोग किए जाते हैं (या एकाधिक उपयोगकर्ता अभी भी एक ही उपयोगकर्ता खाते का उपयोग कर रहे हैं)। तो उपयोगकर्ता आधारित भंडारण वैसे भी अधिकांश समय काम करेगा।

हालांकि यह या तो नहीं है। ऐसे फ़ोल्डर स्थान हैं जो सभी उपयोगकर्ताओं द्वारा लिखने योग्य हैं - जैसे कि ProgramData फ़ोल्डर। कुंजी प्रत्येक व्यक्ति द्वारा फ़ाइल को पठनीय/लिखने योग्य बनाने के लिए है ताकि आप उपयोगकर्ता की परवाह किए बिना सामग्री को सत्यापित कर सकें।

DeployLX Licensing यह गैर-सुरक्षित लाइसेंस डेटा के लिए करता है ताकि इसे बिना किसी व्यवस्थापक के अनुमति के अनुदान के कई उपयोगकर्ताओं द्वारा उपयोग किया जा सके।

0

आपको लगातार होना चाहिए। यदि प्रोग्राम को स्थापित करने के लिए व्यवस्थापकीय अधिकारों की आवश्यकता होती है, तो इसे पंजीकृत करने के लिए व्यवस्थापकीय अधिकारों की आवश्यकता के लिए यह लाइन से बाहर नहीं है। इसी प्रकार यदि आप किसी भी तरह से व्यवस्थापक अधिकारों के बिना इसे स्थापित करने में कामयाब रहे हैं तो इसे बिना पंजीकरण भी करें।

यदि आप एक चरण में स्थापित और पंजीकरण करते हैं तो यह कोई मुद्दा नहीं होगा।

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

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