03 November 2011

SCCM/MDT Move the Installation Progress Window

This script is to allow you to see the pop-ups that occur during software installations which are hidden by the Installation Progress Window. This script moves the window to the top of the screen. The Deployment Guys originally wrote this in autoit for SMS. I have updated and simplified it for SCCM/MDT. I have also created two different scripts from the master one to work on x86 and x64 platform deployments. Here is the code to the scripts, but I also have the following links to download the source autoit au3 file that will need to be compiled: MoveInstallationProgressWindow_x86 & MoveInstallationProgressWindow_x64.

NOTE: These scripts will only function beginning in the State Restore phase of the deployment. I have tried to execute these in earlier phases with it leading to the build erroring out. This is because it requires the OS be laid down in order to have the necessary DLL files available for these VBScripts. It is possible to get these to function in earlier states, but this requires injecting additional DLLs into the WinPE files, besides what is supplied via MDT/SCCM in generating these files.

MDT/SCCM Utilization: In MDT 2012, I imported these scripts as applications and then inserted them into the appropriate areas of the task sequence. One thing you will have to be aware of is that if an application is set to reboot the machine after installation, you will need to insert another task sequence to move the window to the top afterwards. Also, during the windows updates, it's impossible to keep the window at the top because there will probably be some updates to cause a reboot during the process. I ended up skipping the move until post-pre-updates.

Here are the downloads for the x86 and x64 versions.

MoveInstallationProgressWindow_x86:


 ;** AUTOIT3 settings  
 #AutoIt3Wrapper_UseX64=N             ;(Y/N) Use X64 versions for AutoIt3_x64 or AUT2EXE_x64. Default=N  
 ;** AUT2EXE settings  
 If $CmdLine[0] = 0 Then   
   ; Rerun ourself and let this copy return to the task sequencer   
   Run('"' & @AutoItExe & '" rerun')   
   Exit   
 EndIf  
 Sleep(2000)  
 $WindowName = "Installation Progress"  
 If WinExists($WindowName) Then   
   $size = WinGetPos($WindowName)  
   $size[1] = 0  
   WinMove($WindowName, "", $size[0], $size[1])   
 EndIf  


MoveInstallationProgressWindow_x64


 ;** AUTOIT3 settings  
 #AutoIt3Wrapper_UseX64=Y             ;(Y/N) Use X64 versions for AutoIt3_x64 or AUT2EXE_x64. Default=N  
 ;** AUT2EXE settings  
 If $CmdLine[0] = 0 Then   
   ; Rerun ourself and let this copy return to the task sequencer   
   Run('"' & @AutoItExe & '" rerun')   
   Exit   
 EndIf  
 Sleep(2000)  
 $WindowName = "Installation Progress"  
 If WinExists($WindowName) Then   
   $size = WinGetPos($WindowName)  
   $size[1] = 0  
   WinMove($WindowName, "", $size[0], $size[1])   
 EndIf  

0 comments:

Post a Comment