Sign in to follow this  
Followers 0
mrwb

RunWait, Windows 8.1, and RequireAdmin - help please

8 posts in this topic

I have a very short script that I use as a wrapper for another program. It just does a check to be sure the vendor utility is not already running, allows this utility to run, and then re-launches my other program which is the program that called the wrapper.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    If Not ProcessExists("VendorUtil.exe") Then
        RunWait("\\server1\vendor-share\VendorUtil.exe","\\server1\vendor-share")
    Else
        ProcessWaitClose("VendorUtil.exe")
    EndIf
    Run("C:\util\second-compiled-script.exe","c:\util")
    exit

I do it this way because my "second-compiled-script" may also be copied over by the vendor util if I have updates to it. This has worked well for my users for a few years now.

Now I am trying to run this on a new Windows 8.1 64-bit PC. It does not run the vendor util but it does launch the second-compiled-script. I searched on the forums here yesterday and the only thing I found is to add #RequireAdmin. If I add #RequireAdmin then it will run the VendorUtil but my users don't have admin rights so they cannot run it. So the obvious difference is that one is running from a netowrk share and the other is running from the local drive.

Does anyone have any thoughts on another way to solve this? Is there a way to make the VendorUtil program or the share it runs from a trusted location?

Share this post


Link to post
Share on other sites



Move VendorUtil.exe to a location that does not require admin rights.

 

VendorUtil references relative paths from where it was run so it must stay where it is. As it is vendor, I cannot change that. It is a program / file updater.

Share this post


Link to post
Share on other sites

Just to clarify, VendorUtil does not require admin. The users can run it just fine directly, even under Win8. It is only when trying to do a runwait to a network location that my script wants admin. And this behavior is new with Windows 8.1. Windows 7 work without the admin.

Share this post


Link to post
Share on other sites

OK, having to retract a statement here. I thought I had tested VendorUtil as a regular user. I just went back and did it again and VendorUtil is asking for Admin credentials. I am now puzzled in a different way. This definitely works for non-admin users under Win7. Do you know why Win8 would think this needs admin credentials when Win7 does not? The VendorUtil binary has not changed.

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

I think I found it. The UAC needs to be lowered. This is part of the vendor's instructions for running their software and somehow it got missed on this one. However when I look at UAC as my admin user, it shows UAC at never notify. When I am in as my regular user, UAC shows at the default level. Off to research this now.

 

Found this article: http://windowsitpro.com/windows-server-2012-r2/changing-uac-behavior-windows-server-2012-r2-and-windows-81

It seems you cannot use the control panel to change this as in previous Windows versions. You need to do it from secpol.msc.

Edited by mrwb

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0