Бих искал да задам ключ на системния регистър на HKLM
, когато потребителят е администратор, или HKCU
, когато потребителят е нормален потребител.
Опитах това:
[Registry]
Root: "{code:DefRegRoot}"; Subkey: "Software\MyCompany\MySW\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
[Code]
function IsRegularUser(): Boolean;
begin
Result := not (IsAdminLoggedOn or IsPowerUserLoggedOn);
end;
function DefRegRoot(Param: String): String;
begin
if IsRegularUser then
Result := HKCU
else
Result := HKLM;
end;
Но компилаторът връща грешка в първия ред на системния регистър:
Parameter "Root" is not a valid value.
Някакво предложение за това?
PrivilegesRequired
е фиксиран по време на компилиране, няма смисъл да се опитвате да накарате един инсталатор да извършва едновременно инсталации на машина и на потребител. Изберете сами един и бягайте с него. - person Miral   schedule 15.03.2013PrivilegesRequired
? По подразбиране настройката ви никога няма да се изпълнява като потребител без администратор и ако потребител без администратор се опита да я стартира, тогава настройките ви ще бъдат запазени за потребителя, до когото са издигнати. - person Deanna   schedule 15.03.2013