GUIDE: Download Everything Microsoft (MSDBuild v5.5) WGA, Windows/Microsoft/Office Update ActiveX, et. al.
#81
Posted 21 October 2008 - 09:59 AM
Ok, I have followed the Automated process to the letter. But I still get asked to install Windows Genuine Advantage Notifications KB905474 when I check for updates.
I have unpacked the MSDownload.exe manually and checked the version of the LegitCheckControl.dll file and found it to be 1.7.69.2 and not 1.8.31.9.
I retried the downloading via Windows Update Downloader, and using the latest MSDownloads.ulz file, and it definately downloads version 1.8.31.9, but when you run the automated process it still only includes 1.7.69.2 in MSDownload.exe.
Am I missing something or is this a glitch?
#82
Posted 10 November 2008 - 10:42 AM
LCC_FIX.CMD must be in same folder than MSDBuild.exe, along with other files downloaded by Windows Update Downloader.
@TITLE LCC_FIX.CMD - Helper Script for DarkShadows' Great Script
@ECHO OFF
@SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
CLS
ECHO.
ECHO LCC_FIX.CMD - Helper Script for DarkShadows's Great Script
ECHO.
ECHO The Mess :
ECHO LegitCheckControl.dll in the LegitCheckControl.cab archive
ECHO is an outdated version : 1.7.69.2
ECHO The one inside the KB905474 exe package is 1.8.31.9
ECHO [ at the time of writing : 2008/Nov/10 ]
ECHO.
ECHO The Problem :
ECHO MSDBuild.cmd is using the outdated one inside the .cab.
ECHO.
ECHO The Result :
ECHO You get a nag popup during setup which defeats the whole thing.
ECHO [ unless you install the KB905474 exe **AFTER** MSDownloads.exe ]
ECHO.
ECHO The Rock-Stupid Workaround implemented here :
ECHO Use the new DLL from the EXE package to recreate a .cab
ECHO archive [digital signature of the .cab is lost].
ECHO Then, launch MSDBuild.exe as you are used to.
ECHO.
PAUSE
CD /D "%~dp0"
SET KB905474=
FOR %%g IN (*905474*.exe) DO SET KB905474=%%~nxg
IF NOT DEFINED KB905474 (
ECHO You need the KB905474 exe package.
GOTO:EOF
)
REM one and only one backup of LCC.cab
IF EXIST LegitCheckControl.cab IF NOT EXIST old_LegitCheckControl.cab REN LegitCheckControl.cab old_LegitCheckControl.cab
IF EXIST LegitCheckControl.cab DEL/F/A/Q LegitCheckControl.cab
SET LCC=LCC%RANDOM%
SET WGA=WGA%RANDOM%
MD %LCC% %WGA%
ECHO.
ECHO Extracting WGA 905474 package...
START "" /I /WAIT /LOW %KB905474% /Q /X:%WGA%
ECHO.
ECHO Moving DLL file around...
MOVE/Y %WGA%\legitcheckcontrol.dll %LCC%\LegitCheckControl.dll
ECHO.
ECHO Looking for file version...
SET VERSION=
FOR /F "tokens=2 delims== " %%v IN ('TYPE %WGA%\update\update.inf ^| FIND /I "PRODUCT_VERSION "') DO SET VERSION=%%~v
ECHO Version found in update.inf is %VERSION%.
ECHO.
ECHO Creating new INF file with version %VERSION:.=,%...
ECHO>%LCC%\LegitCheckControl.inf ;DestDir can be 10 for Windows directory, 11 for Windows\System(32) directory, or left blank for the Occache directory.
ECHO.>>%LCC%\LegitCheckControl.inf
ECHO>>%LCC%\LegitCheckControl.inf [version]
ECHO>>%LCC%\LegitCheckControl.inf signature=$CHICAGO$
ECHO.>>%LCC%\LegitCheckControl.inf
ECHO>>%LCC%\LegitCheckControl.inf [Add.Code]
ECHO>>%LCC%\LegitCheckControl.inf LegitCheckControl.DLL=LegitCheckControl.DLL
ECHO.>>%LCC%\LegitCheckControl.inf
ECHO>>%LCC%\LegitCheckControl.inf [LegitCheckControl.DLL]
ECHO>>%LCC%\LegitCheckControl.inf file-win32-x86=thiscab
ECHO>>%LCC%\LegitCheckControl.inf RegisterServer=yes
ECHO>>%LCC%\LegitCheckControl.inf clsid={17492023-C23A-453E-A040-C7C580BBF700}
ECHO>>%LCC%\LegitCheckControl.inf DestDir=11
ECHO>>%LCC%\LegitCheckControl.inf FileVersion=%VERSION:.=,%
ECHO.
ECHO Creating DDF for MAKECAB...
PUSHD %LCC%
ECHO>LCC.DDF .Set Cabinet=on
ECHO>>LCC.DDF .Set Compress=on
ECHO>>LCC.DDF .Set CompressionType=LZX
ECHO>>LCC.DDF .Set CompressionMemory=21
ECHO>>LCC.DDF .Set FolderSizeThreshold=5000000
ECHO>>LCC.DDF .Set MaxDiskSize=CDROM
ECHO>>LCC.DDF .Set DiskDirectory1=.
ECHO>>LCC.DDF .Set CabinetNameTemplate=LegitCheckControl.cab
ECHO>>LCC.DDF %CD%\LegitCheckControl.dll
ECHO>>LCC.DDF %CD%\LegitCheckControl.inf
ECHO.
ECHO Creating CAB archive...
DIANTZ/F LCC.DDF || ECHO DIANTZ Failed: "%CD%\LCC.DDF"
MOVE/Y .\LegitCheckControl.cab ..\LegitCheckControl.cab
POPD
ECHO.
ECHO Removing temp files...
RD/S/Q %LCC%
RD/S/Q %WGA%
ECHO.
ECHO All done. Have a nice day.
ECHO.
ECHO Press any key to launch DarkShadows' MSDBuild.exe package...
PAUSE>NUL
IF EXIST MSDBuild.exe START /I .\MSDBuild.exe
EXIT/B0
Tested and working... but it covers only LegitCheckControl.dll.
This post has been edited by kgee: 10 November 2008 - 10:48 AM
#83
Posted 10 November 2008 - 12:07 PM
I'm currently developing a new version of MSDBuild.exe/MSDBuild.cmd that will extract LegitCheckControl.dll from both the KB905474 WGA Notifications download and the LegitCheckControl.cab download. The new script will always use the most recent version in MSDownloads.exe. This way, if Microsoft resumes updating LegitCheckControl.cab at its static download link in the future, we will still be covered.
Q1: Did you integrate KB905474 WGA Notifications into your XPCD source ?
Q2: If you did integrate KB905474 WGA Notifications into your XPCD source, was it the most recent version?
Remember to check KB905474 WGA Notifications in WUD to force it to redownload the most recent version of the update.
Q3: If you did integrate the most recent version of KB905474 WGA Notifications into your XPCD source, did Microsoft/Windows Update still list KB905474 WGA Notifications as a required update?
Q4: What edition and license type of Windows XP are you using?
Q1: Did you integrate KB905474 WGA Notifications into your XPCD source?
Q2: If you did not integrate KB905474 WGA Notifications into your XPCD source, did Microsoft/Windows Update still list KB905474 WGA Notifications as a required update?
If this answer is "No", then we will still need to download KB905474 WGA Notifications, but we will not need to install it (which would be my preference). If this answer is "Yes", then integrating KB905474 WGA Notifications becomes a requirement.
#84
Posted 10 November 2008 - 12:08 PM
yeled1976, on Oct 16 2008, 10:38 AM, said:
i have been spending about 4 hours looking for the msdbuild.exe download.
where can i download it from?
anywhere i look i get brought to this page and there is no download link
thanks
Follow the instructions, exactly as written, under the heading "Automate the Process"
#85
Posted 10 November 2008 - 02:53 PM
#86
Posted 11 November 2008 - 09:57 AM
DarkShadows, on Nov 10 2008, 07:07 PM, said:
Q1: Did you integrate KB905474 WGA Notifications into your XPCD source?
Q2: If you did not integrate KB905474 WGA Notifications into your XPCD source, did Microsoft/Windows Update still list KB905474 WGA Notifications as a required update?
If this answer is "No", then we will still need to download KB905474 WGA Notifications, but we will not need to install it (which would be my preference). If this answer is "Yes", then integrating KB905474 WGA Notifications becomes a requirement.
Ans1: Well, I did not, then I did, then I did not... I think I will, since I downloaded it
Ans2: The answer is "Yes"... but everything works fine without installing it.
#87
Posted 15 November 2008 - 05:32 AM
kgee, on Nov 10 2008, 05:42 PM, said:
The extraction proccess is not working. I substitute this:
ECHO. ECHO Extracting WGA 905474 package... START "" /I /WAIT /LOW %KB905474% /Q /X:%WGA%
with this:
ECHO.
ECHO Extracting WGA 905474 package...
FOR /F %%I IN ('CD') DO START "" /I /WAIT /LOW %KB905474% /T:%%I\%WGA% /C
START "" /I /WAIT /LOW .\%WGA%\WgaNotifyPackageStandalone.exe /X:.\%WGA%% /Q
for your script to work.
#88
Posted 15 November 2008 - 08:04 AM
What file did you modify? I can't find that line inside SFX-MSD.cmd and in MSDBuild.cmd.
#90
Posted 15 November 2008 - 02:26 PM
I made it work flawlessly for Windows XP SP3 and IE7. It seems that all it needs are a few file replacements and some registry settings, so it will take you to MU without any activex prompts.
This is what I did:
I used kgee's script to replace Legitcheckcontrol.dll
Then I checked all the *.cab files as I thought there might be other files not updated. I was right. I found wuweb.dll from the work folder not to be the last version. I checked system32 folder and voila. The last wuweb.dll version is 7.2.6001.788 (WindowsUpdateAgent30-x86.exe comprises it) and not 7.2.6001.784, which is the file that is compressed inside wuweb_site.cab. I cabbed the wuweb.dll and modified wuweb.ini, changing the version number inside.
edit:
Plus, registry settings that I forgot about.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{6E32070A-766D-4EE6-879C-DC1FA91D2FC3}\iexplore]
"Flags"=dword:00000004
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services]
"DefaultService"="7971f918-a847-4430-9279-4a52d1efe18d"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971f918-a847-4430-9279-4a52d1efe18d]
"AuthorizationCab"="authcab.cab"
That's it. Tested and working in vmware. Now all I have to do is to find a way to pack my own Datastore.edb and make it work after hiding all the unwanted updates in MSU. Any ideas?
Now it's for you script kids to put all these together. But until then I am uploading the modified wuweb_site.cab. I hope it'll come handy.
Regards,
Atolica
Attached File(s)
-
wuweb_site.cab (100.89K)
Number of downloads: 17
This post has been edited by atolica: 15 November 2008 - 03:07 PM
#91
Posted 17 November 2008 - 01:41 PM
Hey, thanks for trying things out and reporting back, good job
@Everyone
The overall issue really seems to be that Microsoft has opted not to update their .cab file downloads located at the server end all of the static URLs I listed in the guide. Instead, MS has become increasingly more reliant on using Windows Updates to install these.
I can't work on it today (
#92
Posted 17 November 2008 - 01:44 PM
I can upload my Msdownloads.exe if you want.
Not for you Master ObiWan, but for the rest of us.
One update keeps failing in staying hidden: Microsoft Silverlight 1.0 (KB951213). I tried different approaches, but it still shows up after hiding it and packing Datastore.edb.
This post has been edited by atolica: 17 November 2008 - 01:50 PM
#93
Posted 18 November 2008 - 07:07 AM
#94
Posted 18 November 2008 - 07:47 AM
The first registry entry is to have activex stop prompting for installation. The other two keys are created after running Microsoft update (they are constant entries). Without these it does not work. Tested.
#95
Posted 18 November 2008 - 03:55 PM
atolica, on Nov 18 2008, 02:47 PM, said:
This post has been edited by strel: 18 November 2008 - 07:18 PM
#96
Posted 18 November 2008 - 04:07 PM
#97
Posted 19 November 2008 - 05:05 AM
strel, on Nov 18 2008, 11:55 PM, said:
atolica, on Nov 18 2008, 02:47 PM, said:
When I use LCC_FIX.CMD without post #87 modifications. In the process of Extracting WGA 905474 package..., I get a WgaNotify_Iexpress.exe box saying Command line option syntax error...
Probably because you or LCC script already extracted WindowsXP-KB905474-ENU-x86-Standalone.exe. Inside that is the real ms cab file with exactly the same name. After Lcc script runs it extracts and then deletes the previous KB905474-ENU-x86-Standalone.exe. Of course you can modify LegitCheckControl.cab file using cabarc. You can get it from here: Microsoft Cabinet Software Development Kit
Or you can download it from here:
LegitCheckControl.cab
This post has been edited by atolica: 19 November 2008 - 05:10 AM
#98
Posted 20 November 2008 - 06:18 AM
strel, on Nov 15 2008, 12:32 PM, said:
kgee, on Nov 10 2008, 05:42 PM, said:
The extraction proccess is not working. I substitute this:
ECHO. ECHO Extracting WGA 905474 package... START "" /I /WAIT /LOW %KB905474% /Q /X:%WGA%
with this:
ECHO.
ECHO Extracting WGA 905474 package...
FOR /F %%I IN ('CD') DO START "" /I /WAIT /LOW %KB905474% /T:%%I\%WGA% /C
START "" /I /WAIT /LOW .\%WGA%\WgaNotifyPackageStandalone.exe /X:.\%WGA%% /Q
for your script to work.
That issue is impossible to fix for me, but I will try... DarkShadows made his script to extract the Type 1 package (taking /Q /T: /C: switches), take the extracted executable (which takes /Q /X: switches) and moves it over the Type 1 package.
When LCC_FIX.CMD is launched, it has no way at all to guess what switches to use.
But the way you "fixed" that is ugly. the /C: switch is meant to embed a custom "install" command, which in our precise case should be an extraction command. You have the %CD% env. var. to replace your FOR loop.
The following code works in both cases (Type 1 or Type 2 file), and with the help of the /Q switch displays no warning popup AFAICT :
ECHO Extracting WGA 905474 package... START "" /I /WAIT /LOW %KB905474% /Q /T:%CD%\%WGA% /C:"WgaNotifyPackageStandalone.exe /Q /X:%CD%\%WGA%" IF NOT EXIST %WGA%\legitcheckcontrol.dll START "" /I /WAIT /LOW %KB905474% /Q /X:%CD%\%WGA%
There is a more elegant way to do, by first guessing the type. But this needs an external tool.
LCC_FIX2.CMD (5.39K)
Number of downloads: 15
atolica, on Nov 19 2008, 12:05 PM, said:
My two scripts (LCC_FIX.CMD and LCC_FIX2.CMD) aren't deleting/renaming/moving ANY exe file. They are extracting the contents to a temp folder then delete that temp folder.
This post has been edited by kgee: 20 November 2008 - 06:19 AM
#99
Posted 20 November 2008 - 07:40 AM
kgee you migh as well create another script for replacing wuweb.dll inside wuweb_site.cab.
This post has been edited by atolica: 20 November 2008 - 07:52 AM
#100
Posted 22 November 2008 - 09:45 AM
atolica, on Nov 20 2008, 02:40 PM, said:
Hmmm... When I said « aren't deleting/renaming/moving ANY exe file », I were obviously (at least for me) talking about files present on disk before execution of the script.
If the downloaded package is found (WindowsXP-KB905474-ENU-x86-Standalone.exe size 1,536,552 bytes, as you said), the command line used :
START %KB905474% /Q /T:Z:\TEMP /C:"WgaNotifyPackageStandalone.exe /Q /X:Z:\TEMP"
will delete WgaNotifyPackageStandalone.exe as soon as it extracted its own contents.
And that's Microsoft way of doing, not mine...
You might want to run this command line to integrate the package in an install source :
START %KB905474% /Q /T:Z:\TEMP /C:"WgaNotifyPackageStandalone.exe /passive /integrate:X:\path\to\winxp\cd"
This will correctly integrate the package (found in X:\path\to\winxp\cd\I386\SVCPACK\WgaNotify.exe), but the temporary file WgaNotifyPackageStandalone.exe (which is in fact the same as X:\path\to\winxp\cd\I386\SVCPACK\WgaNotify.exe) will be deleted from Z:\TEMP by the first package (WindowsXP-KB905474-ENU-x86-Standalone.exe size 1,536,552 bytes) as soon as the integration ended.
In other words, the package that takes /T: /C: switches understand /T as a specification for a temporary folder (other than the default), and /C as a command to run with/on the extracted contents. If /C is used and specifies a valid command, the temporary folder is cleaned up after that command as finished.
LCC_FIX2.CMD is directly using that "auto-clean-up" feature (noticed how Z:\TEMP appears twice ?)
Finally, as opposed to /T, which specifies a temporary folder ; the /X switch on the other package specifies a folder to extract contents to. That's not the same logic (hence "Type 1 hotfix" and "Type 2 hotfix"), thus one should use each package differently.
Are you OK or KO with my explanation ? Do you see why its pointless to keep the WgaNotifyPackageStandalone.exe by its own ?
(like having a CD and a CD case... no need to keep the CD somewhere and the case elsewhere, unless you like scratched CDs)
atolica, on Nov 20 2008, 02:40 PM, said:
Which one should I check ? LCC_FIX.CMD or LCC_FIX2.CMD ?
LCC_FIX(2) is directly calling DarkShadows' script (MSDBuild.exe), which is (by design) overwriting the first package with the second. (hence the bug you found : when i wrote LCC_FIX, it was after having used MSDBuild.exe once, thus the first package was gone).
atolica, on Nov 20 2008, 02:40 PM, said:
OMG ! I might as well re-write the full MSDBuild.exe, but it would be scriptware piracy of DarkShadows' genuine idea...... hey ! look, there's Melinda Gates knocking at your door !
- ← [MDT 2010] Set screen resolution dynamically
- Unattended Windows 2000/XP/2003
- Files on the desktop →



Help

Back to top









