Offline Installer

Offline Installer

Postby aker » 21.09.2011, 18:21

Dieses Projekt ist veraltet & wird nicht mehr fortgeführt. / This project has been discontinued.

Ich habe einen Offline Installer für WSUSOU geschireben.
Dieser installiert Updates über eine Windows PE DVD. Diese kann Windows Vista und 7 (beide nur 32bit) verarbeiten.
Zur Erstellung wird jedoch auch Windows Vista bzw. 7 (& Server 2003) benötigt, da die Erstellungstools nur unter diesen Windowsversionen funktionieren.
Weiterhin darf ich aus rechtlichen Gründen die Pakete nicht in den Download integrieren. Das bedeutet, dass auch das WAIK für Windows 7 benötigt wird.
Der Skript erstellt eine Windows PE Umgebung im Ordner C:\winpe\ISO.
In den Unterordner müssen jedoch noch die Updateordner (.\client\w60 bzw. .\client\w61) und die Katalogdatei (ganzer Ordner .\client\wsus) kopiert werden.
Ich würde mich über eine Integration in den Skript CreateISOÍmage.cmd freuen, da dieser eine automatisierung des Vorgangs ermöglichen würde.
<Link entfernt>
Ich würde mich über Verbesserungsvorschläge freuen.

Ich wäre froh, wenn jemand die Datei für mich auf diesem Board hochladen würde. Jetzt schon einmal: Danke

Patches

Patch 1
-Verbesserung des Loggings
-Behebung eines Fehlers in der Installationsschleife, der die Uhrzeit fehlerhaft ausliest

Patch 2
-Leistungssteigerung durch Entfernung von unnötigen Schleifen
- Ersetzung von "find"-Befehlen durch "findstr"-Befehle

Viele Grüsse
Last edited by aker on 12.11.2011, 20:02, edited 5 times in total.
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: Offline Installer

Postby -Iwan- » 21.09.2011, 19:14

Hallo aker,

nettes Projekt, aber ganz ehrlich: warum sollte ich mir eine PE-DVD basteln, um damit ein installiertes Windows zu aktualisieren?
Mir entzieht sich gerade der Sinn, der dahinter steckt. Das könnte aber auch daran liegen, das ich mein WSUSOU immer auf USB-HDD bei habe.
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Offline Installer

Postby aker » 21.09.2011, 20:53

Der Geschwindigkeitsvorteil bei der Installationist gewaltig.
Ich werde ihn aber noch so umprogrammieren, dass die superseded Updates sofort gelistet sind. Dann ist er noch schneller.
(für w61 mit sp1 braucht er <3min) außerdem entfällt dadurch der lästige Neustart des Systems.
Außerdem ist es für meinen USB Stick sicherer.
Die Gefahr, dass Viren sich darauf einnisten ist gleich null, da sie gar nicht erst geladen werden.

Viele Grüsse
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: Offline Installer

Postby -Iwan- » 22.09.2011, 06:40

Ich kann mir nicht vorstellen, das das saubere Update-Installationen werden. Klingt für mich eher nach "Quick, but dirty".
Wird denn ein Wiederherstellungspunkt gesetzt und kann ich die Updates bei Bedarf auch wieder deinstallieren?
Einen "gewaltigen" Geschwindigkeitsvorteil sehe ich auch nicht. Ein Win7PE-Boot von DVD ist einfach nur lahm.
Dann noch die Updates von der DVD installieren und das ganze ohne die evtl. benötigten Neustarts?

Ich lasse mich gern vom Gegenteil überzeugen, aber da braucht es schon mehr als Worte :ugeek:
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Offline Installer

Postby aker » 22.09.2011, 07:17

Die Installation ist sauber.
Dazu wird ein Tool verwendet, das eigentlich zu Wartung von Offlineabbildern dient.
Die Backups werden automatisch angelegt.

Und schnell ist es (Start ca. 30 sec.) und das langsamste sind die superseded Updates. Wenn ich die Liste jedoch bei der Erstellung einbauen lasse, dann ist das Programm echt fix.

Hier die Logdatei einer Betaversion des Tools.
Code: Select all
Starting aker Offline Update (v. 285) at 19:34:39,15...
01.09.2011 19:34:47,12 - Info: Found OS caption 'Microsoft Windows 7 / Server 2008 R2'
01.09.2011 19:34:47,12 - Info: Found Microsoft Windows version 6.1.7601 (w61 x86 glb sp1)
01.09.2011 19:34:47,12 - Info: Found Windows Installer version 5.0.7601.17514
01.09.2011 19:34:47,12 - Info: Medium supports Microsoft Windows (w61 glb)
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2425227-x86_340a055c6c508675932335c47bfa19a629a1aecc.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2446709-x86_eb1e363996075ea8e432c7b7efd6be4cbfb75772.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2476490-x86_e1894106cb3ba95287756dd587ea62e6b0dd792d.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2479943-x86_b40ad1472c3017efc98f36a78c16bdbc8aa75b3b.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2483614-x86_3c98806794d150a9847a02ba97b991853f8a3ae5.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2491683-x86_08dae42a9744280e003bab94d5518bf4e765e1b9.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2503665-x86_32735dca43c2a70b8eed5ebe70cfb163daa64b5f.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2506212-x86_2986d3e06d5fca7dda6a326584768797bd693778.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2507618-x86_67ef4c5b1136973b9e3c2551324070962db70fa7.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2508272-x86_3d67e29c734bc8e85f1c9e8b6318dc6453744724.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2509553-x86_843f5ab59bd04db015980cfc64955237b64526ac.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2510531-x86_2823e3db261685830e0b3e8262dff1d59a835b3a.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2511455-x86_4bf2014d3e467a2a5194db0f39f7cc5620a48741.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2518867-x86_6e73db3a8a797f2ad458e21d6a5e7dd7657c8581.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2518869-x86_82530a5be47a5a99479bbb3b3c6b0ba58443255c.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2532531-x86_5f54d3000df08b2eb99a75d50de3faa5a03bf068.cab".
? Failed ? 01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2533552-x86_795616c2ae74a33b48e5ca2c124e841b3f54da29.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2535512-x86_b8a2853fc2251f3d2416f26d3b4ed6a78d2ca2de.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2536275-x86_2e3fc50b19f0c489d461c00e441e59d23fa122ee.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2536276-v2-x86_39a43a392740ff61edf2bd65b977eb6936a978d6.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2539634-x86_922e6d1e81209324e74ad061e5a7fd8d78ad0281.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2539635-x86_a0bd7705a6b8702e66bcccf4f206257c1aa187d7.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2544521-x86_ad2e8e088ba1fe18342c44c59b673ec25e9c7cab.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2544893-x86_fe24e7c2caae32c3a4b8dca345291fa3e5dbc492.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2552343-x86_99ae24c149e68d6989472d830313136ea461779f.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2555917-x86_59accc67a6e2d657666c0b0a9803d253f8f688ab.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2556532-x86_c2479cc4fbdf81abade6845977b5bf0bd2d81eed.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2559049-x86_e6b191b98cf3fee45d2c430def26d1311aa12a27.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2560656-x86_bbd983ef7fe167bebc5722c07aaf9904d9048472.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2562937-x86_b304d988e54b685bc2c7e63bcd415bd273e4da02.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2563894-x86_b9d023804f4c9ce70449a6f73311d12c95c3f0e0.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2567680-x86_2cd4d792dae30098f554e5afde1291ee4686bd85.cab".
01.09.2011 - 19:38:55,68 Installed "..\w61\glb\windows6.1-kb2570791-x86_6f91bd863fa6901038fb03c81f8d7afbc606aa55.cab".
01.09.2011 19:42:35,87 - Info: Installation successful
01.09.2011 19:42:35,89 - Info: Ending aker Offline Update


Viele Grüsse
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: Offline Installer

Postby -Iwan- » 22.09.2011, 09:12

Sorry, aber das Log ist für die Ablage P. Alle Updates wurden zur 100% exakt gleichen Uhrzeit (01.09.2011 - 19:38:55,68) installiert? :roll:

Und was bitte dauert 30 Sekunden? Sicherlich nicht der PE-Start und auch nicht der WSUSOU-Prozess...
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Offline Installer

Postby aker » 22.09.2011, 21:05

Ja, das Log ist ein Bug, wird gerade gefixt, aber der Start ist echt fix (30 sec. stimmt)
WSUSOU bracht länger, klar, aber wenn die superseded Updates als Liste existieren, dann braucht er nicht lang pro Update ca. 10 - 20 sec.
Sonst einfach mal testen

Viele Grüsse
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: Offline Installer

Postby -Iwan- » 23.09.2011, 08:03

Meinst du mit Start (30 sec.) den von PE (DVD oder USB?) oder WSUSOU oder welchen?

Sorry, das ich so "doof" Nachfrage, aber das ist so eine Art "IT-Supporter-Krankheit " :ugeek:
Da lernt man leider, das man Infos und Anleitungen so schreiben sollte, das jeder DAU sie verstehen kann.
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Offline Installer

Postby aker » 23.09.2011, 14:58

Der Start der PE DVD (boot.wim ca. 150 MB) ist gemeint.
Kenne das Problem mit den genauen Nachfragen. Wenn ich jemandem helfe und derjenige einen Fehler meldet, frage ich auch immer 3mal nach.

Zu den Zeiten bei der Installation gibt es einen Patch für die fehlerhafte Schleife(als Post). Weiterhin fügt er auch noch ein Paar Logging Features hinzu.

Viele Grüsse
Last edited by aker on 23.09.2011, 19:56, edited 2 times in total.
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

Offline Installer Patch 1

Postby aker » 23.09.2011, 19:52

Wie Versprochen, hier einige Patches

+ = hinzufügen
- = entfernen

Code: Select all
-set AKEROFFLINE_RELEASE=289
+set AKEROFFLINE_RELEASE=291


Code: Select all
      if exist ..\w61\glb\windows6.1-KB976932-X86.exe (
+         echo !DATE! !TIME! - Info: Installing ..\w61\glb\windows6.1-KB976932-X86.exe >>%UPDATE_LOGFILE%
         ..\w61\glb\windows6.1-KB976932-X86.exe /x:%ofwindrv%\temp\1
      ) else (


Code: Select all
echo %TIME% - Listing ids of all updates for your System...
+echo %DATE% %TIME% - Info: Installing Listing ids of all updates for your System... >>%UPDATE_LOGFILE%
if not exist ..\wsus\wsusscn2.cab goto NoWSUSScan


Code: Select all
echo %TIME% - Listing ids of superseded updates...
+echo %DATE% %TIME% - Info: Installing Listing ids of superseded updates... >>%UPDATE_LOGFILE%
"..\bin\msxsl.exe" "%ofwindrv%\temp\package.xml" ..\xslt\ExtractUpdateRevisionIds.xsl -o "%ofwindrv%\temp\ValidUpdateRevisionIds.txt"


Code: Select all
echo Listing ids of installed updates...
+echo %DATE% %TIME% - Info: Listing ids of installed updates... >>%UPDATE_LOGFILE%
reg load hklm\ofwinsoft %ofwindrv%\Windows\system32\config\SOFTWARE > nul


Code: Select all
echo Filtering all Update ids...
+echo %DATE% %TIME% - Info: Filtering all update ids... >>%UPDATE_LOGFILE%
if exist %ofwindrv%\temp\UpdateNames-%OS_NAME%.txt del %ofwindrv%\temp\UpdateNames-%OS_NAME%.txt > nul


Code: Select all
echo Filtering superseded Update ids...
+echo %DATE% %TIME% - Info: Filtering superseded update ids... >>%UPDATE_LOGFILE%
rem only w60 and w61


Code: Select all
echo Generating ids of missing updates...
-rem Zusammenführen aller Filter
+echo %DATE% %TIME% - Info: Generating missing update ids... >>%UPDATE_LOGFILE%
if exist %ofwindrv%\temp\filter.txt del %ofwindrv%\temp\filter.txt > nul


Code: Select all
rem *** Install updates ***
+echo %DATE% %TIME% - Info: Installing Updates... >>%UPDATE_LOGFILE%
if not exist "%ofwindrv%\temp\UpdatesandPathstoInstall.txt" (
   goto NoUpdates
)


Code: Select all
-for /f "delims=" %%i in (%ofwindrv%\temp\UpdateFiles.txt) do (
-   if not "%%i"=="" (
-      set /a counts+=1
-      echo Installing Update !counts! of %counter%...
-      if exist "%%i" (
-         echo Installing "%%i"...
-         echo %DATE% - %TIME% Installing Update "%%i". >>%UPDATE_LOGFILE%
-         dism /image:%ofwindrv%\ /add-package /packagepath:"%%i" /scratchdir:"%ofwindrv%\temp\dism"
-         echo.
-         if errorlevel 1 (
-            set errkb=%%i
-            echo %DATE% - %TIME% Error: Installing of "%%i" failed. >>%UPDATE_LOGFILE%
-            goto InstError
-         ) else (
-            echo %DATE% - %TIME% Installed "%%i". >>%UPDATE_LOGFILE%
-         )
-      ) else (
-         echo Update "%%i" cannot be found.
-         echo %DATE% - %TIME% Update "%%i" cannot be found. >>%UPDATE_LOGFILE%
-         echo.
-      )
-   )
-)
+for /f "delims=" %%i in (%ofwindrv%\temp\UpdateFiles.txt) do (
+   if not "%%i"=="" (
+      set /a counts+=1
+      echo Installing Update !counts! of %counter%...
+      if exist "%%i" (
+         echo Installing "%%i"...
+         echo !DATE! !TIME! Installing Update !counts! of %counter%... >>%UPDATE_LOGFILE%
+         echo !DATE! !TIME! Installing Update "%%i". >>%UPDATE_LOGFILE%
+         dism /image:%ofwindrv%\ /add-package /packagepath:"%%i" /scratchdir:"%ofwindrv%\temp\dism"
+         echo.
+         if errorlevel 1 (
+            set errkb=%%i
+            echo !DATE! !TIME! Error: Installing of "%%i" failed. >>%UPDATE_LOGFILE%
+            goto InstError
+         ) else (
+            echo !DATE! !TIME! Installed "%%i". >>%UPDATE_LOGFILE%
+         )
+      ) else (
+         echo Update "%%i" cannot be found.
+         echo !DATE! !TIME! Update "%%i" cannot be found. >>%UPDATE_LOGFILE%
+         echo.
+      )
+   )
+)


Viele Grüsse
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

Next

Return to Installation / Updating

Who is online

Users browsing this forum: No registered users and 58 guests

cron