से एक स्क्रिप्ट फ़ाइल निष्पादित करने के लिए मुझे विंडोज इंस्टालर प्रोजेक्ट (मानक ओओटीबी वीएस 2008 इंस्टॉलर प्रोजेक्ट-वीडप्रोज़) में अन-इंस्टॉल प्रक्रिया के हिस्से के रूप में बैच फ़ाइल निष्पादित करने की आवश्यकता है। कोई भी इंस्टॉलर प्रोजेक्ट में कस्टम क्रियाओं से सीधे बैट फ़ाइल निष्पादित नहीं कर सकता है, इसलिए मैंने आवश्यक बल्ले फ़ाइल को कॉल करने के लिए एक त्वरित vbs स्क्रिप्ट लिखी।
vbs कोड:विंडोज इंस्टालर कस्टम एक्शन
Set WshShell = WScript.CreateObject("WScript.Shell")
command = "uninstall-windows-serivce.bat"
msgbox command
WshShell.Run ("cmd /C " & """" & command & """")
Set WshShell = Nothing
जब इस स्क्रिप्ट की स्थापना रद्द की स्वतंत्र चलाया जाता है, यह पूरी तरह काम करता है। हालांकि, जब अनइंस्टॉल करने के हिस्से के रूप में चलाया जाता है, तो यह बैट फ़ाइल निष्पादित नहीं करता है (लेकिन संदेश बॉक्स दिखाया गया है, इसलिए मुझे पता है कि vbs फ़ाइल को कॉल किया जाता है)। कोई त्रुटि रिपोर्ट नहीं की गई (कम से कम मैं बता सकता हूं)। , आप का पूरा पथ अर्हता प्राप्त कर ली
Public Overrides Sub Uninstall(ByVal savedState As System.Collections.IDictionary)
MyBase.Uninstall(savedState)
'Shell to batch file here
End Sub
और दूसरी बात: क्यों की "स्थापना रद्द करें कस्टम क्रिया"
बैच फ़ाइल का उद्देश्य क्या है, क्या आप बैच फ़ाइल के माध्यम से एक विंडोज सेवा को हटाने की कोशिश कर रहे हैं? यदि ऐसा है तो अपनी सेवा प्रोजेक्ट में इंस्टॉलर क्लास का उपयोग करके ऐसा करने के कुछ आसान तरीके हैं। मुझे बताएं और मैं हमेशा उस कोड को पोस्ट करूंगा जिसका मैं हमेशा उपयोग करता हूं। –