installer - Getting program to run at start up from c# code. Setting Registry Run to 'true' doesn't work as well -


मुझे ऑनलाइन कोड का यह अच्छा स्निपेट मिला:

  rkApp = Registry.LocalMachine.OpenSubKey ("सॉफ़्टवेयर \\ माइक्रोसॉफ्ट \\ विंडोज़ \ CurrentVersion \\ चलाएँ", सच है);  

जो अच्छा चलता है लेकिन विंडोज 7 पर विस्वास और विस्टा मुझे संदेह है, यह क्रैश हो रहा है क्योंकि उसे वहां लिखने की अनुमति नहीं है।

तो फिर मैं (पर स्टैकहोवरफ्लो का कोर्स) यह कैसे से बचने के लिए, तेज़ तरीका:

  rkApp = Registry.CurrentUser.OpenSubKey ("सॉफ़्टवेयर \\ माइक्रोसॉफ्ट \\ विंडोज़ \ CurrentVersion \\ चलाएँ", सच है);  

काफी सरल! हालांकि दो मुद्दे शेष हैं एक दोनों तरीकों (एक XP बॉक्स पर है) के साथ है, प्रोग्राम सोचता है कि उसके सापेक्ष पथ सी में है: \ windows फ़ोल्डर अब ... इसलिए I.e. यह मेरा रास्ता सापेक्ष मदद फ़ाइलें आदि नहीं मिलेगा। दूसरा मुद्दा, विंडोज 7 पर, मेरा प्रोग्राम तब तक स्टार्टअप नहीं होगा जब तक मैं लॉग इन नहीं करता। मैं चाहता हूं कि इससे पहले संभव हो कि कोई भी लॉग इन करने से पहले पृष्ठभूमि में शुरू हो।

यह एक सरल। Exe है जो सिस्ट्रे में लटका हुआ है जब इसकी चल रही है। मैं इन एडमिन और पथिंग समस्याओं के आसपास आने के लिए एक इंस्टॉलर की इस राक्षसी रचना को नहीं बनाना चाहता था।

मुझे लगता है कि मुझे इसे प्राप्त करने के लिए एक सेवा (कोई सुराग नहीं कैसे करना चाहिए) के रूप में बनाना होगा शुरू करने के लिए जब कोई भी लॉग इन करने से पहले मशीन रिबूट करता है। दूसरा ऐसा करने के लिए मुझे पूरा यकीन है कि मुझे व्यवस्थापकीय विशेषाधिकारों का पता होना चाहिए, और जब से मैं इसे हर बार चलाने के लिए कार्यक्रम को स्वीकृति देना नहीं चाहता, जैसे कि मुझे इंस्टॉल समय के दौरान अपने व्यवस्थापक विशेषाधिकारों का पता लगाना होगा, लेकिन कोई संस्थापक नहीं।

तो बस यह उत्सुक है कि मैं काम करने के लिए किन मार्गों को ले सकता हूं। मैं यह तब तक आ सकता हूं जब उपयोगकर्ता लॉग इन करता है, लेकिन मेरे मौजूदा तरीके जो इस तरह काम करते हैं, वास्तव में मेरे प्रोग्राम का पथ बनाते हैं क्योंकि यह एक नई निर्देशिका में सामान लिखने की कोशिश करता है (नहीं, जिसने मुझे मूल रूप से शुरू किया था EXE से) आदि ... और मुझे कोई सुराग नहीं है कि उस पथ को तय करने के बारे में कैसे जाना जाए।

यदि आप चाहते हैं किसी भी व्यक्ति को लॉग ऑन करने से पहले एक सेवा के रूप में शुरू करने के लिए आपका प्रोग्राम, फिर इसे स्थापित करने और व्यवस्थापक उपयोगकर्ता के रूप में चलाने की आवश्यकता होगी।

एक सेवा बनाने पर एक है जो आपको शुरू करना चाहिए।

दृश्य स्टूडियो 2008 में डिफ़ॉल्ट रूप से स्थापित विंडोज सर्विस के लिए एक प्रोजेक्ट टेम्पलेट है: < / P>

"फ़ाइल> नई> परियोजना> दृश्य सी #> विंडोज> विंडोज सेवा"


Comments