Inno Script: пропустить пароль, если приложение уже установлено - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь создать установщик 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;

1 Ответ

0 голосов
/ 02 октября 2018

Пропустить страницу пароля, если приложение уже установлено.

Использовать ShouldSkipPage функция события :

function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := False;
  if (PageID = wpPassword) and checkForPreviousInstall then Result := True;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...