Jump to content

Recommended Posts

Posted

as far as I found, there is some incompatibality with NLite component removal. no tweaks or addons are causing failure

  • Replies 1.3k
  • Created
  • Last Reply

Top Posters In This Topic

Posted
yeah this is wanted, i purpously deleted the giberish and lies m$ is feeding while widnows is installing. ;) lol

thats 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.

Posted (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

:inetcplmui
set name=inetcpl
set ext=mui
set big=INETCPL
set com=MU_
if not exist "i386\%big%.[b]cpl.[/b]%com%" set com=mui
if not exist "i386\%big%.[b]cpl.[/b]%com%" goto inetmgr
%xp% "i386\%big%.[b]cpl.[/b]%com%" "%tmp%\%name%.[b]cpl.[/b]%ext%" >nul
if 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% >nul
set com=MU_
%cab% /D CompressionType=LZX /D CompressionMemory=21 "%tmp%\%name%[b]cpl.[/b]%ext%" "i386\%big%.[b]cpl.[/b]%com%" >nul

post-6589-1224498543_thumb.jpg

Edited by Rud
Posted (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 :huh:

This code works?

if it works what does this mean "It works when I manually put inetcpl.mui.res into inetcpl.cpl.mu_."

Edited by ALtF4
Posted (edited)
I didnt understand :huh:

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 by Rud
Posted
humm i thought i had fix this.will do 2nite

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 name

Posted (edited)

Found a bug in Batch-addon beta16!

winntbbu.dll disappeared from i386\ after integration.

Cause:

:winntbbu
title XPtsp script Progress 87%%%...
set name=winntbbu
set ext=dll
set big=WINNTBBU
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=DLL
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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

It should be:

:winntbbu
title XPtsp script Progress 87%%%...
set name=winntbbu
set ext=dll
set big=WINNTBBU
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=dll
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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

Note the change in case from set com=DLL to set com=dll

This bug is also in

:winntbba

:winnt32a

:winnt32u

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)

Edited by Mr_Smartepants
Posted

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

Posted (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 name

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.

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 2004

could 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 by bober
Posted (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 download

ie7 pl

Edited by Rud
Posted
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.

Posted

Hi bober

I 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

Posted (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 Jamshed

I'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.

@ bober

Below 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.

post-6589-1224588997_thumb.jpg

Edited by Rud
Posted (edited)
Found a bug in Batch-addon beta16!

winntbbu.dll disappeared from i386\ after integration.

This bug is also in

:winntbba

:winnt32a

:winnt32u

OK, 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 by Mr_Smartepants
Posted (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:

:winntbbu
title XPtsp script Progress 87%%%...
set name=winntbbu
set ext=dll
set big=WINNTBBU
set com=DL_
if not exist "i386\%big%.%com%" set com=DLL
if not exist "i386\%big%.%com%" goto winntbba
%xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
Del "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% >nul
set com=DLL
%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul

Second, 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 by dougiefresh
Posted (edited)

set name=winntbba
set ext=dll
set big=WINNTBBA
set 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%" >nul
3-if not exist "i386\%big%.%com%" set com=dll
4-if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
5-if not exist "i386\%big%.%com%" goto winnt32a
6-%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% >nul
9-%cp% /v /y "%tmp%\%name%.%ext%" "i386\%big%.%com%" >nul

1a-if WINNTBBA.DL_ is present extract it to i386\temp

2a-delete WINNTBBA.DL_ cause we only need the uncompressed version

3a-if WINNTBBA.DL_ dosent exist set com as dll to search for uncompressed version

4a-if WINNTBBA.dll exists copy it to i386\temp

5a-if WINNTBBA.dll dosent exist jump to next label

6a-del specific objects in winntbba.dll

7a-add resources over winntbba.dll

8a-pe checksum winntbba.dll

9a-copy back to i386 WINNTBBA.dll

yes,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 off
color 3A
mode con cols=67 lines=23
title XPtsp script
set rh=Programs\ResHacker
set pe=Programs\PEChecksum
set cab=Programs\makecab
set xp=Programs\expand
set res=Resources
set tmp=temp
set sptmp=spcabtmp
set spcab=DRIVER.CAB
set xtra=Extra
set ao=-addoverwrite
set del=-delete
set cp=copy
set mcextra=Extra\mce
set homextra=Extra\home
if not exist "%tmp%" md "%tmp%"
:winntbbu
set name=winntbbu
set ext=dll
set big=WINNTBBU
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=dll
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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
:winntbba
set name=winntbba
set ext=dll
set big=WINNTBBA
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=dll
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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
:winnt32a
set name=winnt32a
set ext=dll
set big=WINNT32A
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=dll
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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
:winnt32u
set name=winnt32u
set ext=dll
set big=WINNT32U
set com=DL_
if exist "i386\%big%.%com%" %xp% "i386\%big%.%com%" "%tmp%\%name%.%ext%" >nul
if exist "i386\%big%.%com%" Del "i386\%big%.%com%" >nul
if not exist "i386\%big%.%com%" set com=dll
if exist "i386\%big%.%com%" %cp% "i386\%big%.%com%" "%tmp%\%big%.%com%" >nul
if 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
:end
echo ull have to manualy delete the temp/working/prog/res dirs.
echo looking in the temp dir if the files have ben copied over and
echo modified is a good indication that the process is working,
echo also compair the files in temp with the ones in i386 for reference.
pause

as 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 by bober
Posted

well its not new code, its just snipped out for testing purpouses.

also thx rud for those screen shots you posted earlier

Posted (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. :/

:winntbbu
if not exist "i386\%big%.%com%" goto winntbba

This line should be:

if not exist "%tmp%\%big%.%com%" goto winntbba

Here'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 version

4a-if WINNTBBU.dll exists in i386 copy it to i386\temp

5a-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.dll

7a-add resources over winntbbu.dll

8a-pe checksum winntbbu.dll

9a-copy back to i386 WINNTBBU.dll

Edited by Mr_Smartepants
Guest
This topic is now closed to further replies.



×
×
  • Create New...