Не удается получить Inno Setup после установки Запустить элемент в runasoriginaluser

Я тестирую установку Inno в Windows 10.
я имею PrivilegesRequired=lowest

в [Run] раздел с postinstall Я запускаю книгу Excel.
Эта рабочая книга вносит изменения в среду Excel для пользователя, запустившего Excel.
По умолчанию этот пользователь является стандартным пользователем, чего я и хочу.
Но если запустить с повышенными правами правой кнопкой мыши, этот пользователь является администратором.
Как я могу заставить Excel запустить для обычного пользователя?

Я попробовал флаги runasoriginaluser а также runascurrentuser, но ни один из них не заставит Excel работать для обычного пользователя.

1 ответ

Решение

Если вы явно запустите программу установки от имени администратора, у вас не будет доступа к сеансу пользователя. (Обратите внимание, что это не ограничение Inno Setup, а то, как работает Windows.)

Все, что вы можете сделать, это обнаружить привилегии Администратора и уведомить пользователя, чтобы он не запускал программу установки от имени Администратора.

[Code]

function InitializeSetup(): Boolean;
begin
  Result := True;

  if (GetWindowsVersion >= $05010000) and
     IsAdminLoggedOn then
  begin
    MsgBox('Do not run this installer "As Administrator".', mbError, MB_OK);
    Result := False;
  end;
end;

Подробности см. В разделе " Установка приложения для текущего пользователя, вошедшего в систему, из программы установки Inno Setup, работающей от имени администратора".

Другие вопросы по тегам