OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Utilities => Topic started by: Tiny Frogware on June 12, 2023, 11:01:47 pm

Title: Innoextract Port?
Post by: Tiny Frogware on June 12, 2023, 11:01:47 pm
Hello,

  I was wondering if anyone had attempted to port Innoextract to OS/2? For those not familiar with it, it's an open source tool to unpack install/setup files created for Windows by Inno Setup. You can read more about Innoextract here:

https://constexpr.org/innoextract/

 I'm interested in a version for OS/2 so that I can extract my games purchased from Good Old Games, http://www.gog.com and run them under OS/2 using Dosbox/2. Gog has them packaged to install under Windows and run with a Win version of Dosbox. I could install on a Win machine and copy the files over to my Os/2 box, but would rather not.

  The Innoextract tool also runs under many flavors of Linux. I think the main roadblock in porting it would be the Boost C++ libraries it depends on. Boost is open source too and it would need to be ported to OS/2 as well.

  I welcome thoughts and opinions from all. I would love to try porting it myself but not sure where to start or if it's even viable.

Thanks,

  Tony.
Title: Re: Innoextract Port?
Post by: Martin Iturbide on June 13, 2023, 03:53:13 am
Hi Tony.

Sorry that I don't know about how to port.

About the GOG games, how does they came package? Is it an .exe windows file? if so, have you tried with Odin to see if they unpack. Just try "pe <filename>.exe".

Regards
Title: Re: Innoextract Port?
Post by: Dave Yeo on June 13, 2023, 04:44:00 am
I tried innoextract.exe with Odin, just silently exits. Wonder how much of Boost it needs? Just the headers or some of the libraries.
Title: Re: Innoextract Port?
Post by: Tiny Frogware on June 13, 2023, 11:50:00 am
Thanks for the replies guys.

Martin:
 The Gog files are indeed Windows .exe's but unfortunately no luck running them successfully under Odin. And as Dave mentions, Innoextract doesn't work any better under Odin.

Dave:
 From what I've read, most of the Boost libraries are just headers only, however, as luck would have it the 5 specific libraries needed to build Innoextract, are not. They include iostreams, filesystem, date_time, system and program_options. Although system is just a stub library provided for compatibility so it's actually header only now.

  I'm still reading and researching on porting this. I'm going to see how far I can get. Hopefully it will end with success. Again, thoughts, opinions, etc. are always welcome.

Thanks,

  Tony.
Title: Re: Innoextract Port?
Post by: Paul Smedley on June 13, 2023, 12:08:43 pm
Almost builds for me, 1x missing symbol:
Undefined Symbol                Referenced by
================                =============

__ZN5boost9iostreams6detail10bzip2_base3endEbSt9nothrow_t U:/tmp\ldconv_chunk_cpp_o_7ca64883fce1eb5a0.obj(U:\DEV\innoextract-1.9\src\stream\chunk.cpp)

Seems my boost build has no bzip support....
Title: Re: Innoextract Port?
Post by: Tiny Frogware on June 13, 2023, 12:47:25 pm
Hello Paul,

 Thanks for giving it a try. I appreciate it. At least I know that it can be done if Boost.IOStreams can be built with  zlib and bzip2 support. I say if, because I have no idea what is involved in doing so and/or how difficult it would be.

  I'm still in the process of getting my system setup with all the needed resources and development tools needed to give it a try myself.

Thanks,

  Tony.
Title: Re: Innoextract Port?
Post by: Paul Smedley on June 13, 2023, 11:10:48 pm
I think I'm winning:
Code: [Select]
    - zlib                     : yes
    - bzip2                    : yes
    - lzma                     : yes

I got an exe - but unfortunately it traps on startup....
Code: [Select]
U:\DEV\INNOEXTRACT-1.9\BUILD\INNOEXTRACT.EXE
INNOEXTR 2:000ff6e0
cs:eip=0008:0032f6e0      ss:esp=0000:00000000      ebp=00000053
 ds=0000      es=0000      fs=0000      gs=0000     efl=00000000
eax=0032f3c8 ebx=1ffc9d54 ecx=0032f3dc edx=0032f400 edi=00000000 esi=0032ff9c
Creating 30DC_01.TRP
Moved 30dc_01.TRP to C:\var\log\app\64896387-30dc_01-INNOEXTRACT-exceptq.txt
Title: Re: Innoextract Port?
Post by: TeLLie on June 13, 2023, 11:49:29 pm
Hi all,

I also tried to compile it, using boost 1.57.0
Here its starts...
F:\Request\innoextract-1.9\cmake-920-qt632>innoextract.exe -v
innoextract 1.9
Extracts installers created by Inno Setup 1.2.10 to 6.0.5

But have no idea how to use it...
And not sure it works either...
Title: Re: Innoextract Port?
Post by: Dave Yeo on June 14, 2023, 01:58:23 am
innoextract.exe --help
Title: Re: Innoextract Port?
Post by: Tiny Frogware on June 14, 2023, 12:19:44 pm
Hi all,

I also tried to compile it, using boost 1.57.0
Here its starts...
F:\Request\innoextract-1.9\cmake-920-qt632>innoextract.exe -v
innoextract 1.9
Extracts installers created by Inno Setup 1.2.10 to 6.0.5

But have no idea how to use it...
And not sure it works either...

Hello Tellie,

  Good news! It works!  :) I just finished trying it on 4 different Gog games and was successful at extracting each one! Having an OS/2 version makes things much easier.

  Thanks again for your time and efforts. And thanks to Paul and Dave for their time, efforts and feedback as well.

  I'm still going to try and see if I can compile it successfully myself just to see if I can and in case there are any future changes needed.

Thanks!

  Tony.