Page 1 of 1

NEWS for Version 1.13 (2019-05-14)

PostPosted: 14.05.2019, 17:55
by hbuhrmester
NEWS for Version 1.13

Release date: 2019-05-14
Intended compatibility: WSUS Offline Update 11.7

New features

New script create-iso-image.bash

The new script create-iso-image.bash creates ISO images of the client directory.

This script requires either mkisofs from the cdrtools or genisoimage from the cdrkit.

  • The cdrtools are the original tools, but they use a Solaris-style license, which restricts the distribution of binary files. Linux distributions like Gentoo, which provide only source files and let the user recompile everything, still provide the cdrtools.

  • Most other distributions like Debian and Fedora provide the fork cdrkit.

The usage is:

Code: Select all
./create-iso-image.bash <update> [<option> ...]

The first parameter is the profile name. It can be one of:

Code: Select all
all           All Windows and Office updates, 32-bit and 64-bit
all-x86       All Windows and Office updates, 32-bit
all-win-x64   All Windows updates, 64-bit
all-ofc       All Office updates, 32-bit and 64-bit
wxp           Windows XP, 32-bit                   (ESR version only)
w2k3          Windows Server 2003, 32-bit          (ESR version only)
w2k3-x64      Windows XP / Server 2003, 64-bit     (ESR version only)
w60           Windows Vista / Server 2008, 32-bit
w60-x64       Windows Vista / Server 2008, 64-bit
w61           Windows 7, 32-bit
w61-x64       Windows 7 / Server 2008 R2, 64-bit
w62           Windows 8, 32-bit                    (ESR version only)
w62-x64       Windows 8 / Server 2012, 64-bit
w63           Windows 8.1, 32-bit
w63-x64       Windows 8.1 / Server 2012 R2, 64-bit
w100          Windows 10, 32-bit               (current version only)
w100-x64      Windows 10 / Server 2016, 64-bit (current version only)

The options of the script are:

Code: Select all
-includesp         Include service packs
-includecpp        Include Visual C++ Runtime Libraries
-includedotnet     Include .NET Frameworks
-includewddefs     Include Windows Defender virus definitions for
                   the built-in Defender of Windows Vista and 7.
-includemsse       Include Microsoft Security Essentials. The
                   virus definitions are also used for the built-in
                   Defender of Windows 8, 8.1 and 10.
-output-path <dir> Output directory for the ISO image file
-create-hashes     Create a hashes file of the ISO image file

The script create-iso-image.bash is meant to support both the current and the ESR version of WSUS Offline Update, but some updates are only available in the current version and vice versa.

The distinction is the presence of the filter files ExcludeListISO-*.txt and the download directories: Windows XP is not supported by the current version, because neither the filter file ExcludeListISO-wxp.txt nor the download directory client/wxp can be found. The profile all, which only removes three unneeded files, can be used with the ESR version, though.

There are basically three modes of operation:

  1. The profile all creates one ISO image of the whole client directory. It is left to the user to restrict the resulting ISO image to a reasonable size.

  2. The profiles all-x86 and all-win-x64 create two cross-product ISO images, one per architecture. Originally, these ISO images were meant to fit on DVD-5 media with a size of 4.7 GB.

  3. The profiles all-ofc, w60, w60-x64, w61, w61-x64, w62-x64, w63, w63-x64, w100 and w100-x64 create one ISO image per product. Originally, these ISO images were meant to fit on CD-ROM media with a size of 700 MB.

  4. The distinction per language is not used anymore, because all Windows versions since Vista use global/multilingual updates, and all Office updates are just lumped together anyway.

Of course, the size restrictions to 700 MB or 4.7 GB don’t work anymore. It may explain, though, why large installers are sometimes excluded from the created ISO images.

The Linux script create-iso-image.bash uses its own filter files in the sh/exclude directory. These files are based on the files in the WSUS Offline Update directory wsusoffline/exclude, but the syntax has been reviewed: Many shell patterns seem to be unneeded. The syntax for paths seems to be slightly different, although basically the same tools are used: mkisofs.exe on Windows, and mkisofs or genisoimage on Linux.

The file About_the_ExcludeListISO-files.txt in the directory sh/exclude explains the translation of the ExcludeListISO-*.txt files from Windows to Linux.

Users may create copies of the ExcludeListISO-*.txt files in the directory sh/exclude/local. These local copies replace the supplied files. This is slightly different from the handling of custom files by WSUS Offline Update, but it is more the Linux way, and it allows to both add and remove filters.

The created ISO images have filenames like 2019-04-14_wsusoffline-11.6.2_all.iso. These are composed of:

  1. The build date from the file wsusoffline/client/builddate.txt, which indicates the last run of the download script
  2. The name wsusoffline
  3. The WSUS Offline Update version
  4. The used profile

New file catalog-creationdate.txt

The attribute CreationDate is extracted from the WSUS update catalog file package.xml and saved to the file wsusoffline/client/catalog-creationdate.txt.

Internal changes

Support for .NET Framework 4.8 was added.

Debug output for virus definition files disabled

The debug output for the download of virus definition files, which was enabled in version 1.12, was removed again.

Revised function remove_obsolete_files


New file exclude/About_the_ExcludeListISO-files.txt


The download links for this version are:

The hashes for the archive sh-1.13.tgz are:
Code: Select all
MD5:     6ac6e7a93040725bcc32d2cf52c4e14d
SHA-256: d74a43cce32ddafcea16e5244823e07d57e7288373978677db75c2be154699af

Further Reading

The first three posts in the original topic A complete rewrite of the Linux scripts are still being updated, to point to the latest version: