Jump to content

Recommended Posts

Posted

Not complicated at all.

@FireGeier

Do you have to install all the updates everytime you want to update or just the remaining ones?

For example, if last month I installed 6 and this month MS came out with 6 more updates, do I install just the 6 additional ones or all 12.

Basically, do I created an XML file with all 12 or just the 6 new ones?


Posted (edited)

Maybe its not totaly the right place for this, but...it slipstreams hotfixes and drivers

Its made by a friend with autoit,inspired by FireGeier's updatedvd.bat

$j_map0 = @ScriptDir
$j_map1 = "C:\Program Files\Windows AIK\Tools\x86"
$j_map2 = "C:\Program Files\Windows AIK\Tools\PETools"
$j_map3 = "C:\Program Files\Windows AIK\Tools\x86\Servicing"
$j_map4 = "C:\Windows\System32"
$j_map5 = $j_map0 & "\Bin"

$j_tool1 = "Imagex.exe"
$j_tool2 = "Peimg.exe"
$j_tool3 = "Pkgmgr.exe"
$j_tool4 = "Expand.exe"
$j_tool5 = "Cdimage.exe"
$j_tool6 = "Boot.bin"


$j_map_source = ""
$j_map_mount = ""
$j_map_hotfix = ""
$j_map_drivers = ""

If Not FileExists($j_map1 & "\" & $j_tool1) Then
MsgBox(0, "Error", $j_tool1 & " not found.")
Exit
EndIf
If Not FileExists($j_map2 & "\" & $j_tool2) Then
MsgBox(0, "Error", $j_tool2 & " not found.")
Exit
EndIf
If Not FileExists($j_map3 & "\" & $j_tool3) Then
MsgBox(0, "Error", $j_tool3 & " not found.")
Exit
EndIf
If Not FileExists($j_map4 & "\" & $j_tool4) Then
MsgBox(0, "Error", $j_tool4 & " not found.")
Exit
EndIf
If Not FileExists($j_map5 & "\" & $j_tool5) Then
MsgBox(0, "Error", $j_tool5 & " not found.")
Exit
EndIf
If Not FileExists($j_map5 & "\" & $j_tool6) Then
MsgBox(0, "Error", $j_tool6 & " not found.")
Exit
EndIf

If FileExists($j_map0 & "\AUTO-INTEGRATE.ini") Then
$j_map_source = IniRead($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "SOURCE", "")
$j_map_mount = IniRead($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "MOUNT", "")
$j_map_hotfix = IniRead($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "HOTFIX", "")
$j_map_drivers = IniRead($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "DRIVERS", "")
EndIf

#include <GUIConstants.au3>

GUICreate("AUTO-INTEGRATE", 400, 600, -1, -1, -1, -1)
GUISetState (@SW_SHOW)

GUICtrlCreateLabel ("Location of Vista on HardDrive", 10, 30, 350, 20)
$j_input_source = GUICtrlCreateInput ($j_map_source, 10, 50, 350, 20)
$j_input_source_button = GUICtrlCreateButton ("Select / Change", 10, 75, 100)
GUICtrlCreateLabel ("Use Image Nr.", 130, 75, 70, 20)
$j_combo_imagenr = GUICtrlCreateCombo("1", 210,75, 40, 20)
GUICtrlSetData(-1,"2|3|4|5|6|7")

GUICtrlCreateLabel ("Location of folder MOUNT", 10, 120, 350, 20)
$j_input_mount = GUICtrlCreateInput ($j_map_mount, 10, 140, 350, 20)
$j_input_mount_button = GUICtrlCreateButton ("Select / Change", 10, 165, 100)

GUICtrlCreateLabel ("Location of folder with Hotfix (*.msu / *.cab)", 10, 210, 350, 20)
$j_input_hotfix = GUICtrlCreateInput ($j_map_hotfix, 10, 230, 350, 20)
$j_input_hotfix_button = GUICtrlCreateButton ("Select / Change", 10, 255, 100)

GUICtrlCreateLabel ("Location of folder with Drivers", 10, 300, 350, 20)
$j_input_drivers = GUICtrlCreateInput ($j_map_drivers, 10, 320, 350, 20)
$j_input_drivers_button = GUICtrlCreateButton ("Select / Change", 10, 345, 100)

$j_check_mountrw = GUICtrlCreateCheckbox ("Mount-RW", 10, 400, 350, 20)
$j_check_hotfix = GUICtrlCreateCheckbox ("Integrate Hotfix", 10, 425, 350, 20)
$j_check_drivers = GUICtrlCreateCheckbox ("Integrate Drivers", 10, 450, 350, 20)
$j_check_unmountcommit = GUICtrlCreateCheckbox ("Unmount-Commit", 10, 475, 350, 20)
$j_check_unmountdispose = GUICtrlCreateCheckbox ("Unmount-Dispose", 10, 500, 350, 20)
$j_check_iso = GUICtrlCreateCheckbox ("Make ISO", 10, 525, 350, 20)

$j_start_button = GUICtrlCreateButton ("Start", 10, 555, 100)

; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()

If $msg = $GUI_EVENT_CLOSE Then ExitLoop

;-- Button SELECT/CHANGE paths
;-----------------------------
If $msg = $j_input_source_button Then
$var = FileSelectFolder("Location of Vista on HardDrive", "")
GUICtrlSetData($j_input_source, $var)
EndIf
If $msg = $j_input_mount_button Then
$var = FileSelectFolder("Location of folder MOUNT", "")
GUICtrlSetData($j_input_mount, $var)
EndIf
If $msg = $j_input_hotfix_button Then
$var = FileSelectFolder("Location of folder with Hotfix (*.msu)", "")
GUICtrlSetData($j_input_hotfix, $var)
EndIf
If $msg = $j_input_drivers_button Then
$var = FileSelectFolder("Location of folder with Drivers", "")
GUICtrlSetData($j_input_drivers, $var)
EndIf

;-- Button START
;---------------
If $msg = $j_start_button Then
$var = GUICtrlRead($j_input_source)
If $var = "" Then
MsgBox(0, "Error", "SELECT - Location of Vista on HardDrive")
ContinueLoop
EndIf
$j_map_source = $var
$var = GUICtrlRead($j_input_mount)
If $var = "" Then
MsgBox(0, "Error", "SELECT - Location of folder MOUNT")
ContinueLoop
EndIf
$j_map_mount = $var
$var = GUICtrlRead($j_check_hotfix)
If $var = 1 Then
$var = GUICtrlRead($j_input_hotfix)
If $var = "" Then
MsgBox(0, "Error", "SELECT - Location of folder with Hotfix (*.msu / *.cab)")
ContinueLoop
EndIf
$j_map_hotfix = $var
EndIf
$var = GUICtrlRead($j_check_drivers)
If $var = 1 Then
$var = GUICtrlRead($j_input_drivers)
If $var = "" Then
MsgBox(0, "Error", "SELECT - Location of folder with Drivers")
ContinueLoop
EndIf
$j_map_drivers = $var
EndIf

IniWrite($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "SOURCE", $j_map_source)
IniWrite($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "MOUNT", $j_map_mount)
IniWrite($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "HOTFIX", $j_map_hotfix)
IniWrite($j_map0 & "\AUTO-INTEGRATE.ini", "CONFIG", "DRIVERS", $j_map_drivers)

If Not FileExists($j_map_source & "\SOURCES\INSTALL.WIM") Then
MsgBox(0, "Error", "Cannot find : " & $j_map_source & "\SOURCES\INSTALL.WIM")
ContinueLoop
EndIf

$j_imagenr = GUICtrlRead($j_combo_imagenr)

;-- Do MOUNT-RW
;--------------
$var = GUICtrlRead($j_check_mountrw)
If $var = 1 Then
$var = DirGetSize($j_map_mount)
If $var > 0 Then
MsgBox(0, "Error", "Already Mounted")
Else
RunWait($j_map1 & "\" & $j_tool1 & " /MOUNTRW " & $j_map_source & "\SOURCES\INSTALL.WIM " & $j_imagenr & " " & $j_map_mount, $j_map1)
EndIf
EndIf

;-- Do HOTFIX
;------------
$var = GUICtrlRead($j_check_hotfix)
If $var = 1 Then
DirRemove($j_map_hotfix & "\Temp1", 1)
DirRemove($j_map_hotfix & "\Temp2", 1)
DirCreate($j_map_hotfix & "\Temp1")
DirCreate($j_map_hotfix & "\Temp2")

RunWait($j_map4 & "\" & $j_tool4 & " " & $j_map_hotfix & "\*.msu " & $j_map_hotfix & "\Temp1", $j_map4)
FileMove($j_map_hotfix & "\Temp1\*KB*.cab", $j_map_hotfix & "\Temp2")
FileCopy($j_map_hotfix & "\*.cab", $j_map_hotfix & "\Temp2", 1)
DirRemove($j_map_hotfix & "\Temp1", 1)

$search = FileFindFirstFile($j_map_hotfix & "\Temp2\*.cab")
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
RunWait($j_map2 & "\" & $j_tool2 & " " & $j_map_mount & " /import=" & $j_map_hotfix & "\Temp2\" & $file, $j_map2)
WEnd
FileClose($search)
RunWait($j_map2 & "\" & $j_tool2 & " /install=* " & $j_map_mount, $j_map2)
DirRemove($j_map_hotfix & "\Temp2", 1)
EndIf

;-- Do DRIVERS
;-------------
$var = GUICtrlRead($j_check_drivers)
If $var = 1 Then
If FileExists($j_map_source & "\Drivers.xml") Then
Runwait($j_map3 & "\" & $j_tool3 & " /o:" & $j_map_mount & ";" & $j_map_mount & "\Windows /n:" & $j_map_source & "\Drivers.xml /l:" & $j_map0 & "\Driverlog.txt", $j_map3)
Else
MsgBox(0, "Error", $j_map_source & "\Drivers.xml -- Not Found - Skipping Drivers")
EndIf
EndIf

;-- Do UNMOUNT-COMMIT
;--------------------
$var = GUICtrlRead($j_check_unmountcommit)
If $var = 1 Then
$var = DirGetSize($j_map_mount)
If $var = 0 Then
MsgBox(0, "Error", "Not Mounted")
Else
RunWait($j_map1 & "\" & $j_tool1 & " /UNMOUNT /COMMIT " & $j_map_mount, $j_map1)
EndIf
EndIf

;-- Do UNMOUNT-DISPOSE
;--------------------
$var = GUICtrlRead($j_check_unmountdispose)
If $var = 1 Then
$var = DirGetSize($j_map_mount)
If $var = 0 Then
MsgBox(0, "Error", "Not Mounted")
Else
RunWait($j_map1 & "\" & $j_tool1 & " /UNMOUNT " & $j_map_mount, $j_map1)
EndIf
EndIf

;-- Do MAKE IMAGE ISO
;--------------------
$var = GUICtrlRead($j_check_iso)
If $var = 1 Then
If FileExists($j_map0 & "\VISTA-DVD.ISO") Then
FileDelete($j_map0 & "\VISTA-DVD.ISO")
EndIf
RunWait($j_map5 & "\" & $j_tool5 & " -t11/02/2006,12:00:00 -lLRMCFRE_EN_DVD -b" & $j_map5 & "\" & $j_tool6 & " -u2 -h -k -m -o " & $j_map_source & " " & $j_map0 & "\VISTA-DVD.ISO", $j_map0)
EndIf

EndIf

Wend

http://rapidshare.com/files/27797464/VISTA32-TOOLS.rar.html

Edited by sp00f
Posted

@spoof:

Haven't tested it yet, but

good to see people start acting on the idea of vista batch files and doing there own developments and improvements! :thumbup

BTW, is there a special reason why you use cdimage instead of ocsdimg?

Good work!

Regards,

Martin

  • 2 weeks later...
Posted
@FireGeier

Do you have to install all the updates everytime you want to update or just the remaining ones?

For example, if last month I installed 6 and this month MS came out with 6 more updates, do I install just the 6 additional ones or all 12.

Basically, do I created an XML file with all 12 or just the 6 new ones?

@FireGeier - do you know the answer to above?

Please let me and everyone know. Thanks.

  • 3 weeks later...
Posted
Maybe its not totaly the right place for this, but...it slipstreams hotfixes and drivers

Its made by a friend with autoit,inspired by FireGeier's updatedvd.bat

$j_map0 = @ScriptDir

$j_map1 = "C:\Program Files\Windows AIK\Tools\x86"

$j_map2 = "C:\Program Files\Windows AIK\Tools\PETools"

$j_map3 = "C:\Program Files\Windows AIK\Tools\x86\Servicing"

$j_map4 = "C:\Windows\System32"

$j_map5 = $j_map0 & "\Bin"

......

http://rapidshare.com/files/27797464/VISTA32-TOOLS.rar.html

i've tried this tool and it works but only with .cab files. Files with .wsu ext makes it fail, i believe when it extracts the cabs, the file wsus.cab isn't compatible. Once I remove this file it install all my hotfixes (89fixes) fine. Overall kudos on an excellent tool.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...