दिलचस्प पोस्ट
त्रुटि: (23, 17) हल करने में असफल: जनीट: जनीट: 4.12 अगर किसी सूची में पायथन के साथ एक अन्य सूची है तो परीक्षण करना पायथन अनुकरण keydown जिनजा के साथ जेन्डर को प्रस्तुत करना स्ट्रिंग की बजाय अमान्य संख्या उत्पन्न करता है मैं जावा स्कैनर में सीमांकक का उपयोग कैसे करूं? पायथन में किसी शब्द को एक्सएमएल स्ट्रिंग कैसे परिवर्तित करें? जेएसन का उपयोग करते हुए उद्देश्य सी में डेटा पोस्ट करें कैसे PHP पर 64 बिट पूर्णांक है? जावा में एक सरणी के लिए एक DOM नोड सूची को कैसे परिवर्तित करें? जावा 7 स्ट्रिंग – ऑर्पटिंग जटिलता कैसे mysql डेटाबेस के लिए सुपर विशेषाधिकार जोड़ने के लिए? अल्पविराम से अलग होने वाली सूची के रूप में MySQL परिणाम जब कोई सॉर्ट ऑर्डर निर्दिष्ट नहीं होता है तो मॉगोडाब सॉर्ट रिकॉर्ड कैसे करता है? किसी ने एक देशी iPhone ऐप के माध्यम से पेपैल एपीआई को लागू किया है? पायथन के टुकड़ा नोटेशन को समझना

कैसे पुराने स्थापना का पता लगाने और हटाने की पेशकश?

मैं कैसे पता लगा सकता हूं कि उपयोगकर्ता ने पहले ही सॉफ़्टवेयर इंस्टॉल किया है और यदि ऐसा है, तो पुराने संस्करण को हटाने की संभावना कैसे प्रदान करें?

मैंने यह जांचने के लिए कुछ पंक्तियां लिखी हैं क्या यह अभी सही है? अगर यह सही है, तो मैं उपयोगकर्ता को कैसे चुन सकता हूं कि वह स्थापना जारी रखना चाहता है या पुराने संस्करण की स्थापना रद्द करना है?

#define UNINSTKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\setupname_is1" var uninstallPath: string; function InitializeSetup: Boolean; begin if (RegQueryStringValue(HKLM,'{#UNINSTKEY}','UninstallString',uninstallPath)) and (uninstallPath <> '') and (fileexists(uninstallPath)) then begin Result := (MsgBox(CustomMessage('NotVerifiedVersionFound'), mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES); end; { ... } end; 

वेब के समाधान से एकत्रित समाधान "कैसे पुराने स्थापना का पता लगाने और हटाने की पेशकश?"

आप मूलतः यहां पोस्ट किए गए क्रेग मैक्यूवेन के समाधान का उपयोग कर सकते हैं: InnoSetup: स्वचालित रूप से पिछले इंस्टॉल किए गए संस्करण को कैसे अनइंस्टॉल करें?

 function GetUninstallString: string; var sUnInstPath: string; sUnInstallString: String; begin Result := ''; sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{{A227028A-40D7-4695-8BA9-41DF6A3895C7}_is1'); { Your App GUID/ID } sUnInstallString := ''; if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); Result := sUnInstallString; end; function IsUpgrade: Boolean; begin Result := (GetUninstallString() <> ''); end; function InitializeSetup: Boolean; var V: Integer; iResultCode: Integer; sUnInstallString: string; begin Result := True; { in case when no previous version is found } if RegValueExists(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion\Uninstall\{A227028A-40D7-4695-8BA9-41DF6A3895C7}_is1', 'UninstallString') then { Your App GUID/ID } begin V := MsgBox(ExpandConstant('Hey! An old version of app was detected. Do you want to uninstall it?'), mbInformation, MB_YESNO); { Custom Message if App installed } if V = IDYES then begin sUnInstallString := GetUninstallString(); sUnInstallString := RemoveQuotes(sUnInstallString); Exec(ExpandConstant(sUnInstallString), '', '', SW_SHOW, ewWaitUntilTerminated, iResultCode); Result := True; { if you want to proceed after uninstall } { Exit; //if you want to quit after uninstall } end else Result := False; { when older version present and not uninstalled } end; end;