dreivilo47

[SOLVED] How to solve this problem?

10 posts in this topic

#1 ·  Posted (edited)

When I use the following code I receive an UAC message:
 

#RequireAdmin
RunWait("msiexec /i winzip205-64.msi /quiet")
Exit

How can I hide (bypass) the UAC message?

Edited by dreivilo47

Share this post


Link to post
Share on other sites

Turn UAC off in registry. A system with enabled UAC allway show a UAC message.

Share this post


Link to post
Share on other sites
6 minutes ago, AutoBert said:

Turn UAC off in registry. A system with enabled UAC allway show a UAC message.

Thanks for the suggestion AutoBert.
How can I turn off UAC in registry before RunWait and turn it on again after RunWait?

 

Share this post


Link to post
Share on other sites

RegRead and RegWrite are needed. But therefor you need also #RequireAdmin which shows a UAC Message.

Share this post


Link to post
Share on other sites

@dreivilo47,

this i not a "problem", and you do not "solve" it.

if you hate UAC on your own machine, then by all means suppress it as suggested (although that may cause other issues). but that is not the case, is it?

to perform an administrative task by a script, then before you begin, make sure your script runs with administrative rights in effect. how you do that depends on your system/network configuration. for examples, you can remotely create a scheduled task to run with the target local SYSTEM account; you can do it with PsExec; you can make use of a deployment tool installed in your network; you can write a background agent to do that; etc.

if you describe your environment, we can suggest the preferred method.

Share this post


Link to post
Share on other sites
On 27-8-2016 at 11:28 AM, AutoBert said:

Turn UAC off in registry. A system with enabled UAC allway show a UAC message.

@AutoBert, turning off UAC in registry (change value EnableLUA to 0) needs a reboot before it works.  I want to avoid that.

Share this post


Link to post
Share on other sites
On 27-8-2016 at 0:18 PM, orbs said:

@dreivilo47,

this i not a "problem", and you do not "solve" it.

if you hate UAC on your own machine, then by all means suppress it as suggested (although that may cause other issues). but that is not the case, is it?

to perform an administrative task by a script, then before you begin, make sure your script runs with administrative rights in effect. how you do that depends on your system/network configuration. for examples, you can remotely create a scheduled task to run with the target local SYSTEM account; you can do it with PsExec; you can make use of a deployment tool installed in your network; you can write a background agent to do that; etc.

if you describe your environment, we can suggest the preferred method.

@orbs, in a couple of weeks I need to install software on more than 100 new laptops.  And I want to automate that so it can be done faster.
These laptops are not connected to a network, so I want to use an USB flash drive with the software on it.
I don't hate UAC, but I want to suppress the uac prompt because it becomes irritant after doing a lot of computers.  It slows down.

Share this post


Link to post
Share on other sites

@orbs, how you do that (in a post) the username beginning with an @ is highlighted?  :)

Share this post


Link to post
Share on other sites
2 hours ago, dreivilo47 said:

@orbs, how you do that (in a post) the username beginning with an @ is highlighted?  :)

sometimes it works, sometimes it doesn't. this version of the forum software is somewhat crappy.

2 hours ago, dreivilo47 said:

in a couple of weeks I need to install software on more than 100 new laptops.  And I want to automate that so it can be done faster.
These laptops are not connected to a network, so I want to use an USB flash drive with the software on it.

since anyway you are going to plug it in, open the folder, double-click the setup file, and press a few [Next] buttons... i see no reason that one more click should discourage you. especially if working around that single click is probably the most troublesome piece of action to automate, in your case. if this is a one-off operation, and these laptops are fire-and-forget (i.e. you do not keep maintaining them centrally), then i advise you just accept the UAC as it is.

but, you can also get adventurous. you have a couple of weeks to prepare. answer this: are all of those laptops configured with an enabled, password-protected administrative account?

if so, here's what you can consider:

prepare a small network: 8-port switch, one Windows machine, a DHCP service, and an empty desk fitting for 7 laptops.

configure said Windows machine as follows: it constantly monitoring the LAN, whenever a new IP is discovered, it connects to it over PsExec with said admin account to perform the installation. when installation done, it checks if it was successful. if so, it sends a power-off command to the target.

what you do is this: unpack a laptop, connect it to the network, power it on. visit the laptop after few minutes. if it is shut down, repack it and ship to end user (or, randomly picking, disconnect from network, power on and validate the installation yourself). if it is not shut down, then something went wrong with the installation, check the cause or just install manually. you can do several laptops simultaneously like that.

good luck!

 

 

 

 

 

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

@orbs,
- Good to know about the username beginning with an "@".
- You're right, I am going to accept the UAC as it is.
- I don't know of all of them are configured with an enabled, password-protected administrative account.
- Thank you very much for the information about the small network!

Edited by dreivilo47

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

  • Similar Content

    • TheWizEd
      By TheWizEd
      How do I work with 2D arrays.  I've tried this but get errors.
      Local $aTest[4][4] = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
      ;$aTest[0][] = [10,11,12]  ; Error at []
      Local $sTest = ""
      For $i = 0 To UBound($aTest)-1
        Local $aExtract = _ArrayExtract($aTest,$i,$i)
        $sTest = $sTest & MyTest($aExtract)
      Next
      Func MyTest($aTemp)
        _ArrayDisplay($aTemp)
        ; Error at    v $aTemp
        Return String($aTemp[0]) & " - " & String($aTemp[1]) & " - " & String($aTemp[2]) & @CRLF
      EndFunc
       
       
    • AndyK70
      By AndyK70
      I'm trying to fill a ListView with all normal viewable windows to act with them.
      First I tried with WinList:
      Local $aWinList = WinList("[REGEXPTITLE:(?i)(.+)]") Local $aTmp, $iID ;~ _ArrayDisplay($aWinList) For $i = $aWinList[0][0] To 1 Step -1 ; going backwards not disturbing the index while cycling through and deleting some If StringStripWS( $aWinList[$i][0], 3) == "" Or _ Not BitAND(WinGetState($aWinList[$i][1]), $WIN_STATE_VISIBLE) Or _ BitAND(WinGetState($aWinList[$i][1]), $WIN_STATE_MINIMIZED ) Then _ArrayDelete($aWinList, $i) Else ; Window has a Title and is "visible" $aTmp = WinGetPos($aWinList[$i][1]) If $aTmp[0] < -1000 Or $aTmp[1] < -1000 Then ; Window is minimized or tray icon _ArrayDelete($aWinList, $i) EndIf EndIf Next $aWinList[0][0] = UBound($aWinList)-1 ; getting actual # of windows ; Each row is now [ID]=> [Title], [hWnd] But it keeps getting Windows which are definitely not there at least not visible:

      Those windows "Rechner", "Einstellungen", "Netflix", "Microsoft Store", ... are not there!?! 
      It should list only the first three windows, which are real.
      I even tried it with _WinAPI_ UDF:
      $hWnd = _WinAPI_GetForegroundWindow() ; Add items _GUICtrlListView_BeginUpdate($idListview) If $hWnd <> 0 Then $iI = 0 Do If _WinAPI_IsWindow($hWnd) And _WinAPI_IsWindowVisible Then _GUICtrlListView_AddItem($idListview, WinGetTitle($hWnd)) _GUICtrlListView_AddSubItem($idListview, $iI, $hWnd, 1) $iI += 1 $hWnd = _WinAPI_GetWindow($hWnd, $GW_HWNDNEXT) EndIf Until $hWnd = 0 EndIf But it is the same...
       
      How can i distinguish those invisible windows from normal ones?
      PS: I'm using Windows 10, maybe it is important to know?
    • davidacrozier
      By davidacrozier
      Hello all ~
      I am running an autoit script on Windows 10 inside VMware Workstation 12 Pro version 12.5.2.  Technically I am remoting into ESXi which has a Domain Controller (DC), WebServer, FilServer, Windows 10, etc.  Using the GUI (i.e. running explorer.exe) I am able to open several different folders successfully.  The desktop, documents, USB external all open without issue.  The network share opening gives me issues.  Whenever I attempt to open \\filserver\users\user\sharedfolder I get the documents folder instead.  I understand that the documents folder is the default for explorer.  I have also attempted to use the letter drive mapped to the network share (Z:) and receive the same result.  When I run this script on Windows 10 alone without  the VM or the ESXi I am able to open the network share without problems.  I have tried to use the net use command to designate a letter M: to the network share folder prior to running the script.  This did not work for me.  
      One additional avenue I think might work is to use the systreeview321 and _GUICtrlTreeView_FindItem to step through the tree looking for the network share.  Once found,  double click on it and see if that opens the shared network folder.  I can click inside the VM with my mouse on the network share and it opens just fine.  Not sure if running up against GUI issues, or permission issues, or what?
      Thanks in advance,
      Davida Crozier
      TestNetworkShare.au3
      This script is a subset of a much larger program, but it illustrates what I am dealing with.

    • MrMajorThorburn
      By MrMajorThorburn
      Using sample code:
      #include <MsgBoxConstants.au3> ; Find a pure red pixel in the range 0,0-20,300
      Local $aCoord = PixelSearch(0, 0, 20, 300, 0xFF0000)
      If Not @error Then
          MsgBox($MB_SYSTEMMODAL, "", "X and Y are: " & $aCoord[0] & "," & $aCoord[1])
      Else
          MsgBox($MB_SYSTEMMODAL, "", "Pure Not Found")
      EndIf ; Find a pure red pixel or a red pixel within 10 shades variations of pure red
      $aCoord = PixelSearch(0, 0, 20, 300, 0xFF0000, 10)
      If Not @error Then
          MsgBox($MB_SYSTEMMODAL, "", "X and Y are: " & $aCoord[0] & "," & $aCoord[1])
      Else
          MsgBox($MB_SYSTEMMODAL, "", "Variant Not Found")
      EndIf   and the attached screenshot which has Pure Red (FF0000) in one icon in the area being searched. Would someone please check this out for me?
    • BBs19
      By BBs19
      Features:
      Create modern looking borderless and resizable GUIs with control buttons (Close,Maximize/Restore,Minimize, Fullscreen, Menu) True borderless, resizeable GUI with full support for aerosnap etc. Many color schemes/themes included. See MetroThemes.au3 for more details. 3 type of Windows 8/10 style buttons. Modern checkboxes, radios, toggles and progressbar. All buttons, checkboxes etc. have hover effects! Windows 10 style modern MsgBox. Windows 10/Android style menu that slides in from left. Windows 10 style right click menu  
      Credits: @UEZ, for the function to create buttons with text using GDIPlus. @binhnx for his SSCtrlHover UDF
       
      Changelog:
      Download UDF with example: