2011-10-21 11 views
8

मेरे पास एक एमएसआई इंस्टॉलर प्रोजेक्ट है जो विंडोज़ सेवा स्थापित करता है।.NET MSI इंस्टॉल प्रोजेक्ट - पिछले संस्करण को ओवरराइट करें

मेरे संस्करण नंबरिंग विधि सबसे अच्छा इस पोस्ट द्वारा वर्णित है: What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?

मैं के रूप में है कि नहीं बदल रहा है मेरी स्थापित परियोजना के संस्करण में बदलाव नहीं कर रहा हूँ, और जब कि कर मैं भी कई मुद्दों था।

मैं पहले से ही निम्नलिखित विधानसभा संस्करणों के साथ मेरी सेवा स्थापित किया है

[assembly: AssemblyVersion("4.3")] 
[assembly: AssemblyFileVersion("4.3.0.0")] 

मैं सिर्फ इस संस्करण में एक MSI इंस्टॉलर बनाया:

[assembly: AssemblyVersion("4.3")] 
[assembly: AssemblyFileVersion("4.3.1.0")] 

जब मैं MSI चलाने यह मुझसे कहता है कि मैं जरूरत पिछले संस्करण को अनइंस्टॉल करने के लिए।

मैं इसके आसपास कैसे हो सकता हूं? क्या मैं अंत में करना चाहते हैं है:

  1. स्थापित एक MSI
  2. स्थापित करें (पुन: करने के लिए उन्नयन) एक और संस्करण है कि पिछले संस्करण (शीघ्र या कोई शीघ्र) अधिलेखित कर देता है एक। अद्यतन स्थापित करने से पहले मैं अनइंस्टॉल करना नहीं चाहता हूं।

मेरे संस्थापक परियोजना गुण हैं:

RemovePreviousVersions - यह सच है

InstallAllUsers - यह सच है

DetectNewerInstalledVersion - झूठी

संस्करण - 4.3.0

मैंने जो कोशिश की है:

  • प्रोजेक्ट के असेंबली संस्करण को अपडेट करें। हालांकि, यह प्रोग्राम निकालें प्रोग्राम में एक ही उत्पाद के कई संस्करण बनाता है। नहीं चाहता कि मैं विंडोज़ सेवाओं के लिए चाहता हूं
  • इंस्टॉलर प्रोजेक्ट पर संस्करण # बदलें। लेकिन एमएसआई के किसी भी संस्करण को स्थापित करने का प्रयास करते समय यह बहुत सारी त्रुटियों को बनाता है। मुझे चेतावनी भी मिली कि मैं नेटवर्क ड्राइव पर स्थापित कर रहा था! (वाह)।

कोई मदद रॉकिन होगी!

धन्यवाद।

+0

मैं हमेशा एक इंस्टॉलर प्रोजेक्ट संस्करण में बदलाव के लिए जा रहा हूं, अपग्रेड कोड को बनाए रखने और मैन्युअल रूप से अनइंस्टॉल करने के साथ। यह अब तक का सबसे अच्छा है - आप जैसी आवश्यकताओं के समान सेट से शुरू करते हैं। –

उत्तर

5

सेटअप के सेटअप प्रोजेक्ट गुणों में आपको एक ही अपग्रेडकोड ​​को रखते हुए प्रत्येक संस्करण के लिए "संस्करण" संपत्ति को बढ़ाने की आवश्यकता है।

जब आप संस्करण को बढ़ाते हैं तो यह आपको संकेत देगा यदि आप उत्पादकोड बदलना चाहते हैं, तो "हां" उत्तर दें।

आपके पास पिछले संस्करण को हटाने और नए संस्करणों को सही पर सेट करने के गुण भी होना चाहिए।

+0

धन्यवाद आदमी - यह काम करने लग रहा था। –

+0

उत्पादकोड को बदलने के लिए कहा जाने पर एक ही अपग्रेड कोड को "हां" चयन के विपरीत दिखाई देगा। क्या यह एक विरोधाभास है? – sweetfa