大佬教程收集整理的这篇文章主要介绍了inno-setup – 如何检测旧的安装并提供删除?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经写了一些行来检查.现在是否正确?如果这是正确的,那么如何让用户选择是否要继续安装或卸载旧版本?
#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
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,sUnInstallString) then RegQuerystringvalue(HKCU,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;
以上是大佬教程为你收集整理的inno-setup – 如何检测旧的安装并提供删除?全部内容,希望文章能够帮你解决inno-setup – 如何检测旧的安装并提供删除?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。