Jump to content

Regsvr32 without .bat file...


Recommended Posts

Hello :)

In fact, I'd like to register dll "regsvr32 name.dll" during the installation without using a batch file.

If I could not use GuiRunOnce, it'd be nice too :).

How can I do ?

Thanks :)

Sorry for my English...

Link to comment
Share on other sites


ok

the way i would do that it is using Nlite

there is a tab called unattedned setup -> runOnce

put in there something like this

%source%\settings\runonce.cmd

in the runonce.cmd file

you put in ur commond there

its like a bat file ... type of thing

:)

hope its helps

Link to comment
Share on other sites

Directly put a file called CMDLINES.TXT in $OEM$ and in it type:

[COMMANDS]
REGSVR32 xxxxxxx.DLL

CMDLINES is parsed around T-12, a bit after the middle of the Gui part of setup.

But $OEM$ folders have to work, so not a lot of use in multboot dvds.

Hope this helped! :)

Edited by T D
Link to comment
Share on other sites

Thanks for your answers but, I don't want to use runonce, Guirunonce, .bat file, .cmd file... lol.

I'd like dll to be registered like the others, without using regsvr32 somewhere.

Do you understand ?

Link to comment
Share on other sites

I'd like dll to be registered like the others, without using regsvr32 somewhere.

You want it the hard way :P

You'll have to work hard on this one but I give a way to do it.

1) You need to unlock Windows XP setup and for that you need a patched syssetup.dll

2) You must edit the [OleControlDlls] section of syssetup.inf and add the file you want to register.

I can give you the patched syssetup.dll but for the rest, like I said, you'll have to do some work because I don't know what you are trying to do.

Unlock Windows XP Setup

Edited by jdoe
Link to comment
Share on other sites

I'd like dll to be registered like the others, without using regsvr32 somewhere.

You want it the hard way :P

You'll have to work hard on this one but I give a way to do it.

1) You need to unlock Windows XP setup and for that you need a patched syssetup.dll

2) You must edit the [OleControlDlls] section of syssetup.inf and add the file you want to register.

I can give you the patched syssetup.dll but for the rest, like I said, you'll have to do some work because I don't know what you are trying to do.

Unlock Windows XP Setup

:hello: L'Azimuté !

I would like to do Windows Server 2003 w/SP1 ENU syssetup.dll patching automated with XVI32 script run from the command line. I need to locate the offset where to change some bits.

File compare between original and nLite patched

Search for differences

1. B:\syssetub.dll: 1,047,040 bytes

2. B:\syssetup.dll: 1,047,040 bytes

Offsets: hexadec.

148: 65 F7

149: CE F1

35CB3: 8B 33

35CB4: FF C0

35CB5: 55 C2

35CB6: 8B 04

35CB7: EC 00

36F45: 56 33

36F46: 56 C0

36F47: 56 EB

36F48: 56 29

5B4FE: 75 90

5B4FF: 07 90

13 difference(s) found.

:wacko:

which one should i change? I have PM nuhi hoping he would find some time to answer.

Instead of storing two copy SYSSETUB.DL_ and SYSSETUP.DL_ in source folder and renaming it with nlhive.inf at 1st GUI launch

[Version]

Signature = "$Windows NT$"

[nLite]

HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","nlsf",0x00020000,"cmd.exe /C move /Y ""%SystemRoot%\System32\syssetub.dll"" ""%SystemRoot%\System32\syssetup.dll"""

we can try to reverse patch on the patched DLL and get back to original unpatched syssetup.dll

Could you help me to write the xsc script. Or for starting with this stuff, is the example for patching XP SP2 ENU syssetup.dll according to infos posted at your patches Webpage correct.

something like:

%ProgramFiles%\xvi32\XVI32.exe %temp%\syssetup.dll /S=%ProgramFiles%\xvi32\syssetuprepl.xsc 33679 73 72

REM goto offset %1
ADR $%1
REPLACE %2 BY %3

Merci pour l'aide que tu pourras m'apporter, ami francophone de l'autre côté de l'océan.

Thanks for help.

Edited by Bilou_Gateux
Link to comment
Share on other sites

:hello: L'Azimuté !

I would like to do Windows Server 2003 w/SP1 ENU syssetup.dll patching automated with XVI32 script run from the command line. I need to locate the offset where to change some bits.

File compare between original and nLite patched

Search for differences

1. B:\syssetub.dll: 1,047,040 bytes

2. B:\syssetup.dll: 1,047,040 bytes

Offsets: hexadec.

148: 65 F7

149: CE F1

35CB3: 8B 33

35CB4: FF C0

35CB5: 55 C2

35CB6: 8B 04

35CB7: EC 00

36F45: 56 33

36F46: 56 C0

36F47: 56 EB

36F48: 56 29

5B4FE: 75 90

5B4FF: 07 90

13 difference(s) found.

:wacko:

which one should i change? I have PM nuhi hoping he would find some time to answer.

Instead of storing two copy SYSSETUB.DL_ and SYSSETUP.DL_ in source folder and renaming it with nlhive.inf at 1st GUI launch

[Version]Signature = "$Windows NT$"

[nLite]

HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","nlsf",0x00020000,"cmd.exe /C move /Y ""%SystemRoot%\System32\syssetub.dll"" ""%SystemRoot%\System32\syssetup.dll"""

we can try to reverse patch on the patched DLL and get back to original unpatched syssetup.dll

Could you help me to write the xsc script. Or for starting with this stuff, is the example for patching XP SP2 ENU syssetup.dll according to infos posted at your patches Webpage correct.

something like:

%ProgramFiles%\xvi32\XVI32.exe %temp%\syssetup.dll /S=%ProgramFiles%\xvi32\syssetuprepl.xsc 33679 73 72

REM goto offset %1
ADR $%1
REPLACE %2 BY %3

Merci pour l'aide que tu pourras m'apporter, ami francophone de l'autre côté de l'océan.

Thanks for help.

@Bilou_Gateux

I replied to your PM before reading this post. Now I know what you are trying to do.

Maybe I'm not aware of something but what is the problem with keeping the patched syssetup.dll after the installation.

About reversing the patch, it could be done but I think WFP will block writing the dll.

Like I said in the PM I sent you, it is easy to write a very small program (something like 3-4Kb) that will patch and unpatch from command line with a switch like /P and /U but does Windows will let writing to it without complains. I don't know.

Link to comment
Share on other sites

@jdoe

Thanks.

Here the answer you give through PM.

À l'offset hexadécimal 36F29 ou (225065 décimal), tu trouveras les deux bytes suivant "737A" ce qui représente "jnb 5B3E7BA5" en assembleur (5B3E7BA5 étant où le jump doit aller pour éviter la vérification de la signature de syssetup.inf).

Donc pour éviter cette vérification on n'a qu'à changer jnb par jb ce qui veut dire en résumé qu'à l'offset 36F29 il faut changer 73 par 72.

If we change jnb 5B3E7BA5 to jb 5B3E7BA5 then we skip the verification and our modified SYSSETUP.INF is not recognize as an invalid file. This mean that only one byte patching is needed. So, at offset 36F29 you should read and write the following :

73 7A : jnb 5B3E7BA5

Changed by

72 7A : jb 5B3E7BA5

[EDIT]

Offset address value is for both 2003 Server w/ SP1 ENU or FRA syssetup.dll.

[/EDIT]

And a good hexeditor recommendation from jdoe:

FRee Hex ED

Haven't yet read the help file to check if command line support (unattended) exists?

nLite patched syssetup.dll add more features:

Added automatic hacking of syssetup.dll for OOBE disabling (if you choose to remove it, this will not crack Activation).

SFC is entirely disabled too simply by copying hacked dll from Data and adjusting registry.

Edited by Bilou_Gateux
Link to comment
Share on other sites

  • 9 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...