cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kchernock
Level 3

.rra Access is denied error on Vista (0x5) - InstallScript

Product: InstallShield 2009 Premier
Project type: InstallScript

I am working on a project that will be run by Vista users that do not have Admin privileges. On XP or Vista (when run by an admin), the install works properly. When run by a Vista non-admin users are presented with a File Error message that stat29d4.rra "Access is denied." (0x5). Why is Vista not requesting that the user elevate privileges by requesting an admin's authentication info?

Under the "Releases" view, "Setup.exe" tab, "Required Execution Level" is set to "Administrator".

Is there a way in InstallScript to force user's to elevate privileges? The "Required Execution Level) doesn't seem to do anything.
Labels (1)
0 Kudos
(3) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

I'm not seeing the behavior you are describing. If the required execution level is set to require Administrator for an InstallScript project, the resulting setup.exe triggers a UAC prompt when launched.

Is this issue occurring on multiple machines or only some? Has UAC been disabled on the machine(s) this behavior is occurring on (the required execution level will have no effect in this case)?
0 Kudos
kchernock
Level 3

joshstechnij, thanks for the reply, it helped me realize that the described behavior was occurring because the Vista machines with non-Admin users had UAC turned off. The following function was implemented to let me know the following:
[LIST=1]
  • NonAdmin user
  • Vista or newer OS
  • Machine has UAC turned off


    If all 3 criteria are true, the function returns "FALSE", otherwise, it returns "TRUE". I call this function in the "OnBegin" function, and if "FALSE" is returned, the installation aborts.


    function BOOL Vista_UAC_Check()
    STRING szKey, svValue, strOS;

    NUMBER nvType, nvSize, numOS;

    begin
    GetSystemInfo (OSMAJOR, numOS, strOS);

    //Is it a Vista or newer OS

    if (numOS >= 6) then

    //Check for non-Admin users

    if (Is(USER_ADMINISTRATOR, "") = FALSE) then

    RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );

    szKey = "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";

    if (RegDBGetKeyValueEx(szKey, "EnableLUA", nvType, svValue, nvSize) = 0) then

    //Check if UAC is turned off

    if (svValue = "0") then

    return FALSE;

    endif;

    endif;

    endif;

    endif;

    return TRUE;

    end;
  • 0 Kudos
    rashmi_malik
    Level 3

    Issue happens due to dots in the file name/or path in the Setup Design.
    0 Kudos