none
How are people deploying HOTFIXES .msu files? RRS feed

  • Question

  • Im trying to use wusa.exe using /quiet /norestart switchs. The package still tries to reboot this is what i get in the execmgr:

    Successfully prepared command line "C:\Windows\system32\wusa.exe" Windows6.1-KB2444328-v2-x64.msu /quiet /norestart 08/02/2012 12:44:06 8860 (0x229C)

    Execution is complete for program Windows6.1-KB2444328-v2-x64.msu. The exit code is 3010, the execution status is SuccessRebootRequired 08/02/2012 12:44:25 9464 (0x24F8)
    Execution Request for package SD100027 program Windows6.1-KB2444328-v2-x64.msu state change from Running to ReportStatusAtReboot 08/02/2012 12:44:25 9464 (0x24F8)
    The program Windows6.1-KB2444328-v2-x64.msu for package SD100027 and advertisement SD120020 completed succesfully and it requires a reboot, however reboot is supressed. Removing request. 08/02/2012 12:44:25 9464 (0x24F8)
    Program exited expecting reboot, delaying execution of other programs for 60000 ms 08/02/2012 12:44:25 9464 (0x24F8)
    Execution Manager timer has been fired. 08/02/2012 12:45:25 9464 (0x24F8)

    Then just sits there awaiting a reboot.... And wont carry onto the next patch....

    Id like to use SCUP to deploy these patches but my servers are still pointing to WSUS server for updates :(

    Thursday, February 9, 2012 10:09 AM

Answers

  • After raising a case with microsoft i have the answer.

    Apparently its a limitation of the product and has been requested to be integrated on several occasions. But theres a supported work around:

    1. Create a task sequence
    2. Instead of adding Install Software, Add Run Command Line
    3. Type the commnand e.g "wusa.exe Windows6.1-KB2617858-x64.msu /quiet /norestart"
    4. select the package you created (making sure package status is "Installed" on your DP) 
    5. In the options tab select Continue on error, and MAKE SURE "0 3010" is entered into the Success codes, as this will result in RebootRequired exit code 3010 being a success and the TS will continue
    6. Advertise the TS to your collection

    A supported way to successfully deploy .msu hotfixes

    Thursday, February 9, 2012 5:57 PM

All replies

  • Maybe you have a policy telling your servers where to get their updates? Try to run rsop.msc on one of your servers and see if this policy is set to point at a WSUS server:

    Computer Configuration -> Policies -> Adminstrative Templates -> Windows Components  -> Windows Update -> Specify Intranet Microsoft Update Service Location

    As for the computer waitin for a reboot, what you see is the expected behaviour. You can suppress a reboot, but that will not change the fact that a reboot is needed.

    Thursday, February 9, 2012 10:32 AM
  • You need the full path to the MSU file like \\server\share\1234.msu /quiet /norestart

    Kent Agerlund | My blogs: blog.coretech.dk/kea and SCUG.dk/ | Twitter: @Agerlund | Linkedin: Kent Agerlund

    Thursday, February 9, 2012 11:22 AM
    Moderator
  • The WSUS server is pritty much set in stone all over GPO even in Default GPO. This will take some work.

    When I run wusa.exe out site sccm in CMD it work correctly. The intelegents with inside the .msu called que chain works.

    I dont think this intelegents work within SCCM TaskSequence. So im struggling to find a solution to deploy these hotfixes...

    Thursday, February 9, 2012 11:23 AM
  • Hi,

    I normally use a vbscript and then drop the .MSU files in the same directory as the script and let it run the installations for me. Here is an example on how that could look like, it will install all MSU files in the same directory as the vbscript. The script will also capture the exit code if 3010 is thrown.

    Regards,
    Jörgen

    Dim objfso, objShell
    Dim folder, files, sFolder, folderidx, Iretval, return

    Set objfso = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("Wscript.Shell") 

    sFolder = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName))) 

    Set folder = objfso.GetFolder(sFolder) 
    Set files = folder.Files   

    For each folderIdx In files   
     If Ucase(Right(folderIdx.name,3)) = "MSU" then
      wscript.echo "c:\windows\system32\wusa.exe " & sfolder & folderidx.name & " /quiet /norestart"
      iretval=objShell.Run ("c:\windows\system32\wusa.exe " & sfolder & folderidx.name & " /quiet /norestart", 1, True)
       If (iRetVal = 0) or (iRetVal = 3010) then
        wscript.echo folderidx.name & " Success"
       Else
       wscript.echo folderidx.name & " Failed"        
       wscript.quit(1)
       End If
     End If
    Next


    -- My System Center blog ccmexec.com -- Twitter @ccmexec


    Thursday, February 9, 2012 12:45 PM
    Moderator
  • One additional note here, SCUP cannot directly import MSU files because WSUS does not handle them. You would have to wrap them in an exe or MSI to be ableto use them with SCUP so that may not be the way to go anyway.

    Jason | http://myitforum.com/myitforumwp/community/members/jasonsandys/ | Twitter @JasonSandys

    Thursday, February 9, 2012 2:35 PM
    Moderator
  • If its in a .bat file you can use:

    wusa.exe "%~dp0\Windows6.1-KB2444328-v2-x64.msu" /quiet /norestart

    which looks in the same location for the file as the commands been run from. Depoying this from SCCM just fails..

    Running this from Task sequence or program linking you can see in the execmgr.log it know were wusa.exe lives and where to find the .msu file:

    GetFileVersionInfoSize failed for file C:\Windows\SysWOW64\CCM\Cache\SD100027.1.System\wusa.exe, error 2 07/02/2012 17:46:20 4204 (0x106C)
    Executing program as a script 07/02/2012 17:46:20 4204 (0x106C)
    Found executable file wusa.exe with complete path C:\Windows\system32\wusa.exe 07/02/2012 17:46:20 4204 (0x106C)
    Successfully prepared command line "C:\Windows\system32\wusa.exe" Windows6.1-KB975777-x64.msu /quiet /norestart 07/02/2012 17:46:20 4204 (0x106C)

    BUT... It Behaves like its a single deployment suppressing the reboot. and gives exit code 3010 pending reboot and waits for next reboot, even know /quite /norestart switches are being used.




    • Edited by Edward Humphrey Thursday, February 9, 2012 2:41 PM
    • Proposed as answer by Patrick M Thursday, September 26, 2013 4:48 PM
    Thursday, February 9, 2012 2:40 PM
  • Unfortunatly i have 75+ servers to deploy these two... :(
    Thursday, February 9, 2012 2:42 PM
  • After raising a case with microsoft i have the answer.

    Apparently its a limitation of the product and has been requested to be integrated on several occasions. But theres a supported work around:

    1. Create a task sequence
    2. Instead of adding Install Software, Add Run Command Line
    3. Type the commnand e.g "wusa.exe Windows6.1-KB2617858-x64.msu /quiet /norestart"
    4. select the package you created (making sure package status is "Installed" on your DP) 
    5. In the options tab select Continue on error, and MAKE SURE "0 3010" is entered into the Success codes, as this will result in RebootRequired exit code 3010 being a success and the TS will continue
    6. Advertise the TS to your collection

    A supported way to successfully deploy .msu hotfixes

    Thursday, February 9, 2012 5:57 PM
  • Thanks eddiexuk,

    I'm using .bat file to include
    wusa.exe "%~dp0\KBUpdates.msu" /quiet /norestart

    It works!

    Thank you again.


    ---Pat

    Thursday, September 26, 2013 4:50 PM