tain Posted August 9, 2006 Share Posted August 9, 2006 New version (0.4) is uploaded. The link hasn't changed. Link to comment Share on other sites More sharing options...
sTe Posted August 10, 2006 Share Posted August 10, 2006 I've just ran the winupdl.cmdIt appears to be set for just set WINUPDL_Product=^^Windows XP.* and WINUPDL_ServicePack=Windows XP Service Pack 2.However, looking in my downloads folder I can see files that arent just for XP - q331953_w2k_sp4_x86_en.exeMaybe its just something Im doing wrong?If I re-reun the winupdl.cmd ... will it skip files that already exist?It would be nice if it downloaded to appropriate folders ... ie WinXP, Win2000, Win2003 ... maybe there is an option to do this? Obviously some files would be duplicated in each folder ... but I dont think I mind this ... unless those ones can be downloaded to a folder like "XP and 2003" Link to comment Share on other sites More sharing options...
Camarade_Tux Posted August 10, 2006 Share Posted August 10, 2006 The script is now running and is looking rather good. However, it seems MS'slist is now for Microsoft Update, not just Windows Update so you end up having fixes for Microsoft Office.And, I just received "; This is the Setup information file to install the Windows 98 SE Q239887 Update."Search for "<ProductFamily ProductFamilyID="1" Name="BackOfficeResourceKit" RecentProductVersionID="" />" and "<ServicePack ServicePackID="1" Name=".NET Framework Gold" URL="n/a" ReleaseDate="" />".Also a wonderful feature would be to have 2 simultaneous downloads. Link to comment Share on other sites More sharing options...
tzeentch Posted August 12, 2006 Share Posted August 12, 2006 However, it seems MS'slist is now for Microsoft Update, not just Windows Update so you end up having fixes for Microsoft Office.And, I just received "; This is the Setup information file to install the Windows 98 SE Q239887 Update."However, looking in my downloads folder I can see files that arent just for XP - q331953_w2k_sp4_x86_en.exeDo you mean you run this without any modifications and you end up getting updates for a different product?I'll have to investigate this. On the day that I've released it M$ updated the mssecure file. I don't think it could break something but I'll have a closer look at what have they changed.@Camarade_Tux:Also a wonderful feature would be to have 2 simultaneous downloads.That seems a good thing indeed. I'll have a look how it can be done.As for running this to download things for different versions of windows, I thought about doing it this way:separate configuration to a config fileadd a cmdline switch to select a different config file than the default oneyou can then have two separate config files say one for XP, one for 2K and run it as:winupdl.cmd --profile 2k.confand it would dl things according to 2k.conf which could contain a separate download paths, etc.What do you think about that?Also, @sTe:... will it skip files that already exist?Yes it checks the timestamp of the files and will download only if they changed on the server. Link to comment Share on other sites More sharing options...
Camarade_Tux Posted August 12, 2006 Share Posted August 12, 2006 I tried again without changing anything to the config and it did not only download files for XP SP2.For the profile thing, I think this is good.Another nice addition would be to check if the hotfix does not already exist in another folder as most hotfixes work for more than one platform(folder specified in the config file). Link to comment Share on other sites More sharing options...
Bilou_Gateux Posted August 12, 2006 Share Posted August 12, 2006 (edited) The only script i have ever dreamed about.Parse MSFT own list without effort. but...Expanding mssecure_1033.cab to mssecure.xmlmssecure_1033.cab: 321898 bytes expanded to 2817209 bytes, 775% increase.Parsing updates listError: Document ends too soon in unamed entity at line 1 char 1 of <stdin>Fatal LTSTD error (severity 1) at d:\work\LTXML\src\api\sgmlfiles.c.981: Parserdetected errorList of updates parsedDownloading files from list file: "tmp\winupdl_4548_tmp_DLPaths"and it starts downloading each update for all OS flavors...maybe some inconstitency in current mssecure.xml? Edited August 12, 2006 by Bilou_Gateux Link to comment Share on other sites More sharing options...
tzeentch Posted August 13, 2006 Share Posted August 13, 2006 That is very weird I can't reproduce this bug. I've tried few times but I only get updates for XP (and one for WindowsMedia but it must be marked for XP in mssecure).I'm attaching a script here: winupdl_prep_debug.zip which will save some information that could help me debug that. If you want to try it download it, then unzip to the directory where you have winupdl in. Now you'll have to run it, then run the debug version of script it generates (winupdl-debug.cmd) and after that's finished you have to run it the second time. After that's done you'd have to pack the log and tmp dirs from winupdl directory and send it over so I can have a look. My email is: tzeentch dot gm at googlemail dot comEh, I don't even want to start about Microsoft and it's practices. I've heard recently that they want to move everything to WSUS (aka Windows Server Update Services) and integrate it with Microsoft Update which means the xml file will become obsolete. I think they already stopped supporting it but they update it because the SMS 2.0 still uses that for updates.Well, we shall see. Link to comment Share on other sites More sharing options...
dshadow1 Posted August 15, 2006 Share Posted August 15, 2006 (edited) I think its got something to do with winupdl_7393_tmp_ProductIDswhen you use: set WINUPDL_Product=^^Windows XP.*it produces the winupdl_7393_tmp_ProductIDs with these entries:181 (Windows XP Home Edition)182 (Windows XP Media Center Edition)183 (Windows XP Professional)184 (Windows XP Tablet PC Edition)In STEP 4: extract the location idsggrep -r -q "BulletinDatastore/Bulletins/Bulletin/Patches/Patch[ SeverityID = '^(!WINUPDL_SeverityIDs!|4)' ]" -s ".*/AffectedProduct[ ProductID = '^(!WINUPDL_ProductIDs!|184)' ]/AffectedServicePack[ ServicePackID = '^(244)' ]" -- mssecure.xml | sgmltrans -r tmp\winupdl_15814_tmp_xml.transform | sed -e "s/\t*//g" -e "/^$/d" 1>tmp\winupdl_15814_tmp_PatchLocationIDsError: Document ends too soon in unnamed entity at line 1 char 1 of <stdin>Fatal LTSTD error (severity 1) at D:\work\LTXML\src\api\sgmlfiles.c.981: Parser detected errorit searchs the severity ID (in my case 4) against the product id 184 and servicepackID 244, which comes up with null, so it never creates winupdl_7393_tmp_PatchLocationIDs properly because sggrep throws a parse error or something,(null string?) so when it goes to step 5sggrep -r "BulletinDatastore/Locations/Location[ LocationID = '^()' ]" -- mssecure.xml | sgmltrans -r tmp\winupdl_15814_tmp_xml.transform | sed -e "s/\t*//g" -e "/^$/d" | sed -ne "/\.[Ee][Xx][Ee]/p" 1>tmp\winupdl_15814_tmp_DLPathslocation ID is null. thus it selects all location URLS from mssecure.xml.If you change the WINUPDL_Product variable to WINUPDL_Product=^^Windows XP Professional.*it creates:winupdl_7393_tmp_ProductIDs with this entrie:183 (Windows XP Professional)which runs through without the error, but only d/ls 1 patch..Any ideas>? Edited August 15, 2006 by dshadow1 Link to comment Share on other sites More sharing options...
tzeentch Posted August 16, 2006 Share Posted August 16, 2006 dshadow1, THANKS !!!I don't know if you know how much you've just helped me to find this pesky little bug !!!Haha, so simple! You see, I have some things tweaked in cmd interpreter settings so I just take them for granted See the line of output you quoted with the sggrep command from step 4? I take it it's the output when you turn the echo on. See the part where it says !WINUPDL_ProductIDs! ? Well, that should actually be expanded to the numbers separated with '|'. What that means is that the delayed expansion is not on. I have it on all the time via registry that's why I couldn't reproduce that.I'm working on a bigger update at the minute, to include the separate config files, etc, but I'll patch that tomorrow and release it.If you want to check in the meantime there's a super quick fix: instead of starting the prog by dbl clicking or typing winupdl, type:cmd /v:on /c winupdl.cmdAnyway, next release will contain some more error checking to avoid things like that Link to comment Share on other sites More sharing options...
Camarade_Tux Posted August 16, 2006 Share Posted August 16, 2006 I'm really happy you found this; I'm really impatient to play with your script. Link to comment Share on other sites More sharing options...
tzeentch Posted August 16, 2006 Share Posted August 16, 2006 I'm really happy you found this; I'm really impatient to play with your script. Hehe, glad to here that. Hopefully I'll have some time this week to implement the config files and make the script more robust. The next thing I'll be looking at is simultaneous downloads I'll post a fix for that there 2mrw B) Link to comment Share on other sites More sharing options...
dshadow1 Posted August 17, 2006 Share Posted August 17, 2006 (edited) sggrep -r "BulletinDatastore/Locations/Location[ LocationID = '^(559|968|976|983|988|996|1006|1008|329|1016|1019|1023|1030|1032|1035|1040|1043|1049|1066|1068|1071|1086|1092|1136|1138|1141|1158|1161|1165|1168|1171|1173|1219|1221|1257|1260|1263|1273|1274|1276|1278|1295|1297|1300|1313|1317|1323|1330|1340|1343|1347|1350|1400|1407|1411|1414)' ]" -- mssecure.xml | sgmltrans -r tmp\winupdl_30045_tmp_xml.transform | sed -e "s/\t*//g" -e "/^$/d" | sed -ne "/\.[Ee][Xx][Ee]/p" 1>tmp\winupdl_30045_tmp_DLPathsarrgh thats better , I thought that the query was wrong somehow but now i see it was so simple.Keep going tzeentch your script is really useful! Edited August 17, 2006 by dshadow1 Link to comment Share on other sites More sharing options...
tzeentch Posted August 17, 2006 Share Posted August 17, 2006 Glad to hear that it works!!I've uploaded the bugfix release to TAiN's website. The link is still the same.This one just fixes few of the encountered problems. I hope to release the new version soon as well. Link to comment Share on other sites More sharing options...
Camarade_Tux Posted August 17, 2006 Share Posted August 17, 2006 (edited) Seems to be OK now. ATM I have 13 updates and all are for XP.I'll check if XP SP1 works as good.Keep up. edit : 16 17 updates ok.edit2: 28 OK.And could you display how many updates have to be downloaded ? (I know SP2 needs around 60 but it would be better I think)54 updates, all for XP. Edited August 17, 2006 by Camarade_Tux Link to comment Share on other sites More sharing options...
Camarade_Tux Posted August 17, 2006 Share Posted August 17, 2006 XP SP1 did not work as expected. Back to "Service Pack 2" it works again. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now