Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

SFXCAB.EXE

- - - - -

  • Please log in to reply
30 replies to this topic

#26
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag
@erpdude8

I think you're making this overly complicated :w00t: No other tools than the ones listed before in this topic are required as long as your version of MSCF.sfx is correct. You get the error message because the MSCF.sfx used is actually incorrect. In case of MSCF.sfx its version number is completely irrelevant. The only thing which is important is whether it works or not.

The whole process is very simple:

1. Patch the update.exe
2. Pack to CAB using cabarc.exe.
3. Copy/b mscf.sfx and the CAB you've just created to an .EXE archive.
4. Hex edit the line before update\update.exe.

How to get a working MSCF.sfx (from the other topic):
Spoiler

post-47483-1123010975.png



How to remove advertisement from MSFN

#27
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,410 posts
  • Joined 14-September 05
  • OS:none specified
  • Country: Country Flag
In addition, it's the THIRD "MSCF" - the offset (as shown) is different between older/newer versions. The Program to be executed is irrelevant. Also, there IS a difference between THIS SFX (actually says "SFXCAB.EXE" in the Properties) and another one that uses a DIFFERENT SFX (the one that WildBill refers to needing "patched", AFAICR).

Edited by submix8c, 03 August 2012 - 10:30 AM.

Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image


#28
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,143 posts
  • Joined 24-November 04

Instead of using WildBill's update.exe or BlackWingCat's patch you can just edit the file yourself.

Open update.exe in hex editor and replace the string 0f 86 -> 90 e9

Posted Image


wow tomasz86, that info is very good but finding the hex string "0f 86" is too broad because there are many instances of "0f 86" as I've checked the update.exe file in a hex editor (and some users may get confused as to where to change that hex string to the required kind).

to greatly narrow it down, find the following hex string in a hex editor: D0 0B 01 0F 86
then change the last two bytes in that string to "90 E9" to read "D0 0B 01 90 E9"

#29
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag
@erpdude8

Yes, that post of mine is quite old. Check #25 for the updated info.

post-47483-1123010975.png


#30
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag
UPDATE

This is an update to the post #25. You need to patch the cabbed archive differently depending on whether it's an update or a service pack.

1) Patching update.exe (v. 6.x.x.x) using XVI32:

ECHO>sfxcab.xsc REPLACE 0B 01 04 89 1D BY 0B 01 10 89 1D
START/WAIT xvi32.exe update.exe /S=sfxcab.xsc
DEL sfxcab.xsc

2) Patching the archive (update.cab) before merging it with MSCF.sfx:

Update
ECHO>sfxcab.xsc REPLACE 20 00 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65 BY 60 00 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65
START/WAIT xvi32.exe update.cab /S=sfxcab.xsc
DEL sfxcab.xsc

Service Pack
ECHO>sfxcab.xsc REPLACE 20 00 69 33 38 36 5C 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65 BY 60 00 69 33 38 36 5C 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65
START/WAIT xvi32.exe update.cab /S=sfxcab.xsc
DEL sfxcab.xsc

post-47483-1123010975.png


#31
dencorso

dencorso

    Iuvat plus qui nihil obstat

  • Supervisor
  • 6,113 posts
  • Joined 07-April 07
  • OS:98SE
  • Country: Country Flag

Donator

So, (1) is the new, more generic patch to allow for unsigned updates, and (2) means:

<Update> "update\update.exe", as opposed to <Service Pack> "i386\update\update.exe", the difference being the prepended "i386\", since the 0x20 => 0x60 edit remains the same.

Enlightening, thanks a lot! :thumbup

P.S: @tomasz86: our recent posts got lost in yet another database rollback. So I tried to insert all relevant info from them into this post and the previous one. Please correct me if I forgot anything of importance.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users