2012-05-14 22 views
6

मुझे व्यवस्थापकीय विशेषाधिकारों के साथ एक प्रक्रिया की आवश्यकता है। this से सवाल और उत्तर ऐसा लगता है कि एक अलग प्रक्रिया लॉन्च करने से कोई बेहतर तरीका नहीं है। चूंकि मैं इस प्रक्रिया के लिए केवल एक प्रक्रिया में अपने मूल आवेदन को लॉन्च करने की बजाय एक प्रक्रिया के बजाय समर्पित हूं - मैंने सोचा कि मैं बस वीएस -2010 में एक समाधान में दो परियोजनाएं तैयार करूंगा। हालांकि - इसे तैनात करने की कोशिश करते समय - ऐसा लगता है कि मैं केवल एक समय में उनमें से एक को प्रकाशित कर सकता हूं। ऐसा नहीं होगा, क्योंकि मैं नहीं चाहता कि क्लाइंट को एक से अधिक इंस्टॉल करना पड़े - और उसके बाद सापेक्ष पथ आदि को समझने की समस्या भी होगी।मैं एक क्लिकऑन परिनियोजन के साथ एकाधिक एप्लिकेशन/प्रक्रियाओं को कैसे प्रकाशित करूं?

मैं दोनों प्रक्रियाओं को नहीं चाहता स्टार्टअप अनुप्रयोगों। मैं चाहता हूं कि कोई स्टार्टअप एप्लिकेशन बन जाए, जो केवल एक विधि के लिए दूसरे (यदि आवश्यक हो) कॉल करता है।

तो मेरे पास एक क्लिकऑन इंस्टॉल के साथ दो प्रक्रियाएं कैसे हो सकती हैं?

उत्तर

10

आप पहले (मुख्य) परियोजना से संदर्भित करने के लिए दूसरा (कार्यकर्ता) परियोजना की जरूरत - और फिर, अगर आप पहली परियोजना गुण के लिए जाने -> प्रकाशित करें -> आवेदन फ़ाइलें, आप दूसरी EXE एक निर्भरता के रूप में देखना चाहिए पहले से ही । यदि नहीं - बस "शामिल करें" पर "प्रकाशित स्थिति" ड्रॉपडाउन सेट करें।

भी - मुझे यकीन नहीं है कि आपका लक्ष्य क्या है, लेकिन मेरी पोस्ट यहां देखें: Forced the application to have the administrator privileges - क्लिकऑन ऐप से व्यवस्थापक विशेषाधिकारों के साथ एक ऐप को कॉल करने के साथ बहुत ही समान समस्या। आपको कुछ मिनट बचा सकते हैं।

+0

धन्यवाद। ऐसा लगता है कि ऐसा किया है। – ispiro

+0

क्या यह दो डेस्कटॉप आइकन बनाता है? –

+0

@ZacharyCanann नहीं, केवल एक। – avs099

3

आप उपयोगकर्ता क्षुधा की एक से अधिक स्थापित नहीं करना चाहते हैं, तो आप नहीं कई ClickOnce तैनाती करना चाहते हैं। आप वास्तव में क्या चाहते हैं एक तैनाती है। तो क्लिकऑन ऐप को आपका मुख्य ऐप होना चाहिए, और आपको ClickOnce परिनियोजन में द्वितीयक ऐप से exe शामिल करने की आवश्यकता है। मैं यह कर जाएगा:

'सामग्री' के लिए ClickOnce परियोजना के लिए exe की एक प्रति, निर्माण कार्रवाई सेट जोड़ें और कॉपी करने के लिए उत्पादन-निर्देशिका के लिए 'नकल हमेशा'। फिर प्रकाशित करें और प्रकाशन गुणों में एप्लिकेशन फ़ाइलें संवाद जांचें और सुनिश्चित करें कि यह दिखाया गया है।

अब, अगर आप समाधान का निर्माण कर सकते हैं और यह दोनों परियोजनाओं बनाता है, यकीन है कि यह परियोजना है कि पहले exe बनाता है के निर्माण है बनाते हैं। फिर क्लिकऑन प्रोजेक्ट में पोस्ट-बिल्ड कमांड जोड़ें जो इसे पहले प्रोजेक्ट की आउटपुट निर्देशिका से दूसरे प्रोजेक्ट की आउटपुट निर्देशिका में कॉपी करेगा।

क्या होगा यह पहली परियोजना का निर्माण करेगा, फिर यह सी/ओ प्रोजेक्ट का निर्माण करेगा (और आउटपुट निर्देशिका में एक्सई के क्लिकऑन प्रोजेक्ट के संस्करण की प्रतिलिपि बनाएँ), और फिर यह नवीनतम संस्करण की प्रतिलिपि बनायेगा अन्य परियोजना से क्लिकऑन प्रोजेक्ट की आउटपुट निर्देशिका में exe, और फिर यह तैनाती पैदा करेगा।

मैं एक MSBuild विशेषज्ञ नहीं हूँ, लेकिन बाद के निर्माण आदेश कुछ इस तरह होगा।

कॉपी/Y "$ (ProjectDir) .... \ otherproject \ बिन \ रिहाई \ mynew.exe" "$ TARGETDIR) \ mynew.exe"

यह वर्तमान परियोजना से ऊपर प्रतियां, दो स्तरों , अन्य प्रोजेक्ट, फिर बिन फ़ोल्डर, फिर बिल्ड आउटपुट निर्देशिका में + mynew.exe को रिलीज़ करें। मैं निर्देशिका प्रोजेक्ट को अन्य प्रोजेक्ट के बिल्कुल सही नहीं होने वाला हूं - आपको इसे स्वयं सेट करना होगा। लेकिन यह आपको सामान्य विचार देता है।

+0

धन्यवाद। यह आशाजनक लग रहा है। – ispiro