Browse Source

Add support for Inno Setup 6.4.0

master
Daniel Scharrer 1 year ago
parent
commit
e58f295d80
  1. 2
      CHANGELOG
  2. 10
      src/setup/header.cpp
  3. 3
      src/setup/version.cpp

2
CHANGELOG

@ -1,7 +1,7 @@
innoextract 1.10 (TBD)
- Added support for Inno Setup 6.3.x installers
- Added preliminary support for Inno Setup 6.4.0
- Added support for Inno Setup 6.4.0 installers
- Added support for a modified Inno Setup 5.3.10 variant
- Added unit tests, enable with BUILD_TESTS
- Replaced USE_ARC4 build option with BUILD_DECRYPTION

10
src/setup/header.cpp

@ -340,8 +340,12 @@ void header::load(std::istream & is, const version & version) {
winver.load(is, version);
if(version < INNO_VERSION_EXT(6, 4, 0, 1)) {
back_color = util::load<boost::uint32_t>(is);
if(version >= INNO_VERSION(1, 3, 3)) {
} else {
back_color = 0;
}
if(version >= INNO_VERSION(1, 3, 3) && version < INNO_VERSION_EXT(6, 4, 0, 1)) {
back_color2 = util::load<boost::uint32_t>(is);
} else {
back_color2 = 0;
@ -588,10 +592,12 @@ header::flags header::load_flags(std::istream & is, const version & version) {
flagreader.add(BackSolid);
}
flagreader.add(AlwaysUsePersonalGroup);
if(version < INNO_VERSION_EXT(6, 4, 0, 1)) {
flagreader.add(WindowVisible);
flagreader.add(WindowShowCaption);
flagreader.add(WindowResizable);
flagreader.add(WindowStartMaximized);
}
flagreader.add(EnableDirDoesntExistWarning);
if(version < INNO_VERSION(4, 1, 2)) {
flagreader.add(DisableAppendDir);
@ -623,7 +629,7 @@ header::flags header::load_flags(std::istream & is, const version & version) {
if(version >= INNO_VERSION(1, 3, 1)) {
flagreader.add(UsePreviousAppDir);
}
if(version >= INNO_VERSION(1, 3, 3)) {
if(version >= INNO_VERSION(1, 3, 3) && version < INNO_VERSION_EXT(6, 4, 0, 1)) {
flagreader.add(BackColorHorizontal);
}
if(version >= INNO_VERSION(1, 3, 10)) {

3
src/setup/version.cpp

@ -184,7 +184,8 @@ const known_version versions[] = {
{ "Inno Setup Setup Data (6.0.0) (u)", INNO_VERSION_EXT(6, 0, 0, 0), version::Unicode },
{ "Inno Setup Setup Data (6.1.0) (u)", INNO_VERSION_EXT(6, 1, 0, 0), version::Unicode },
{ "Inno Setup Setup Data (6.3.0)", INNO_VERSION_EXT(6, 3, 0, 0), version::Unicode },
{ "Inno Setup Setup Data (6.4.0)", INNO_VERSION_EXT(6, 4, 0, 0), version::Unicode },
{ "Inno Setup Setup Data (6.4.0)", /* prerelease */ INNO_VERSION_EXT(6, 4, 0, 0), version::Unicode },
{ "Inno Setup Setup Data (6.4.0.1)", /* 6.4.0 */ INNO_VERSION_EXT(6, 4, 0, 1), version::Unicode },
};
} // anonymous namespace

Loading…
Cancel
Save