2009-06-17 8 views
6

This question, वास्तव में मेरी समस्या का वर्णन को छोड़कर मैं मूल रूप से ConfigurationManager साथ app.config में एक कस्टम विन्यास अनुभाग का उपयोग कर रहा है, तो समाधान प्रस्तुत वहाँ लागू नहीं होता ...ConfigManager का उपयोग कर ClickOnce अपडेट के माध्यम से app.config को कैसे बनाए रखें?

, मेरी समस्या यह है कि जब ClickOnce आवेदन अद्यतन करता है, यह नए app.config के साथ एक अलग निर्देशिका में स्थापित करता है, जिससे किसी भी बदलाव को मिटा दिया जाता है। मेरा एप्लिकेशन एप्लिकेशन सेटिंग्स को जारी रखने के लिए app.config का उपयोग करता है, इसलिए यह बहुत बुरा है ... एक विलयित अद्यतन उत्कृष्ट होगा (दूसरे प्रश्न में जो हासिल किया गया है उसके समान), लेकिन इस बिंदु पर स्वचालित कुछ भी अच्छा होगा।

या क्या मुझे डिफ़ॉल्ट स्थान का उपयोग करने की बजाय मेरे app.config फ़ाइल के लिए बस एक सेट स्थान का उपयोग करना चाहिए?

उत्तर

2

क्लिकऑन अपडेट के बीच उपयोगकर्ता सेटिंग्स को बनाए रखना चाहिए लेकिन मुझे यह अनजान कारणों (और खराब परिणामों के साथ) में एक या दो बार विफल रहा है। मैंने कस्टम कॉन्फ़िगरेशन सेटिंग की कोशिश नहीं की है, लेकिन मैंने क्लिकऑन की सेटिंग्स को ओवरराइट करने की क्षमता में विश्वास खो दिया है।

जिस दृष्टिकोण का मैं उपयोग करने की योजना बना रहा हूं वह ऐप को अनुमति देने के बजाय मैन्युअल रूप से क्लिकऑन अपडेट को संभालना है। अद्यतनों की जांच करने के लिए और उपयोगकर्ता को स्थापित करने के लिए संकेत दें। मेरे पास कुछ ऐसे उपयोगकर्ता भी हैं जिन्होंने अद्यतन स्वीकार नहीं किया है और यह ठीक होने का दर्द है। अद्यतन को मैन्युअल रूप से प्रबंधित करके, मैं अपडेट करने से पहले उपयोगकर्ता सेटिंग्स को स्मृति में पढ़ने में सक्षम होने की उम्मीद करता हूं, फिर अद्यतन पूरा होने के बाद उन्हें वापस लिखें। एक आवेदन अद्यतन कार्यक्रम है जो इस उद्देश्य को पूरा करना चाहिए।

शायद यह दृष्टिकोण आपके लिए भी काम कर सकता है।

संदर्भ जोड़ने के लिए संपादित:

Googling ApplicationDeployment के लिए भी मदद करनी चाहिए।

+0

यह एप्लिकेशन अद्यतित घटना कहां है? मैं इसे ऑब्जेक्ट ब्राउज़र में नहीं ढूंढ सकता ... इसके अलावा, इसने समस्या की मदद नहीं की है (हालांकि, यह एक अच्छी सुविधा है, मुझे क्लिकऑनेंस संवाद कभी पसंद नहीं आया), अपडेट अभी भी एक नई निर्देशिका में स्थापित हैं, इसलिए पुराना app.config खो गया है –

+0

पुन: ApplicationSettingsBase के बारे में आपका दूसरा लिंक, मैं कॉन्फ़िगरेशनसेक्शन से विरासत में हूं, इसलिए यह मेरे लिए एक विकल्प नहीं है? –

+0

परिनियोजन पर एक नज़र डालें। आवेदन। आवेदन वितरण सेवा। मुझे लगता है कि जब मैं अनुप्रयोग अद्यतन घटना का उल्लेख करता हूं तो मैं नमूना कोड देख रहा था। मुझे पता है कि पुराना ऐप.कॉन्फिग खो गया है, मेरा विचार मौजूदा कॉन्फ़िगरेशन से उपयोगकर्ता सेटिंग्स में पढ़ना है, अपडेट करें, फिर उपयोगकर्ता कॉन्फ़िगरेशन को नई कॉन्फ़िगरेशन में लिखें। –

1

यदि आप कर सकते हैं, तो अपने ग्राहक कॉन्फ़िगरेशन को स्टोर करने के लिए सेटिंग्स.सेटिंग (अपनी प्रोजेक्ट में गुणों के तहत पाए गए) का उपयोग करें।

क्लिकऑन स्वचालित रूप से आपकी उपयोगकर्ता सेटिंग्स को मर्ज कर देगा और आपको किसी चीज़ के बारे में चिंता करने की आवश्यकता नहीं होगी। अधिक निर्देशों के लिए इस तरह कुछ देखें: http://www.dotnetperls.com/settings-visual-studio