मैं एक खिड़कियों सेवा मिल गया है, सी # का उपयोग कर बनाया गया है, कि एक VS2008 सेटअप परियोजना के माध्यम से स्थापित किया गया है, और स्थापना रद्द प्रक्रिया के साथ होने वाली समस्याओं की एक जोड़ी हो रहा है:विंडोज सेवा को अनइंस्टॉल करने का सही तरीका?
सेवा तब भी नहीं रूकती
की स्थापना रद्द करने से पहलेजब अनइंस्टॉल दिनचर्या चलता है, तो यह उपयोग में आने वाली फ़ाइलों के बारे में एक त्रुटि उत्पन्न करता है। जारी रखने पर क्लिकर इंस्टॉलर को सही तरीके से पूरा करता है, लेकिन सेवा अभी भी सूची में दिखाई देती है, इसलिए इसे ठीक से अनइंस्टॉल नहीं किया जा रहा है।
(वर्तमान में, मुझे इसे एससी का उपयोग कर मैन्युअल रूप से हटाने का सहारा लेना है servicename)।
मैं निम्नलिखित कोड का उपयोग कर की स्थापना रद्द करने से पहले सेवा बंद करने के लिए कोशिश कर रहा हूँ, लेकिन यह प्रभाव लेने जा प्रतीत नहीं होता:
protected override void OnBeforeUninstall(IDictionary savedState)
{
base.OnBeforeUninstall(savedState);
ServiceController serviceController = new ServiceController(MyInstaller.ServiceName);
serviceController.Stop();
}
जब यह कोड कहा जाता है, और कैसे मैं सेवा बंद कर सकते अनइंस्टॉल करने से पहले?
स्थापना फ़ोल्डर की स्थापना रद्द करने
आवेदन भी कुछ फ़ाइलें बनाता है के भीतर इसे स्थापना फ़ोल्डर है जब मार डाला के बाद हटाया नहीं। अनइंस्टॉल करने के बाद, इंस्टॉलेशन फ़ोल्डर (सी: \ प्रोग्राम फ़ाइलें \ MyApp) हटाया नहीं गया है, और एप्लिकेशन द्वारा बनाई गई फ़ाइलों को शामिल किया गया है, हालांकि इंस्टॉलर द्वारा वास्तव में इंस्टॉल की गई सभी अन्य फ़ाइलों को सफलतापूर्वक हटा दिया गया है।
क्या स्थापना फ़ोल्डर को हटाने के लिए अनइंस्टॉल प्रक्रिया के लिए संभव है, जिसमें उस फ़ोल्डर के भीतर सभी जेनरेट की गई फ़ाइलें शामिल हैं, और यदि ऐसा है, तो कैसे?
धन्यवाद।
मुझे अपने पहले मुद्दे का जवाब देना है। यदि आप इसे कभी समझते हैं तो कृपया इसे पोस्ट करें। – PaulH
@ म्यून मैंने जोड़ा [यह कोड] (http://www.primordialcode.com/blog/post/msi-simple-delete-files- कस्टम-action) 'OnAfterUninstall' विधि पर, लेकिन यह कहता है कि फ़ाइल हो रही है किसी अन्य प्रक्रिया या उपयोग से इनकार किया जाता है –