VOGONS

Common searches


First post, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Jane's Fleet Command uses a InstallShield Wizard that doesn't even work in Windows XP. It just says the executable is not Win32. As soon as I execute it in Windows 98SE it launches and allows me to install the game. Can anyone explain what's going on? Some special PE header?

previously known as Discrete_BOB_058

Reply 1 of 9, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

It's possibly it's a 16bit executable and NTVDM is broken on your system. Are you able to run DOS games in the command prompt in XP on your system?
If it's just the setup executable you can post it here.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 9, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
DosFreak wrote on 2022-04-09, 12:34:

It's possibly it's a 16bit executable and NTVDM is broken on your system. Are you able to run DOS games in the command prompt in XP on your system?
If it's just the setup executable you can post it here.

I tested it on Windows 11 first. I even had NTVDMx64 as well as OTVDM installed. Both fail.

On XP, NTVDM works, at least I can play Prince of Persia 1989

Attachments

previously known as Discrete_BOB_058

Reply 3 of 9, by crazyc

User metadata
Rank Member
Rank
Member

It's because the image is corrupt as far as NT is concerned. NT checks the file header more closely than 9x and the last file section extends past the end of the file. If you use a pe editor and change the size of the .rsrc section from 0x1567 to 0xdf8 then it works. The attached image is fixed.

Attachments

  • Filename
    Setup (2).zip
    File size
    33.37 KiB
    Downloads
    48 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 9, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
crazyc wrote on 2022-04-09, 21:47:

It's because the image is corrupt as far as NT is concerned. NT checks the file header more closely than 9x and the last file section extends past the end of the file. If you use a pe editor and change the size of the .rsrc section from 0x1567 to 0xdf8 then it works. The attached image is fixed.

Actually EA released this in this form. On their website, I just found another executable which they say is the IS executable for Win2k/XP. Now no wonder why.

previously known as Discrete_BOB_058

Reply 5 of 9, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
crazyc wrote on 2022-04-09, 21:47:

It's because the image is corrupt as far as NT is concerned. NT checks the file header more closely than 9x and the last file section extends past the end of the file. If you use a pe editor and change the size of the .rsrc section from 0x1567 to 0xdf8 then it works. The attached image is fixed.

Hmm I downloaded PE Tools and changed the .rsrc section and now it works properly and as I thought it was the PE issues only. Thanks for your efforts. How do you manage to find the section which is corrupted and what to change it with?

previously known as Discrete_BOB_058

Reply 6 of 9, by crazyc

User metadata
Rank Member
Rank
Member

If you load it into windbg as a dump file it'll give the error "Image region 10a00:1567 does not fit in mapping". This isn't immediately obvious what it means but 0x10a00 is the load address for the last section and 0x1567 the size in the header. 0x10a00 + 0x1567 = 0x11f67 while the actual file size is 0x11800. 0x11800 - 0x10a00 = 0xdf8.

Reply 7 of 9, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
crazyc wrote on 2022-04-10, 13:47:

If you load it into windbg as a dump file it'll give the error "Image region 10a00:1567 does not fit in mapping". This isn't immediately obvious what it means but 0x10a00 is the load address for the last section and 0x1567 the size in the header. 0x10a00 + 0x1567 = 0x11f67 while the actual file size is 0x11800. 0x11800 - 0x10a00 = 0xdf8.

I am sorry but the subtraction: 0x11800 - 0x10a00 = 0xE00. Am I wrong here?

previously known as Discrete_BOB_058

Reply 9 of 9, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
crazyc wrote on 2022-04-10, 18:21:

Right, I guess I was looking at the wrong number when I did the subtraction at first. Thankfully in this case the last 8 bytes of the file are 0 so it doesn't matter.

Yes you are right. It was same.

previously known as Discrete_BOB_058