diff --git a/BaseTools/Source/Python/UPT/InstallPkg.py b/BaseTools/Source/Python/UPT/InstallPkg.py index 3084b60bff..0e99d2f01f 100644 --- a/BaseTools/Source/Python/UPT/InstallPkg.py +++ b/BaseTools/Source/Python/UPT/InstallPkg.py @@ -1,7 +1,7 @@ ## @file # Install distribution package. # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -556,15 +556,16 @@ def Main(Options = None): Logger.Quiet(ST.MSG_PYTHON_ON % (python_version(), platform) + format_exc()) finally: - Logger.Quiet(ST.MSG_REMOVE_TEMP_FILE_STARTED) - if DistFile: - DistFile.Close() - if ContentZipFile: - ContentZipFile.Close() - if GlobalData.gUNPACK_DIR: - rmtree(GlobalData.gUNPACK_DIR) - GlobalData.gUNPACK_DIR = None - Logger.Quiet(ST.MSG_REMOVE_TEMP_FILE_DONE) + if ReturnCode != UPT_ALREADY_INSTALLED_ERROR: + Logger.Quiet(ST.MSG_REMOVE_TEMP_FILE_STARTED) + if DistFile: + DistFile.Close() + if ContentZipFile: + ContentZipFile.Close() + if GlobalData.gUNPACK_DIR: + rmtree(GlobalData.gUNPACK_DIR) + GlobalData.gUNPACK_DIR = None + Logger.Quiet(ST.MSG_REMOVE_TEMP_FILE_DONE) if ReturnCode == 0: Logger.Quiet(ST.MSG_FINISH) return ReturnCode diff --git a/BaseTools/Source/Python/UPT/Logger/StringTable.py b/BaseTools/Source/Python/UPT/Logger/StringTable.py index 54993f26fe..a3cf29329c 100644 --- a/BaseTools/Source/Python/UPT/Logger/StringTable.py +++ b/BaseTools/Source/Python/UPT/Logger/StringTable.py @@ -1,7 +1,7 @@ ## @file # This file is used to define strings used in the UPT tool # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -781,7 +781,7 @@ WRN_MODULE_EXISTED = _("This module already exists: %s") WRN_FILE_EXISTED = _("This file already exists: %s") WRN_FILE_NOT_OVERWRITTEN = \ _("This file already exist and cannot be overwritten: %s") -WRN_DIST_PKG_INSTALLED = _("This distribution package has been installed") +WRN_DIST_PKG_INSTALLED = _("This distribution package has previously been installed.") WRN_DIST_NOT_FOUND = _( "Distribution is not found at location %s") WRN_MULTI_PCD_RANGES = _( diff --git a/BaseTools/Source/Python/UPT/UPT.py b/BaseTools/Source/Python/UPT/UPT.py index 8ad0f2638f..23aff1c46d 100644 --- a/BaseTools/Source/Python/UPT/UPT.py +++ b/BaseTools/Source/Python/UPT/UPT.py @@ -38,6 +38,7 @@ from Logger.ToolError import OPTION_MISSING from Logger.ToolError import FILE_TYPE_MISMATCH from Logger.ToolError import OPTION_CONFLICT from Logger.ToolError import FatalError +from Logger.ToolError import UPT_ALREADY_INSTALLED_ERROR import MkPkg import InstallPkg @@ -282,7 +283,7 @@ def Main(): format_exc()) finally: try: - if ReturnCode != 0: + if ReturnCode != 0 and ReturnCode != UPT_ALREADY_INSTALLED_ERROR: Logger.Quiet(ST.MSG_RECOVER_START) GlobalData.gDB.RollBack() Mgr.rollback()