मैं Google के आसपास खोद रहा हूं ताकि इंस्टॉल विज़ार्ड से उपयोगकर्ता द्वारा चुने गए इंस्टॉलेशन पथ को निर्धारित करने के लिए उचित तरीका ढूंढने का प्रयास किया जा सके।विजुअल स्टूडियो इंस्टॉल प्रोजेक्ट: लक्ष्य निर्देशिका
असल में मैं एक ऐसे मुद्दे पर चल रहा हूं जहां मेरी सेवा फाइलों को अपनी निर्देशिका में नहीं बना सकती है क्योंकि इसमें उचित अनुमति नहीं है। मुझे लगता है कि इसे हल करने का सही तरीका यह सुनिश्चित करना है कि सेवा का उपयोग करने वाले किसी भी खाते को उसके फ़ोल्डर पर उपयुक्त फ़ाइल अनुमतियां दी गई हैं।
लेकिन इससे पहले कि मैं .NET के माध्यम से अनुमतियों को सेट करने का तरीका भी हल कर सकूं, मुझे इंस्टॉलेशन फ़ोल्डर को जानने की आवश्यकता है। मैं एक इंस्टॉल प्रोजेक्ट का उपयोग कर रहा हूं जिसमें एक इंस्टॉलर क्लास है जिसमें ServiceInstaller
नियंत्रण भी शामिल है। दोनों में Context
संपत्ति है इसलिए मैं उन पैरामीटरों के लिए जांच कर रहा हूं जो उपलब्ध हैं जब AfterInstall ईवेंट प्रत्येक संबंधित इंस्टॉलर के लिए आग लगती है। मैंने पहले सोचा था कि मैं TargetDir
संपत्ति सेट देख रहा हूं लेकिन यह मामला नहीं है। हालांकि मैं AssemblyPath
देख रहा हूं और उपयुक्त फ़ोल्डर के निष्पादन योग्य को इंगित कर रहा हूं।
अनिवार्य रूप से मैं सिर्फ यकीन है कि यह उचित विधि मैं का उपयोग करना चाहिए है बनाना चाहते:
private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
{
string InstallPath = System.IO.Path.GetDirectoryName(serviceInstaller1.Context.Parameters["AssemblyPath"]);;
}
बैकस्लैश "\" के बाद आपको अतिरिक्त स्थान भी जोड़ना होगा। अन्यथा इंस्टॉल या अनइंस्टॉल करते समय आपको FileNotFoundException अपवाद मिल सकता है। [यहां] देखें (http://stackoverflow.com/questions/4516256/how-do-i-fix-setup-project-with- कस्टम-action-file-not-found-exception/4522825#4522825) या [यहां ] (http://stackoverflow.com/questions/8491095/error-1001-using-custom-installer-with-visual-studio-2008)। –
आप इस पाठ का उपयोग कहां कर रहे हैं? क्षमा करें, मेरी व्याख्या मेरे लिए बिल्कुल स्पष्ट नहीं है। परियोजना के लिए कमांड लाइन तर्क के रूप में? कोड में कहीं? एमएसडीएन के लिए यह लिंक अब टूटा हुआ है। धन्यवाद माइक्रोसॉफ्ट! :-) –
ओह, अब मैं देखता हूं। मुझे एक और पोस्ट में जवाब मिला: "अपनी परिनियोजन प्रोजेक्ट में, इंस्टॉल और कमिट के लिए कस्टम एक्शन जोड़ें। कस्टम एक्शन स्थापित करने के लिए कस्टमएक्शनडेटा प्रॉपर्टी के लिए,/targetdir =" [TARGETDIR] \ "दर्ज करें" –