我正在尝试创建一个Inno Setup安装程序,如果从未在本地计算机上安装过该应用程序,则需要用户输入密码。
我有一个获取密码的脚本,并且我有一个Code
部分,用于检查是否存在卸载注册表项,但是对于Inno Setup脚本来说这是新手,所以我不确定如何链接两个部分在一起。
如果已经安装了该应用程序,有人可以解释如何放弃用户输入密码吗?
这是(测试)脚本...
#define myAppID "2B7D6E48-74A8-4070-8BA7-621115D6FD00"
[Setup]
AppId={{{#myAppID}}
Password=123456
[Code]
function checkForPreviousInstall(): Boolean;
begin
Result := False;
if RegKeyExists(HKEY_LOCAL_MACHINE,'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#myAppId}_is1') or
RegKeyExists(HKEY_CURRENT_USER, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#myAppId}_is1') then
begin
MsgBox('The application is installed already.', mbInformation, MB_OK);
Result := True;
end;
end;
答案 0 :(得分:1)
跳过密码页面(如果已安装该应用程序)。
使用ShouldSkipPage
event function:
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
if (PageID = wpPassword) and checkForPreviousInstall then Result := True;
end;