I was just asked to put Battle.net on a lab of computers. It isn’t pretty, but the following script should work. If you’re using something like SCCM - just set it to run the installer visible and it will work in there too. You’ll need to launch the AutoIt script as admin for this to work - start it from an elevated command prompt. There is some command to make it prompt for admin, but I can’t remember it off hand. You could probably also use keyboard send functions instead of the mouse clicking. This was built on a 1920x1080 screen.
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
Opt("MouseCoordMode", 1)
Opt("WinTitleMatchMode", 2)
Local $aPos
Local $InitPos
Run("Battle.net-Setup.exe")
Sleep(2000)
WinWait("Battle.net Setup", "")
; Get comparative value
$aPos = WinGetPos("Battle.net")
; Get initial value
$InitPos = WinGetPos("Battle.net")
While $aPos[2] = $InitPos[2] and $aPos[3] = $InitPos[3]
;MsgBox(0,"In loop","")
If $aPos[2] = 408 Then
Sleep(100)
EndIf
If $aPos[3] = 108 Then
Sleep(100)
EndIf
$aPos = WinGetPos("Battle.net")
WEnd
; Box is bigger - continue installation
Sleep(2000)
$aPos = WinGetPos("Battle.net")
WinWait("Battle.net", "")
$aPos = WinGetPos("Battle.net")
$ClickCoordX = $aPos[0]+273
$ClickCoordY = $aPos[1]+248
MouseClick($MOUSE_CLICK_LEFT, $ClickCoordX, $ClickCoordY, 1)
$ClickCoordX = $aPos[0]+606
$ClickCoordY = $aPos[1]+414
MouseClick($MOUSE_CLICK_LEFT, $ClickCoordX, $ClickCoordY, 1)
WinWaitActive("Battle.net Login")
WinClose("Battle.net Login")