【问题标题】:Inno Script: Skip password if the application is already installedInno Script:如果应用程序已安装,则跳过密码
【发布时间】:2018-10-02 15:36:25
【问题描述】:

我正在尝试创建一个 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;

【问题讨论】:

    标签: inno-setup


    【解决方案1】:

    如果已安装应用程序,则跳过密码页面。

    使用ShouldSkipPage event function:

    function ShouldSkipPage(PageID: Integer): Boolean;
    begin
      Result := False;
      if (PageID = wpPassword) and checkForPreviousInstall then Result := True;
    end;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      相关资源
      最近更新 更多