26 #include <boost/static_assert.hpp> 93 header::ArchitectureUnknown,
100 header::ArchitectureUnknown,
151 (void)util::load<boost::uint32_t>(is);
327 boost::int32_t license_size = 0;
328 boost::int32_t info_before_size = 0;
329 boost::int32_t info_after_size = 0;
331 license_size = util::load<boost::int32_t>(is,
version.
bits());
332 info_before_size = util::load<boost::int32_t>(is,
version.
bits());
333 info_after_size = util::load<boost::int32_t>(is,
version.
bits());
425 boost::int32_t code_line_offset = util::load<boost::int32_t>(is);
426 (void)code_line_offset;
506 (void)util::load<boost::uint8_t>(is);
511 flagreader.
add(DisableStartupPrompt);
513 flagreader.add(Uninstallable);
515 flagreader.add(CreateAppDir);
517 flagreader.add(DisableDirPage);
520 flagreader.add(DisableDirExistsWarning);
523 flagreader.add(DisableProgramGroupPage);
525 flagreader.add(AllowNoIcons);
527 flagreader.add(AlwaysRestart);
530 flagreader.add(BackSolid);
532 flagreader.add(AlwaysUsePersonalGroup);
533 flagreader.add(WindowVisible);
534 flagreader.add(WindowShowCaption);
535 flagreader.add(WindowResizable);
536 flagreader.add(WindowStartMaximized);
537 flagreader.add(EnableDirDoesntExistWarning);
539 flagreader.add(DisableAppendDir);
541 flagreader.add(Password);
543 flagreader.add(AllowRootDirectory);
546 flagreader.add(DisableFinishedPage);
550 flagreader.add(AdminPrivilegesRequired);
553 flagreader.add(AlwaysCreateUninstallIcon);
556 flagreader.add(OverwriteUninstRegEntries);
559 flagreader.add(ChangesAssociations);
563 flagreader.add(CreateUninstallRegKey);
566 flagreader.add(UsePreviousAppDir);
569 flagreader.add(BackColorHorizontal);
572 flagreader.add(UsePreviousGroup);
575 flagreader.add(UpdateUninstallLogAppName);
578 flagreader.add(UsePreviousSetupType);
581 flagreader.add(DisableReadyMemo);
582 flagreader.add(AlwaysShowComponentsList);
583 flagreader.add(FlatComponentsList);
584 flagreader.add(ShowComponentSizes);
585 flagreader.add(UsePreviousTasks);
586 flagreader.add(DisableReadyPage);
589 flagreader.add(AlwaysShowDirOnReadyPage);
590 flagreader.add(AlwaysShowGroupOnReadyPage);
593 flagreader.add(BzipUsed);
596 flagreader.add(AllowUNCPath);
599 flagreader.add(UserInfoPage);
600 flagreader.add(UsePreviousUserInfo);
603 flagreader.add(UninstallRestartComputer);
606 flagreader.add(RestartIfNeededByRun);
609 flagreader.add(ShowTasksTreeLines);
612 flagreader.add(ShowLanguageDialog);
615 flagreader.add(DetectLanguageUsingLocale);
618 flagreader.add(AllowCancelDuringInstall);
620 options |= AllowCancelDuringInstall;
623 flagreader.add(WizardImageStretch);
626 flagreader.add(AppendDefaultDirName);
627 flagreader.add(AppendDefaultGroupName);
630 flagreader.add(EncryptionUsed);
633 flagreader.add(ChangesEnvironment);
636 flagreader.add(ShowUndisplayableLanguages);
639 flagreader.add(SetupLogging);
642 flagreader.add(SignedUninstaller);
645 flagreader.add(UsePreviousLanguage);
648 flagreader.add(DisableWelcomePage);
651 flagreader.add(CloseApplications);
652 flagreader.add(RestartApplications);
653 flagreader.add(AllowNetworkDrive);
658 flagreader.add(ForceCloseApplications);
661 flagreader.add(AppNameHasConsts);
662 flagreader.add(UsePreviousPrivileges);
663 flagreader.add(WizardResizable);
687 if(license_size > 0) {
692 if(info_before_size > 0) {
697 if(info_after_size > 0) {
743 NAMES(setup::header::flags,
"Setup Option",
744 "disable startup prompt",
748 "always use personal group",
750 "window show caption",
752 "window start maximized",
753 "enable dir doesn't exist warning",
755 "allow root directory",
756 "disable finished page",
757 "changes associations",
758 "use previous app dir",
759 "back color horizontal",
760 "use previous group",
761 "update uninstall log app name",
762 "use previous setup type",
763 "disable ready memo",
764 "always show components list",
765 "flat components list",
766 "show component sizes",
767 "use previous tasks",
768 "disable ready page",
769 "always show dir on ready page",
770 "always show group on ready page",
773 "use previous user info",
774 "uninstall restart computer",
775 "restart if needed by run",
776 "show tasks tree lines",
777 "allow cancel during install",
778 "wizard image stretch",
779 "append default dir name",
780 "append default group name",
782 "changes environment",
783 "show undisplayable languages",
785 "signed uninstaller",
786 "use previous language",
787 "disable welcome page",
788 "close applications",
789 "restart applications",
790 "allow network drive",
791 "force close applications",
794 "disable program group page",
795 "disable append dir",
796 "admin privilegesrequired",
797 "always create uninstall icon",
798 "create uninstall reg key",
800 "show language dialog",
801 "detect language using locale",
802 "disable dir exists warning",
804 "overwrite uninst reg entries",
807 NAMES(
setup::header::architecture_types, "Architecture",
815 NAMES(
setup::header::privileges_required_overrides, "Priviledge Override"
820 NAMES(
setup::header::alpha_format, "Alpha Format",
826 NAMES(
setup::header::install_verbosity, "Install Mode",
832 NAMES(
setup::header::log_mode, "Uninstall Log Mode",
843 NAMES(
setup::header::auto_bool, "Auto Boolean",
849 NAMES(
setup::header::privilege_level, "Privileges",
856 NAMES(
setup::header::language_detection_method, "Language Detection",
#define NAMES(Enum, Name,...)
boost::uint16_t bits() const
Utility function to load stored data while properly handling encodings and endianness.
#define STORED_FLAGS_MAP(MapName, Flag0,...)
Declare a mapping from bits to flag enum elements to be used for stored_flags.
Load a flag set where the possible flags are known at compile-time.
#define STORED_ENUM_MAP(MapName, Default,...)
Declare a mapping from integers to enum elements to be used for stored_enum.
#define INNO_VERSION(a, b, c)
boost::uint32_t codepage_id
void load(std::istream &is, const version &version)
void add(enum_type flag)
Declare the next possible flag.
#define INNO_VERSION_EXT(a, b, c, d)
stored_bitfield< 256 > stored_char_set
void to_utf8(std::string &data, codepage_id codepage)
Convert a string in place to UTF-8 from a specified encoding.
Load a flag set where the possible flags are not known at compile-time.
Utilities for decoding stored enum values into run-time values.
Convenience specialization of encoded_string for loading Windows-1252 strings.
Wrapper to load a length-prefixed string from an input stream into a std::string.
Inno Setup version number utilities.