On Sunday 28 December 2003 02:53 pm, Stefan Leichter wrote: > Hello, > > during playing with ie5.5 installer i noticed that the installing of some > cab files failed directly after the extract call. Doing exactly the same > extract call with the same cabinet file and the same content of the first > parameter i got a crash with native cabinet dll. The debugger shows at the > end of the function a "ret 8" assembler comand. > This means to remove 8 words (not bytes) from the stack because the segment > attribute is set to 32 bit (the pop command right before the ret is done > for a 32 bit register and does not have the opcode 0x66 in front to change > the register length). > Therefore the function extract must have 4 parameters instead of two. > > The bad thing is that the installer throws an exception instead of > aborting. > > ChangeLog > -------------- > the function ectract has four parameters not two
Hmm, sounds like you are more of a natural at deducing this stuff than I, so I am happy to defer to your judgement... but I am slightly surprised, as I vaguely recall convincing myself that I had verified that it was right. Since ie5setup was probably my test app, maybe I added arguments until I stopped seeing winedbg, and declared it to be a success :P ... or did someone else do this part? Can't remember. No objection -- if its an improvement in ie5setup, it's surely right. Just thinking "aloud". Thanks for debugging this. Out of curiosity, was it w98 or NT you were (not) emulating? -- gmt "It is to be the assent and ratification of the several States, derived from the supreme authority in each State, the authority of the people themselves. �The act, therefore, establishing the Constitution, will not be a NATIONAL, but a FEDERAL act." --James Madison, Federalist No. 39
