Browse Source

Add experimental support for Inno Setup <1.2.10

This is based entirely on the Inno Setup 1.2 changelog:
 http://www.jrsoftware.org/files/is1.2-whatsnew.htm

No versions were tested due to lack of available installers.
pull/108/head
Daniel Scharrer 7 years ago
parent
commit
e4b448d9b7
  1. 8
      src/setup/file.cpp
  2. 8
      src/setup/header.cpp
  3. 4
      src/setup/registry.cpp

8
src/setup/file.cpp

@ -130,8 +130,12 @@ void file_entry::load(std::istream & is, const version & version) {
}
flagreader.add(CompareTimeStamp);
flagreader.add(FontIsNotTrueType);
flagreader.add(SkipIfSourceDoesntExist);
flagreader.add(OverwriteReadOnly);
if(version >= INNO_VERSION(1, 2, 5)) {
flagreader.add(SkipIfSourceDoesntExist);
}
if(version >= INNO_VERSION(1, 2, 6)) {
flagreader.add(OverwriteReadOnly);
}
if(version >= INNO_VERSION(1, 3, 21)) {
flagreader.add(OverwriteSameVersion);
flagreader.add(CustomDestName);

8
src/setup/header.cpp

@ -525,8 +525,12 @@ void header::load(std::istream & is, const version & version) {
flagreader.add(DisableAppendDir);
}
flagreader.add(Password);
flagreader.add(AllowRootDirectory);
flagreader.add(DisableFinishedPage);
if(version >= INNO_VERSION(1, 2, 6)) {
flagreader.add(AllowRootDirectory);
}
if(version >= INNO_VERSION(1, 2, 14)) {
flagreader.add(DisableFinishedPage);
}
if(version.bits() != 16) {
if(version < INNO_VERSION(3, 0, 4)) {
flagreader.add(AdminPrivilegesRequired);

4
src/setup/registry.cpp

@ -111,7 +111,9 @@ void registry_entry::load(std::istream & is, const version & version) {
flagreader.add(UninsClearValue);
flagreader.add(UninsDeleteEntireKey);
flagreader.add(UninsDeleteEntireKeyIfEmpty);
flagreader.add(PreserveStringType);
if(version >= INNO_VERSION(1, 2, 6)) {
flagreader.add(PreserveStringType);
}
if(version >= INNO_VERSION(1, 3, 9)) {
flagreader.add(DeleteKey);
flagreader.add(DeleteValue);

Loading…
Cancel
Save