ofc wird mit hunderten Updates zugemüllt

ofc wird mit hunderten Updates zugemüllt

Postby Gerby » 11.12.2019, 11:30

Hi!

Der UpdateGenerator (hier trunk 1096 im Einsatz) lädt aktuell über 600 verschiedenste Dateien für ofc glb herunter, die auch großteils nichts mit Office zu tun haben, mitunter sogar Windows-2000-Kram. :shock:

Ich weiß nicht, wo der Fehler liegt. Im Katalog (10.12.2019 03:27 MD5: 01e66c054ef51bbc3de920726e8d6207)? Im aktuellen trunk?

Schöne Grüße
Gerby
Mach mit - der Übersichtlichkeit wegen! Füge Log-Auszüge als [Code] ein.
Make it clear! Insert log excerpts as [Code].
Gerby
 
Posts: 504
Joined: 11.09.2009, 15:57
Location: DE > SH > SE

Re: ofc wird mit hunderten Updates zugemüllt

Postby jonas » 11.12.2019, 17:16

kann dieses Problem bestätigen. Im Ordner S:\wsusoffline\client\ofc\glb sammeln sich Updates für .Net, win6.0, win6.1, win62 usw. Habe bei 187 von 622 Updates abgebrochen. Im Protokoll ist der erste Download wie folgt hinterlegt:

Code: Select all
11.12.2019 17:04:11,32 - Info: Downloaded/validated http://download.windowsupdate.com/c/msdownload/update/software/secu/2013/05/windows8-rt-kb2813430-x86_bd70e1985828de53a606a5f81d6589305bf6980d.cab to ..\client\ofc\glb


MfG Jonas
jonas
 
Posts: 99
Joined: 30.05.2014, 11:51

Re: ofc wird mit hunderten Updates zugemüllt

Postby aker » 11.12.2019, 18:31

Das stinkt nach einem Problem mit dem Katalog...

Viele Grüße
Wer Rechtschreibfehler findet, darf sie behalten oder an den Meistbietenden versteigern. / Everybody finding a misspelling is allowed to keep or sell it.
aker

WSUS Offline Update „Community Edition“
https://gitlab.com/wsusoffline/wsusoffline/-/releases
aker
 
Posts: 3999
Joined: 02.03.2011, 15:32

Re: ofc wird mit hunderten Updates zugemüllt

Postby DmitryKo » 11.12.2019, 23:08

Same here - 622 updates for OFC Global, most are critical secuity updates for .Net FX 2.0-4.5 and Windows XP to 10, some of them for IA64 and ARM64 platforms.

BTW I couldn't even terminate the batch file with Ctrl-C, this would only stop the current donwload...
DmitryKo
 
Posts: 5
Joined: 14.05.2019, 23:56

Re: ofc wird mit hunderten Updates zugemüllt

Postby boco » 12.12.2019, 02:46

Use CTRL+Break, and confirm the abort message.
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2398
Joined: 24.11.2009, 17:00
Location: Germany

Re: ofc wird mit hunderten Updates zugemüllt

Postby hbuhrmester » 12.12.2019, 08:29

Mein erster Eindruck ist, dass die Datei package.xml nicht mehr "richtig" sortiert ist.

In älteren Versionen dieser Datei waren alle Update-Records absteigend nach der RevisionId sortiert. Dabei kamen Bundle-Records vor den untergeordneten Update-Records mit den Payload-Files. Man hatte also zum Beispiel eine solche Reihenfolge:

Code: Select all
Update RevisionId="100" IsBundle="true"
Update RevisionId="99"  BundledBy Revision Id="100"
Update RevisionId="98"  BundledBy Revision Id="100"
Update RevisionId="97"  BundledBy Revision Id="100"
Update RevisionId="96"  BundledBy Revision Id="100"
Update RevisionId="95"  IsBundle="true"
Update RevisionId="94"  BundledBy Revision Id="95"
Update RevisionId="93"  BundledBy Revision Id="95"
Update RevisionId="92"  BundledBy Revision Id="95"
Update RevisionId="91"  BundledBy Revision Id="95"


Dabei stehen alle Update-Records auf einer Stufe, und die Unterscheidung ist eher eine logische: Bundle-Records haben ein Attribut IsBundle="true". Die untergeordneten Update-Records haben zusätzliche Felder wie "PayloadFiles" und "BundledBy".

In der aktuellen Datei wsusscn2.cab vom Dec 10 03:27, mit der md5-Prüfsumme 01e66c054ef51bbc3de920726e8d6207 sind die Update-Records nicht mehr sortiert.

Die Berechnung der Office-Updates hängt aber von der genauen Reihenfolge der Update-Records ab: Mit der XSLT-Datei ExtractUpdateCategoriesAndFileIds.xsl werden abwechselnd Bundle-Records und Update-Records extrahiert. Die Zuordnung erfolgt durch das Skript DownloadUpdates.cmd anhand der Position in der Datei. Das funktioniert nicht mehr, wenn die Datei nicht mehr "richtig" sortiert ist.

Trotzdem ist die Datei package.xml nicht "beschädigt". Die Beziehungen zwischen den Bundle-Records und untergeordneten Update-Records werden durch die Felder "BundledBy" hergestellt. Das entspricht den Fremdschlüsseln in einer Datenbank. Auch in einer zufällig sortierten Datei kann man die Beziehungen also wiederherstellen, wenn man diesen Fremdschlüsseln folgt.
hbuhrmester
 
Posts: 525
Joined: 11.10.2013, 20:59

Re: ofc wird mit hunderten Updates zugemüllt

Postby boco » 12.12.2019, 10:00

Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2398
Joined: 24.11.2009, 17:00
Location: Germany

Re: ofc wird mit hunderten Updates zugemüllt

Postby hbuhrmester » 12.12.2019, 11:08

Die Revision 1097 fügt neue Filter an die Dateien ExcludeList-ofc.txt und ExcludeList-ofc-glb.txt an:

https://trac.wsusoffline.net/trac.fcgi/changeset/1097/trunk/exclude/ExcludeList-ofc.txt
https://trac.wsusoffline.net/trac.fcgi/changeset/1097/trunk/exclude/ExcludeList-ofc-glb.txt

Damit werden die Downloads für Windows und .NET Frameworks ausgefiltert, aber es fehlen anscheinend viele Office-Updates.

Der Ordner ofc/glb enthält jetzt nur noch 45 Dateien, ofc/enu enthält nur noch eine Datei, und der Ordner ofc/deu ist leer und wird deshalb gelöscht.

Vorher, mit der Version 11.6.1 und einer wsusscn2.cab vom 06.04.2019 waren es:

ofc/glb: 188 Dateien
ofc/enu: 4 Dateien
ofc/deu: 4 Dateien

Den allerletzten Stand vom November habe ich leider nicht gesichert.
hbuhrmester
 
Posts: 525
Joined: 11.10.2013, 20:59

Re: ofc wird mit hunderten Updates zugemüllt

Postby hbuhrmester » 12.12.2019, 14:22

Office-Updates lassen sich anhand der URLs nur schwer unterscheiden. In WSUS Offline Update werden Office-Updates deshalb anhand der Produkt-Kategorie-Id identifiziert. Die richtige Zuordnung setzt aber voraus, dass in der Datei UpdateCategoriesAndFileIds.txt die Bundle-Records immer vor den untergeordneten Update-Records stehen. Diese Sortierung fehlt leider in der Datei wsusscn2.cab vom 10.12.2019 03:27.

Ein neuer Ansatz könnte sein, mit einer XSLT-Datei direkt die Produkt-Kategorie-Id auszuwählen und dann die RevisionId und UpdateId auszugeben:

Code: Select all
<?xml version="1.0"?>
<!--
  Author: H. Buhrmester, 2019
  Filename: extract-office-revision-update-ids.xsl

  This file selects Office updates by the ProductFamily Id
  "477b856e-65c4-4473-b621-a8b230bb70d9".

  The distinction of the categories by type - UpdateClassification,
  ProductFamily, Company, Product - is not necessary at this point,
  because all UUIDs should be unique by definition.
  https://en.wikipedia.org/wiki/Universally_unique_identifier

  This xslt file extracts the following fields:
  Field 1: Bundle RevisionId
  Field 2: UpdateId
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:__="http://schemas.microsoft.com/msus/2004/02/OfflineSync" version="1.0">
  <xsl:output omit-xml-declaration="yes" indent="no" method="text" />
  <xsl:template match="/">
    <xsl:for-each select="__:OfflineSyncPackage/__:Updates/__:Update/__:Categories/__:Category[@Id='477b856e-65c4-4473-b621-a8b230bb70d9']">
      <xsl:text>#</xsl:text>
      <xsl:value-of select="../../@RevisionId" />
      <xsl:text>#,</xsl:text>
      <xsl:value-of select="../../@UpdateId" />
      <xsl:text>&#10;</xsl:text>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>


Diese Datei ignoriert die verschiedenen Kategorie-Typen: UpdateClassification, ProductFamily, Company und Product. Diese Unterscheidung sollte aber auch nicht notwendig sein, da alle UUIDs eindeutig sein sollten (tatsächlich gibt es mindestens eine Überschneidung mit den Update-Ids, aber die werden aufgrund des unterschiedlichen Pfades ausgeschlossen):

https://en.wikipedia.org/wiki/Universally_unique_identifier

Um das Ergebnis zu überprüfen, braucht man zwei weitere XSLT-Dateien: Die Dateien extract-update-revision-and-file-ids.xsl und extract-update-cab-exe-ids-and-locations.xsl sind in WSUS Offline Update bereits enthalten und werden für die Berechnung der superseded Updates eingesetzt. Sie befinden sich im Ordner wsusoffline/xslt.

https://forums.wsusoffline.net/viewtopic.php?f=5&t=5676

Mit der XSLT-Datei extract-update-revision-and-file-ids.xsl wird die Datei BundledUpdateRevisionAndFileIds.txt erstellt. Diese enthält die Zuordnung von Bundle-RevisionIds und Update-RevisionIds in den ersten beiden Spalten. Die dritte Spalte enthält die FileIds der Payload Files.

Die dritte XSLT-Datei extract-update-cab-exe-ids-and-locations.xsl erstellt die Datei UpdateCabExeIdsAndLocations.txt mit den FileIds und URLs.

Durch die Verknüpfung dieser Dateien kommt man also von den Office-Bundle-RevisionIds zu den FileIds und den URLs.

Das Ergebnis ist eine Liste mit 5581 Office-URLs, aber ohne Links, die nicht dazugehören.

Ein Shell-Skript zum Extrahieren aller Office-Downloads ist:

Code: Select all
#!/bin/bash

# extract-office-locations.bash
# Sample implementation for the extraction of all Office updates.
export LC_ALL=C

# Extract File 1, featuring a new xslt file
echo "Extracting office-revision-update-ids.txt ..."
xmlstarlet transform \
    extract-office-revision-update-ids.xsl \
    package.xml \
| sort --unique \
> office-revision-update-ids.txt

# Extract File 2, using xslt file from the calculation of superseded
# updates
echo "Extracting BundledUpdateRevisionAndFileIds.txt ..."
xmlstarlet transform \
    extract-update-revision-and-file-ids.xsl \
    package.xml \
| sort --unique \
> BundledUpdateRevisionAndFileIds.txt

# Extract File 3, using xslt file from the calculation of superseded
# updates
echo "Extracting UpdateCabExeIdsAndLocations.txt ..."
xmlstarlet transform \
    extract-update-cab-exe-ids-and-locations.xsl \
    package.xml \
| sort --unique \
> UpdateCabExeIdsAndLocations.txt

# Join first two files to get the FileIds
echo "Creating file office-file-ids.txt ..."
join -t ',' -o 2.3 \
    office-revision-update-ids.txt \
    BundledUpdateRevisionAndFileIds.txt \
| sort --unique \
> office-file-ids.txt

# Join with third file to get the FileLocations (URLs)
echo "Creating file office-locations.txt ..."
join -t ',' -o 2.2 \
    office-file-ids.txt \
    UpdateCabExeIdsAndLocations.txt \
| sort --unique \
> office-locations.txt

exit 0



Dasselbe als Batch-Datei:

Code: Select all
@echo off
REM Example script to extract all Office updates
REM H. Buhrmester, 2019
REM
REM - XSLT.vbs is in wsusoffline\cmd
REM - gsort.exe and join.exe are in wsusoffline\bin
REM - extract-update-revision-and-file-ids.xsl and
REM   extract-update-cab-exe-ids-and-locations.xsl are in wsusoffline\xslt
REM - package.xml must be extracted from wsusscn2.cab
REM
REM Put everything into one directory to run this script
set CSCRIPT_PATH=%SystemRoot%\System32\cscript.exe

echo Extracting office-revision-update-ids.txt ...
%CSCRIPT_PATH% //Nologo //E:vbs XSLT.vbs package.xml extract-office-revision-update-ids.xsl office-revision-update-ids-unsorted.txt
gsort.exe -u -T "%TEMP%" office-revision-update-ids-unsorted.txt > office-revision-update-ids.txt

echo Extracting BundledUpdateRevisionAndFileIds.txt ...
%CSCRIPT_PATH% //Nologo //E:vbs XSLT.vbs package.xml extract-update-revision-and-file-ids.xsl BundledUpdateRevisionAndFileIds-unsorted.txt
gsort.exe -u -T "%TEMP%" BundledUpdateRevisionAndFileIds-unsorted.txt > BundledUpdateRevisionAndFileIds.txt

echo Extracting UpdateCabExeIdsAndLocations.txt ...
%CSCRIPT_PATH% //Nologo //E:vbs XSLT.vbs package.xml extract-update-cab-exe-ids-and-locations.xsl UpdateCabExeIdsAndLocations-unsorted.txt
gsort.exe -u -T "%TEMP%" UpdateCabExeIdsAndLocations-unsorted.txt > UpdateCabExeIdsAndLocations.txt

echo Creating file office-file-ids.txt ...
join.exe -t "," -o "2.3" office-revision-update-ids.txt BundledUpdateRevisionAndFileIds.txt > office-file-ids-unsorted.txt
gsort.exe -u -T "%TEMP%" office-file-ids-unsorted.txt > office-file-ids.txt

echo Creating File office-locations.txt ...
join.exe -t "," -o "2.2" office-file-ids.txt UpdateCabExeIdsAndLocations.txt > office-locations-unsorted.txt
gsort.exe -u -T "%TEMP%" office-locations-unsorted.txt > office-locations.txt
hbuhrmester
 
Posts: 525
Joined: 11.10.2013, 20:59

Re: ofc wird mit hunderten Updates zugemüllt

Postby boco » 12.12.2019, 15:11

Immer, wenn man denkt, daß MS nicht noch mehr Mist bauen kann...
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2398
Joined: 24.11.2009, 17:00
Location: Germany

Next

Return to Download

Who is online

Users browsing this forum: No registered users and 16 guests