मैं नया संस्करण स्थापित करने से पहले बड़े अपग्रेड और मौजूदा उत्पाद को अनइंस्टॉल कर रहा हूं। लेकिन मैं मौजूदा कॉन्फ़िगरेशन फ़ाइल को बनाए रखना चाहता हूं।अनइंस्टॉल करने से पहले विस्थापित करें और अनइंस्टॉल करने के बाद पुनर्स्थापित करें
जैसा कि पहले के संस्करण में स्थायी = "हाँ" नहीं था, यह कॉन्फ़िगरेशन फ़ाइल को अनइंस्टॉलेशन पर हटा देता है।
और मैं ऐसा कुछ कैसे कर सकता हूं जैसे 'app.config' की एक प्रति अनइंस्टॉल करने से पहले 'app.config.bak' के रूप में। अनइंस्टॉल करने के बाद इसे 'app.config.bak' से 'app.config' पर वापस लाएं।
<DirectoryRef Id="INSTALLDIR">
<Component Id="BackupConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="BackupConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config.bak" />
</Component>
</DirectoryRef>
<DirectoryRef Id="INSTALLDIR">
<Component Id="RestoreConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="RestoreConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config.bak" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config" />
</Component>
</DirectoryRef>
<InstallExecuteSequence>
<Custom Action="BackupConfigFile" After="InstallInitialize" />
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="RestoreConfigFile" After="InstallInitialize" />
</InstallExecuteSequence>
धन्यवाद
यह कहता है कि त्रुटि कस्टम/@ विशेषता के मूल्य के बाद, 'RemoveExistingProducts', कानूनी पहचानकर्ता नहीं है। पहचानकर्ताओं में ASCII वर्ण ए-जेड, ए-जेड, अंक, अंडरस्कोर (_), या अवधि (।) हो सकते हैं। प्रत्येक पहचानकर्ता को या तो एक अक्षर या अंडरस्कोर से शुरू होना चाहिए। –
ठीक है यह अंतरिक्ष के कारण था, लेकिन अब यह कहता है, अनुभाग 'उत्पाद: *' में 'कस्टमएक्शन: बैकअप कोंफिफ़फ़ाइल' प्रतीक के अनसुलझा संदर्भ। –
क्या आपने बैकअप कॉनफिगफ़ाइल नाम के साथ कस्टम एक्शन बनाया था? यह मानक कस्टम एक्शन नहीं है जो विंडोज इंस्टालर आपके लिए प्रदान करेगा। – Adkins