Browse Source

Add support for Inno Setup 6.4.0

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

2
CHANGELOG

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

20
src/setup/header.cpp

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

Loading…
Cancel
Save