+ AddStep<ci::security::StepUpdateTrustAnchor>();
+ AddStep<ci::security::StepUpdateSecurity>();
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Upgrade);
+ AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
+ AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ }
+
+ void WgtInstaller::ReadonlyUpdateUninstallSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::pkgmgr::StepCheckRestriction>();
+ AddStep<ci::pkgmgr::StepCheckRemovable>();
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::BACKUP);
+ AddStep<ci::configuration::StepSwitchReadonlyMode>();
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::configuration::StepParsePreload>();
+ AddStep<wgt::configuration::StepSetOldSignatureFilesLocation>();
+ AddStep<ci::security::StepCheckSignature>();
+ AddStep<ci::configuration::StepSwitchReadonlyMode>();
+ AddStep<ci::pkgmgr::StepKillApps>();
+ AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+ AddStep<ci::filesystem::StepRemoveTep>();
+ AddStep<ci::filesystem::StepRemoveFiles>();
+ AddStep<ci::filesystem::StepRemoveZipImage>();
+ AddStep<ci::pkgmgr::StepUpdateApplication>();
+ AddStep<ci::configuration::StepSwitchReadonlyMode>();
+ AddStep<ci::security::StepUpdateTrustAnchor>();
+ AddStep<ci::security::StepUpdateSecurity>();
+ AddStep<ci::pkgmgr::StepRemoveManifest>();
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Upgrade);
+ }
+
+ void WgtInstaller::ManifestPartialInstallSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<wgt::configuration::StepParse>(
+ wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
+ AddStep<ci::configuration::StepParsePreload>();
+ AddStep<ci::security::StepCheckSignature>();
+ AddStep<ci::security::StepPrivilegeCompatibility>(
+ ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
+ AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
+ AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+ AddStep<ci::pkgmgr::StepRegisterApplication>();
+ AddStep<ci::security::StepRegisterTrustAnchor>();
+ AddStep<ci::security::StepRegisterSecurity>();
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Install);
+ AddStep<ci::filesystem::StepCreatePerUserStorageDirectories>(
+ wgt::filesystem::WgtAdditionalSharedDirs);
+ AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ }
+
+ void WgtInstaller::ManifestPartialUpdateSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<wgt::configuration::StepParse>(
+ wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
+ AddStep<ci::configuration::StepParsePreload>();
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::BACKUP);
+ AddStep<ci::security::StepCheckSignature>();
+ AddStep<ci::security::StepPrivilegeCompatibility>(
+ ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
+ AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
+ AddStep<ci::pkgmgr::StepKillApps>();
+ AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+ AddStep<ci::pkgmgr::StepUpdateApplication>();
+ AddStep<ci::security::StepUpdateTrustAnchor>();
+ AddStep<ci::security::StepUpdateSecurity>();
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(
+ ci::Plugin::ActionType::Upgrade);
+ AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ }
+
+ void WgtInstaller::ManifestPartialUninstallSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::pkgmgr::StepCheckRestriction>();
+ AddStep<ci::pkgmgr::StepCheckRemovable>();
+ AddStep<ci::pkgmgr::StepCheckForceClean>();
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+ AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(
+ ci::Plugin::ActionType::Uninstall);
+ AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
+ AddStep<ci::pkgmgr::StepUnregisterApplication>();
+ AddStep<wgt::encryption::StepRemoveEncryptionData>();
+ AddStep<ci::security::StepUnregisterTrustAnchor>();
+ AddStep<ci::security::StepRevokeSecurity>();
+ }
+
+ void WgtInstaller::MoveSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::pkgmgr::StepKillApps>();
+ AddStep<ci::filesystem::StepMoveInstalledStorage>();
+ AddStep<ci::security::StepRegisterSecurity>();
+ }
+
+ void WgtInstaller::EnablePkgSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::pkgmgr::StepKillApps>();
+ AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
+ ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Enable);
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(
+ ci::Plugin::ActionType::Uninstall);
+ }
+
+ void WgtInstaller::DisablePkgSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::pkgmgr::StepKillApps>();
+ AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
+ ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Disable);
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(
+ ci::Plugin::ActionType::Uninstall);
+ }
+
+ void WgtInstaller::MigrateExtImgSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::security::StepMigrateLegacyExtImage>();
+ AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
+ }
+
+ void WgtInstaller::DefaultSteps() {