Jump to content
Ketarin forum

MS Update ISO template


shawn
 Share

Recommended Posts

Thanks to the 2gb download fix in Ketarin 1.6.1 beta 2, it's now possible to download these large ISO's via Ketarin. :)

 

The most current image - October 2011 - is 3.7gb, so expect the download to take some time.

 

<?xml version='1.0' encoding='utf-8'?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="048268d4-00ef-43c9-a13d-51ed3475b1b7">
<Category>Updates</Category>
<WebsiteUrl />
<UserAgent />
<UserNotes />
<LastFileSize>0</LastFileSize>
<LastFileDate xsi:nil="true" />
<IgnoreFileInformation>false</IgnoreFileInformation>
<DownloadBeta>Default</DownloadBeta>
<DownloadDate xsi:nil="true" />
<CheckForUpdatesOnly>false</CheckForUpdatesOnly>
<VariableChangeIndicator>version</VariableChangeIndicator>
<CanBeShared>true</CanBeShared>
<ShareApplication>true</ShareApplication>
<ExclusiveDownload>false</ExclusiveDownload>
<HttpReferer />
<SetupInstructions />
<Variables>
  <item>
	<key>
	  <string>schangelog</string>
	</key>
	<value>
	  <UrlVariable>
		<RegexRightToLeft>false</RegexRightToLeft>
		<VariableType>Textual</VariableType>
		<Regex />
		<TextualContent>http://support.microsoft.com/kb/913086</TextualContent>
		<Name>schangelog</Name>
	  </UrlVariable>
	</value>
  </item>
  <item>
	<key>
	  <string>swebsite</string>
	</key>
	<value>
	  <UrlVariable>
		<RegexRightToLeft>false</RegexRightToLeft>
		<VariableType>Textual</VariableType>
		<Regex />
		<TextualContent>http://support.microsoft.com/kb/913086</TextualContent>
		<Name>swebsite</Name>
	  </UrlVariable>
	</value>
  </item>
  <item>
	<key>
	  <string>snotes</string>
	</key>
	<value>
	  <UrlVariable>
		<RegexRightToLeft>false</RegexRightToLeft>
		<VariableType>Textual</VariableType>
		<Regex />
		<TextualContent />
		<Name>snotes</Name>
	  </UrlVariable>
	</value>
  </item>
  <item>
	<key>
	  <string>version</string>
	</key>
	<value>
	  <UrlVariable>
		<RegexRightToLeft>false</RegexRightToLeft>
		<VariableType>RegularExpression</VariableType>
		<Regex>Windows-KB913086-([\d]+)\.iso</Regex>
		<Url>http://go.microsoft.com/fwlink/?LinkID=79879</Url>
		<Name>version</Name>
	  </UrlVariable>
	</value>
  </item>
  <item>
	<key>
	  <string>sdownload</string>
	</key>
	<value>
	  <UrlVariable>
		<RegexRightToLeft>false</RegexRightToLeft>
		<VariableType>RegularExpression</VariableType>
		<Regex>['"](http[^'"]+Windows-KB913086-{version}\.iso)['"]</Regex>
		<Url>http://go.microsoft.com/fwlink/?LinkID=79879</Url>
		<Name>sdownload</Name>
	  </UrlVariable>
	</value>
  </item>
</Variables>
<ExecuteCommand />
<ExecutePreCommand />
<ExecuteCommandType>Batch</ExecuteCommandType>
<ExecutePreCommandType>Batch</ExecutePreCommandType>
<SourceType>FixedUrl</SourceType>
<PreviousLocation />
<DeletePreviousFile>true</DeletePreviousFile>
<Enabled>true</Enabled>
<FileHippoId />
<LastUpdated xsi:nil="true" />
<TargetPath>C:\ISO\Windows Updates\{appname:regexreplace:([\s\t\r\n\-\\&\/]+):_}-{version}.{url:ext}</TargetPath>
<FixedDownloadUrl>{sdownload}</FixedDownloadUrl>
<Name>Microsoft Update ISO</Name>
 </ApplicationJob>
</Jobs>

Link to comment
Share on other sites

  • 5 months later...

Nope. It just works (assuming you have the bandwidth available to you to choke down 3+gb every month).

 

This particular one I post-process externally after I download it:

1) Extract it to a folder of the same name ("Microsoft_Update_ISO-201203" for example)

2) Run this VBS file to delete all update language packs except english (ENU):

 kPattern = "(ARA|CHS|CHT|CSY|DAN|DEU|ELL|ESN|FIN|FRA|HEB|HUN|ITA|JPN|KOR|NEU|NLD|NOR|PLK|PTB|PTG|RUS|SVE|TRK)"
 On Error Resume Next
 Dim fso 'As scripting.FileSystemObject
 Dim rx 'As RegExp
 Dim fol 'As Folder
 Dim ff 'As File
 Dim lIter, sFile, sName
 Set rx = New RegExp
 rx.Global = True
 rx.IgnoreCase = True
 rx.MultiLine = True
 rx.Pattern = kPattern
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set fol = fso.GetFolder(".")
 EnumFolder fol

 Set rx = Nothing
 Set ff = Nothing
 Set fol = Nothing
 Set fso = Nothing

Function EnumFolder(fol)
 On Error Resume Next
 WScript.Echo "Processing " & fol.Path
' test each filename
 For Each ff In fol.Files
   If rx.Test("\-" & ff.Name & "\.") Then
  ff.Delete
   End If
 Next
' enumerate the sub folders
 For Each fol2 In fol.SubFolders
   If rx.Test("^" & fol2.Name & "$") Then
  fol2.Delete
   Else
  EnumFolder fol2
   End If
 Next
End Function

You could readily modify kPattern to keep a different language instead, or to keep several languages by excluding them from the list.

3) Move it into a subfolder based on the year (2012).

 

This process lets me push these out to my 32gb USB stick (along with my other apps and tools) and have only what's necessary for a specific system. For example, after filtering for English-only updates: 2008 is 1.4gb, 2009 is 1.9gb, 2010 is 2.5gb, 2011 is 3.2gb and 2012 (so far) is 670mb. And they're available to me even when the client has a God-awful slow connection or no internet access at all.

Link to comment
Share on other sites

  • 1 month later...
  • 8 months later...

@mcw2012

 

I've modified the initial script (shawn's one). This one works for me:

 

<?xml version='1.0' encoding='utf-8'?>
<Jobs>
<ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="048268d4-00ef-43c9-a13d-51ed3475b1b7">
<Category>Updates</Category>
<WebsiteUrl />
<UserAgent />
<UserNotes />
<LastFileSize>0</LastFileSize>
<LastFileDate xsi:nil="true" />
<IgnoreFileInformation>false</IgnoreFileInformation>
<DownloadBeta>Default</DownloadBeta>
<DownloadDate xsi:nil="true" />
<CheckForUpdatesOnly>false</CheckForUpdatesOnly>
<VariableChangeIndicator>version</VariableChangeIndicator>
<CanBeShared>true</CanBeShared>
<ShareApplication>true</ShareApplication>
<ExclusiveDownload>false</ExclusiveDownload>
<HttpReferer />
<SetupInstructions />
<Variables>
 <item>
 <key>
	 <string>schangelog</string>
 </key>
 <value>
	 <UrlVariable>
	 <RegexRightToLeft>false</RegexRightToLeft>
	 <VariableType>Textual</VariableType>
	 <Regex />
	 <TextualContent>http://support.microsoft.com/kb/913086</TextualContent>
	 <Name>schangelog</Name>
	 </UrlVariable>
 </value>
 </item>
 <item>
 <key>
	 <string>swebsite</string>
 </key>
 <value>
	 <UrlVariable>
	 <RegexRightToLeft>false</RegexRightToLeft>
	 <VariableType>Textual</VariableType>
	 <Regex />
	 <TextualContent>http://support.microsoft.com/kb/913086</TextualContent>
	 <Name>swebsite</Name>
	 </UrlVariable>
 </value>
 </item>
 <item>
 <key>
	 <string>snotes</string>
 </key>
 <value>
	 <UrlVariable>
	 <RegexRightToLeft>false</RegexRightToLeft>
	 <VariableType>Textual</VariableType>
	 <Regex />
	 <TextualContent />
	 <Name>snotes</Name>
	 </UrlVariable>
 </value>
 </item>
 <item>
 <key>
	 <string>version</string>
 </key>
 <value>
	 <UrlVariable>
	 <RegexRightToLeft>false</RegexRightToLeft>
	 <VariableType>RegularExpression</VariableType>
	 <Regex>Windows_KB913086_([\d-]+)\.iso</Regex>
	 <Url>http://www.microsoft.com/en-us/download/confirmation.aspx?id=36277</Url>
	 <Name>version</Name>
	 </UrlVariable>
 </value>
 </item>
 <item>
 <key>
	 <string>sdownload</string>
 </key>
 <value>
	 <UrlVariable>
	 <RegexRightToLeft>false</RegexRightToLeft>
	 <VariableType>RegularExpression</VariableType>
	 <Regex>fileUrl.*?(http[^"]*\.iso)</Regex>
	 <Url>http://www.microsoft.com/en-us/download/confirmation.aspx?id=36277</Url>
	 <Name>sdownload</Name>
	 </UrlVariable>
 </value>
 </item>
</Variables>
<ExecuteCommand />
<ExecutePreCommand />
<ExecuteCommandType>Batch</ExecuteCommandType>
<ExecutePreCommandType>Batch</ExecutePreCommandType>
<SourceType>FixedUrl</SourceType>
<PreviousLocation />
<DeletePreviousFile>true</DeletePreviousFile>
<Enabled>true</Enabled>
<FileHippoId />
<LastUpdated xsi:nil="true" />
<TargetPath>C:\ISO\Windows Updates\{appname:regexreplace:([\s\t\r\n\-\\&\/]+):_}-{version}.{url:ext}</TargetPath>
<FixedDownloadUrl>{sdownload}</FixedDownloadUrl>
<Name>Microsoft Update ISO</Name>
</ApplicationJob>
</Jobs>

Link to comment
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
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.