Proxis Posted October 19, 2008 Posted October 19, 2008 as far as I found, there is some incompatibality with NLite component removal. no tweaks or addons are causing failure
bober Posted October 19, 2008 Author Posted October 19, 2008 all i have to say about n lite is its only good for integrating stuff period.
Rud Posted October 19, 2008 Posted October 19, 2008 yeah this is wanted, i purpously deleted the giberish and lies m$ is feeding while widnows is installing. lolthats what i thought, you have to understand that an installer running later in the windows process cannot be patched cause the files arent present in i386 when xptsp is patching.true addons overwrite files in the source so they are available and dont change later in the install process.so if you want ure ie7 to be patched plz use a true addon or unpack the ie7 installer and manualy patch them and rebuild the installer.also: there will be some work to do on ieframe.dll.seems ms has change the layout of the dialog,as everythign used to be centered but now after updating to the latest ie7 hotfixes and manualy patchign the resources the avi dl dialog is no longer centered.i will wait a while b4 updatign cause 1st,there are no updated ie7 true addons available and what good is it to include the fixed res files to patch a file a certain way when it is not available yet...so once the ie7 true addosn are released ill fix it.I'm not sure but that file INETCPL.CPL.MU_ before integration of ie7 didn't exist in i386. After the integration that file has version 7.00.5730.13.INETCPL.CPL.MU_ should be updated by inetcpl.mui.res. I didn't check every resources but it seems that only that INETCPL.CPL.MU_ wasn't updated. I'll try to update it manually and let you know if it works.
bober Posted October 20, 2008 Author Posted October 20, 2008 (edited) its included with the ie7 addons. Edited October 20, 2008 by bober
Rud Posted October 20, 2008 Posted October 20, 2008 (edited) its included with the ie7 addons.In my case it isn't. nLite expand that ie7 installer and inset in i386.It works when I manually put inetcpl.mui.res into inetcpl.cpl.mu_.Edit:Helps:inetcplmuiset name=inetcplset ext=muiset big=INETCPLset com=MU_if not exist "i386\%big%.[b]cpl.[/b]%com%" set com=muiif not exist "i386\%big%.[b]cpl.[/b]%com%" goto inetmgr%xp% "i386\%big%.[b]cpl.[/b]%com%" "%tmp%\%name%.[b]cpl.[/b]%ext%" >nulif exist "i386\%name%.[b]cpl.[/b]%ext%" Del "i386\%name%.[b]cpl.[/b]%ext%" >nul%rh% %ao% "%tmp%\%name%.[b]cpl.[/b]%ext%", "%tmp%\%name%.[b]cpl.[/b]%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.[b]cpl.[/b]%ext%%pe% -c %tmp%\%name%.[b]cpl.[/b]%ext% >nulset com=MU_%cab% /D CompressionType=LZX /D CompressionMemory=21 "%tmp%\%name%[b]cpl.[/b]%ext%" "i386\%big%.[b]cpl.[/b]%com%" >nul Edited October 20, 2008 by Rud
bober Posted October 20, 2008 Author Posted October 20, 2008 humm i thought i had fix this.will do 2nite
Guest ALtF4 Posted October 20, 2008 Posted October 20, 2008 (edited) In my case it isn't. nLite expand that ie7 installer and inset in i386.It works when I manually put inetcpl.mui.res into inetcpl.cpl.mu_.I didnt understand This code works?if it works what does this mean "It works when I manually put inetcpl.mui.res into inetcpl.cpl.mu_." Edited October 20, 2008 by ALtF4
Rud Posted October 20, 2008 Posted October 20, 2008 (edited) I didnt understand This code works?if it works what does this mean "It works when I manually put inetcpl.mui.res into inetcpl.cpl.mu_."English is not my native language. I'd meant I copied resources from inetcpl.mui.res to uncompressed inetcpl.cpl.mu_I updated this file manually, so I found that it works in installer of XP. Later I checked the batch and correct it and gave you code. Edited October 20, 2008 by Rud
Kaylar Posted October 20, 2008 Posted October 20, 2008 humm i thought i had fix this.will do 2nitethe actual code is working if U use Onepiece IE7. U can add a new section in order to patch also inetcpl.cpl.mui if it is found with this name
Mr_Smartepants Posted October 20, 2008 Posted October 20, 2008 (edited) Found a bug in Batch-addon beta16!winntbbu.dll disappeared from i386\ after integration.Cause::winntbbutitle XPtsp script Progress 87%%%...set name=winntbbuset ext=dllset big=WINNTBBUset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=DLLif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto winntbba%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nulIt should be::winntbbutitle XPtsp script Progress 87%%%...set name=winntbbuset ext=dllset big=WINNTBBUset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=dllif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto winntbba%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nulNote the change in case from set com=DLL to set com=dllThis bug is also in :winntbba:winnt32a:winnt32uAnother 'annoyance' I just noticed with beta16 batch-addon is bober's added a check in the batch file to look for \i386\driver and if it's there to halt the integration.I use AutoImage and perform all integrations in one shot, this new batch file breaks that. I've altered the batch file to remove the check and everything is fine for me. (But I use OnePiece's AIO updatepack) Edited October 20, 2008 by Mr_Smartepants
Proxis Posted October 20, 2008 Posted October 20, 2008 I found cause of failure!b16 is breaking, if Windows Update is removed.b02-b15 working OK without WU.ps. I'm working almost every day in nLite since year 2004
bober Posted October 20, 2008 Author Posted October 20, 2008 (edited) Hi,sorry if it's a stupid question, but is this like X-Pize (double-click, uninstall)? Or do I need to make a clean install to use it?Thanks in advance!well this tool is to patch ure windows install source.so in order for the patch process to work you must dump the contents of a win xp disc and run the tool .the actual code is working if U use Onepiece IE7. U can add a new section in order to patch also inetcpl.cpl.mui if it is found with this nameyeah thats exactly what im gonna do, but i wonder what addon it is, and what cab archive the rest of the files are in,cause im sure there are more files not getting patched.Another 'annoyance' I just noticed with beta16 batch-addon is bober's added a check in the batch file to look for \i386\driver and if it's there to halt the integration.I use AutoImage and perform all integrations in one shot, this new batch file breaks that. I've altered the batch file to remove the check and everything is fine for me. (But I use OnePiece's AIO updatepack)well its kinda of a good annoyance as if the addon is ran along side an update pack,the modification wont be applied.ull have to keep manually removing the check.about the winn* files.its strange that they get deleted,i would have noticed.mine dont get deleted and i dont think the case should matter.ill change it but i still find it very odd.thx for the input.I found cause of failure!b16 is breaking, if Windows Update is removed.b02-b15 working OK without WU.ps. I'm working almost every day in nLite since year 2004could you list the files removed is you can.@ RUD: can you show me what ie7 addon ure using.and how you integrate it to ure source. Edited October 20, 2008 by bober
Rud Posted October 20, 2008 Posted October 20, 2008 (edited) yeah thats exactly what im gonna do, but i wonder what addon it is, and what cab archive the rest of the files are in,cause im sure there are more files not getting patched.well its kinda of a good annoyance as if the addon is ran along side an update pack,the modification wont be applied.ull have to keep manually removing the check.about the winn* files.its strange that they get deleted,i would have noticed.mine dont get deleted and i dont think the case should matter.ill change it but i still find it very odd.thx for the input.could you list the files removed is you can.In my case there is no extra CAB, I guess that installer ie7 replaces ie6 and most of that files are uncompressed. That files are localized in i386.You can downloadie7 pl Edited October 20, 2008 by Rud
bober Posted October 20, 2008 Author Posted October 20, 2008 and how do you integrate it to ure source?
Rud Posted October 21, 2008 Posted October 21, 2008 and how do you integrate it to ure source?by nLite.First all hotfixes released after SP3, next that ie7, after that two hotfixes of ie7.
Muhammad Jamshed Posted October 21, 2008 Posted October 21, 2008 Hi boberI have an XP SP2 source and sp3 file from Microsoft.Now first i integrate sp3 over sp2 source and then slipstream xpsp3 onepeice aio upate pack.Then i use nlite for customizations and finally an ISO.Can you help me that after which stage should i use your xp theme patcher
Rud Posted October 21, 2008 Posted October 21, 2008 (edited) In Polish and I guess in others languages too (besides English) there are files which have multiple resources.I think that aren't necessary English version of resources besides Polish in files: WINNT32A.DLL, WINNT32U.DLL, WINNTBBA.DLL, WINNTBBU.DLL.You can loose several MBs if remove AVIs, Bitmaps, Dialogues, Icons. Maybe someone knows reason existence those two different ID of resources?@ Muhammad JamshedI'm not bober but you should use XPtsp between stage customization and making iso. In details, use nLite for customization without making iso (leave it), next use XPtsp, and again use nLite only choosing option iso.@ boberBelow is comparison two folders \i386 with subfolders. First XP PRO SP3 PL, second XP PRO SP3 PL integrated ie7 PL and hotfixes:KB950759, KB953838. Integrated by nLite. Edited October 21, 2008 by Rud
Rud Posted October 21, 2008 Posted October 21, 2008 (edited) There are lists with new files after ie7 + hotfixes. Edited October 21, 2008 by Rud
Mr_Smartepants Posted October 21, 2008 Posted October 21, 2008 (edited) Found a bug in Batch-addon beta16!winntbbu.dll disappeared from i386\ after integration.This bug is also in :winntbba:winnt32a:winnt32uOK, the bug still exists in the batch addon. I don't know what's going on in the code, but the final product doesn't get copied back to \i386\Is there a way to implement logging? At least a 'debug' mode? Edited October 21, 2008 by Mr_Smartepants
dougiefresh Posted October 21, 2008 Posted October 21, 2008 (edited) Bober: First, I noticed that in your code, you appear to expand the compressed file, delete the compressed file, then check to see if it exists. If it doesn't exist, the code skips to the next section. So, you need to change the code to something like::winntbbutitle XPtsp script Progress 87%%%...set name=winntbbuset ext=dllset big=WINNTBBUset com=DL_if not exist "i386\%big%.%com%" set com=DLLif not exist "i386\%big%.%com%" goto winntbba%xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulDel "i386\%big%.%com%" >nul%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nulset com=DLL%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nulSecond, you need to add SET COM=DLL to the copy right before the %cp% statement to make sure you copy it to the correct file extension. Or, you need to change the %cp% statement to a %cab% statement to compress the file. I guess either way you need to add a SET COM statement in your code.... Edited October 21, 2008 by dougiefresh
bober Posted October 21, 2008 Author Posted October 21, 2008 (edited) set name=winntbbaset ext=dllset big=WINNTBBAset com=DL_1-if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul 2-if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul3-if not exist "i386\%big%.%com%" set com=dll4-if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul5-if not exist "i386\%big%.%com%" goto winnt32a6-%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,7-%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%8-%pe% -c %tmp%\%name%.%ext% >nul9-%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul1a-if WINNTBBA.DL_ is present extract it to i386\temp2a-delete WINNTBBA.DL_ cause we only need the uncompressed version3a-if WINNTBBA.DL_ dosent exist set com as dll to search for uncompressed version4a-if WINNTBBA.dll exists copy it to i386\temp5a-if WINNTBBA.dll dosent exist jump to next label6a-del specific objects in winntbba.dll7a-add resources over winntbba.dll8a-pe checksum winntbba.dll9a-copy back to i386 WINNTBBA.dllyes,the scripting is not optimal,some lines could have ben done in one instance.but when i edited the batch and decided to add certain lines to take care of files that may be present twice b oth in its compressed and uncompressed stated. it was just too crazy for me to remove some lines while adding others (theres what 6000 lines in the batch?),so i opted to just add lines.and yes some times the case dosent match,but it has no impact on the process.the way the winnt* file are patched is in case they are present twice or if either only the compressed version is present or vice versa.when i made the modification these 4 lables,i made sure to test and re-rest the posibilities,and each time the resulting file was an uncompressed winnt*.dll file with no compressed duplicate. i urge people to test as i have done in the past.so simply test the code concerning only these 4 files and see.pls test by putting both compressed and uncompressed file to the i386 dir, then test with only thoses files compressed and finaly test with only uncompressed files.i can asure you the outcome will always be 4 uncompressed files with no compressed duplicates:@echo offcolor 3Amode con cols=67 lines=23title XPtsp scriptset rh=Programs\ResHackerset pe=Programs\PEChecksumset cab=Programs\makecabset xp=Programs\expandset res=Resourcesset tmp=tempset sptmp=spcabtmpset spcab=DRIVER.CABset xtra=Extraset ao=-addoverwriteset del=-deleteset cp=copyset mcextra=Extra\mceset homextra=Extra\homeif not exist "%tmp%" md "%tmp%":winntbbuset name=winntbbuset ext=dllset big=WINNTBBUset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=dllif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto winntbba%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul:winntbbaset name=winntbbaset ext=dllset big=WINNTBBAset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=dllif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto winnt32a%rh% %del% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", stringtable,,%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul:winnt32aset name=winnt32aset ext=dllset big=WINNT32Aset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=dllif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto winnt32u%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul:winnt32uset name=winnt32uset ext=dllset big=WINNT32Uset com=DL_if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nulif exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nulif not exist "i386\%big%.%com%" set com=dllif exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nulif not exist "i386\%big%.%com%" goto end%rh% %ao% "%tmp%\%name%.%ext%", "%tmp%\%name%.%ext%", "%res%\%name%.%ext%.res",,,&echo patching %name%.%ext%%pe% -c %tmp%\%name%.%ext% >nul%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul:endecho ull have to manualy delete the temp/working/prog/res dirs.echo looking in the temp dir if the files have ben copied over andecho modified is a good indication that the process is working,echo also compair the files in temp with the ones in i386 for reference.pauseas stated a couple of posts back im getting more and more school work and will not be able to maintain, update, fix etc.. this project. Edited October 21, 2008 by bober
Rud Posted October 22, 2008 Posted October 22, 2008 That example works for me. The Winnt* are changed.
Mr_Smartepants Posted October 22, 2008 Posted October 22, 2008 Thanks bober, I'll give that new code a shot when I get home.
bober Posted October 22, 2008 Author Posted October 22, 2008 well its not new code, its just snipped out for testing purpouses.also thx rud for those screen shots you posted earlier
Mr_Smartepants Posted October 22, 2008 Posted October 22, 2008 (edited) Thanks bober, I'll give that new code a shot when I get home.Didn't work in the batch addon. I watched the patching process in the cmd window and winntbbu.dll didn't even get patched (I copied it from the \temp\ dir before the patcher cleaned up).It got decompressed, then renamed to .dll, then got skipped over. In short, it didn't work.I think what's happening is meant to happen in the batch. :/:winntbbuif not exist "i386\%big%.%com%" goto winntbbaThis line should be: if not exist "%tmp%\%big%.%com%" goto winntbbaHere's my reasoning:1a-if WINNTBBU.DL_ is present in i386 extract it to i386\temp.2a-delete WINNTBBU.DL_ from i386 cause we only need the uncompressed version 3a-if WINNTBBU.DL_ dosent exist in i386 set com as dll to search for uncompressed version4a-if WINNTBBU.dll exists in i386 copy it to i386\temp5a-if WINNTBBU.dll dosent exist in i386/temp jump to next label (it should be sitting in i386\temp anyway because it was copied twice above, if it's not there now, it won't be)6a-del specific objects in winntbbu.dll7a-add resources over winntbbu.dll8a-pe checksum winntbbu.dll9a-copy back to i386 WINNTBBU.dll Edited October 22, 2008 by Mr_Smartepants
Recommended Posts