मैं NSIS के RmDir
विधि के लिए दस्तावेज में इस चेतावनी पर ध्यान:
चेतावनी: अनइंस्टॉलर में RMDIR/आर $ INSTDIR का उपयोग कर सुरक्षित नहीं है। हालांकि यह संभावना नहीं है, उपयोगकर्ता करने के लिए चयन हो सकता है प्रोग्राम फ़ाइलें फ़ोल्डर को स्थापित करने और इसलिए इस आदेश पूरे प्रोग्राम फ़ाइलें फ़ोल्डर का सफाया, अन्य कार्यक्रमों अनइंस्टॉलर साथ लेना देना नहीं है कि सहित जाएगा।
यह मुझे डराता है, क्योंकि अब तक मैंने इस संभावना को नहीं माना था और मेरी स्क्रिप्ट में यह सटीक रेखा थी। लेकिन जब मैंने परीक्षण किया कि यह मेरे प्रोग्राम को पूर्व-मौजूदा फ़ाइलों वाले पूर्व-मौजूदा स्थान पर स्थापित करके होगा और उसके बाद RmDir /r /REBOOTOK $INSTDIR
के साथ मेरा अनइंस्टॉलर चलाएगा, तो मौजूदा फ़ाइलों को बिना छोड़े छोड़े गए थे।
क्या यह पुरानी चेतावनी है? मैं एनएसआईएस बनाम 2.46 का उपयोग कर रहा हूं।
धन्यवाद
क्या मैं $ INSTDIR पर एक उप फ़ोल्डर बनाने के लिए और वहाँ में अपने सभी कार्यक्रम डेटा डाल दिया, रिकर्सिवली कि उप निर्देशिका को हटाने के बाद मूल $ INSTDIR पर एक नियमित रूप से RMDIR करते थे तो क्या होगा? – Cuga
अच्छा, यह मदद करेगा, लेकिन मुद्दा अभी भी वहां हो सकता है। आइए कहें कि आपके सबफ़ोल्डर को system32 नाम दिया गया है और उपयोगकर्ता% windir% पर स्थापित करता है, तो आप% windir% \ system32 – Anders
हटा देंगे, मुझे लगता है कि मैं इसे INSTDIR नाम के अंदर एक उपदिर बनाने के साथ जोखिम दूंगा: ... I लगता है कि यह काम करना चाहिए। –
Cuga