dscharrer / innoextract

A tool to unpack installers created by Inno Setup
https://constexpr.org/innoextract/
Other
1k stars 125 forks source link

Can't extract Theme Hospital (v3) #121

Closed squigley closed 3 years ago

squigley commented 3 years ago

CorsixTH suggests I use innoextract on the setup binary downloaded from GOG for Theme Hospital to extract the data, but it throws an error.

They are using v2 something of the installer in the example, and what I just downloaded from GOG is v3 ("setup_theme_hospitalv3(28027).exe")

It gives the following output:

Warning: Unexpected Auto Boolean value: 19
Warning: Unexpected Auto Boolean value: 20
Warning: Unexpected trailing byte in UTF-16 string.
Warning: Unexpected data while converting from UTF-16LE to UTF-8.
Warning: Unexpected trailing byte in UTF-16 string.
Warning: Unexpected data while converting from UTF-16LE to UTF-8.
Warning: Unexpected data while converting from UTF-16LE to UTF-8.
Stream error while parsing setup headers!
 ├─ detected setup version: 5.6.2 (unicode)
 └─ error reason: basic_ios::clear: iostream error
If you are sure the setup file is not corrupted, consider 
filing a bug report at http://innoextract.constexpr.org/issues
Done with 1 error and 8 warnings.

The setup is not a corrupt download; I was able to run it with Wine and install it no problem.

dscharrer commented 3 years ago

setup_theme_hospital_v3_(28027).exe from GOG extracts without errors with innoextract version 1.9. Version 1.8 should also work, older versions won't.

squigley commented 3 years ago

Ah. Thanks for looking into this. I used the one provided by Linux Mint 19:

squigley@Latitude-E5530-non-vPro ~/Downloads $ innoextract -v innoextract 1.6 Extracts installers created by Inno Setup 1.2.10 to 5.5.8

I probably should have tried downloading a newer version and trying that first :-)

vv221 commented 3 years ago

@squigley, for an up-to-date innoextract on Linux Mint I suggest using this PPA: Stable Arx Libertatis releases

It is maintained by dscharrer, so you can trust it ;)