Jump to content
Ketarin forum
shawn

MS Update ISO template

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>

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

No. Some updates are language-neutral and don't include the language-specific child folders. If you only extract those with the language marker then you'll miss out on those updates.

Share this post


Link to post
Share on other sites

My template quit working. The template trys to download but nuthing in.

C:\ISO\Windows Updates\{appname:regexreplace:([\s\t\r\n\-\\&\/]+):_}-{version}.{url:ext}</TargetPath>

 

Please help.

Share this post


Link to post
Share on other sites

@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>

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • 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.