• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "status_receiver_proxy.h"
17 
18 #include "bundle_mgr_service.h"
19 
20 namespace OHOS {
21 namespace AppExecFwk {
22 namespace {
23 // struct for transform internal error code/message to result which open to developer
24 struct ReceivedResult {
25     int32_t clientCode = -1;
26     const char* clientMessage;
27 };
28 
29 const char* MSG_SUCCESS = "[SUCCESS]";
30 const char* MSG_ERR_INSTALL_INTERNAL_ERROR = "[ERR_INSTALL_INTERNAL_ERROR]";
31 const char* MSG_ERR_INSTALL_HOST_INSTALLER_FAILED = "[ERR_INSTALL_HOST_INSTALLER_FAILED]";
32 const char* MSG_ERR_INSTALL_PARSE_FAILED = "[ERR_INSTALL_PARSE_FAILED]";
33 const char* MSG_ERR_INSTALL_VERSION_DOWNGRADE = "[ERR_INSTALL_VERSION_DOWNGRADE]";
34 const char* MSG_ERR_INSTALL_VERIFICATION_FAILED = "[ERR_INSTALL_VERIFICATION_FAILED]";
35 const char* MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH =
36     "[MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH]";
37 const char* MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE =
38     "[MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE]";
39 const char* MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE]";
40 const char* MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL = "[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL]";
41 const char* MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL = "[MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL]";
42 const char* MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED = "[MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED]";
43 const char* MSG_ERR_INSTALL_FAILED_BAD_DIGEST = "[MSG_ERR_INSTALL_FAILED_BAD_DIGEST]";
44 const char* MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE =
45     "[MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE]";
46 const char* MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE = "[MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE]";
47 const char* MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY = "[MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY]";
48 const char* MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE]";
49 const char* MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL = "[MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL]";
50 const char* MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE =
51     "[MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE]";
52 const char* MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL = "[MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL]";
53 const char* MSG_ERR_INSTALL_FAILED_DEVICE_UNAUTHORIZED = "[MSG_ERR_INSTALL_FAILED_DEVICE_UNAUTHORIZED]";
54 const char* MSG_ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE = "[ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE]";
55 const char* MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE]";
56 const char* MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY = "[MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY]";
57 const char* MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE = "[MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE]";
58 const char* MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM = "[MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM]";
59 const char* MSG_ERR_INSTALL_PARAM_ERROR = "[MSG_ERR_INSTALL_PARAM_ERROR]";
60 const char* MSG_ERR_INSTALL_PERMISSION_DENIED = "[MSG_ERR_INSTALL_PERMISSION_DENIED]";
61 const char* MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST = "[MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST]";
62 const char* MSG_ERR_INSTALL_STATE_ERROR = "[MSG_ERR_INSTALL_STATE_ERROR]";
63 const char* MSG_ERR_INSTALL_FILE_PATH_INVALID = "[MSG_ERR_INSTALL_FILE_PATH_INVALID]";
64 const char* MSG_ERR_INSTALL_INVALID_BUNDLE_FILE = "[ERR_INSTALL_INVALID_BUNDLE_FILE]";
65 const char* MSG_ERR_INSTALL_INVALID_HAP_SIZE = "[ERR_INSTALL_INVALID_HAP_SIZE]";
66 const char* MSG_ERR_INSTALL_GENERATE_UID_ERROR = "[ERR_INSTALL_GENERATE_UID_ERROR]";
67 const char* MSG_ERR_INSTALL_INSTALLD_SERVICE_ERROR = "[ERR_INSTALL_INSTALLD_SERVICE_ERROR]";
68 const char* MSG_ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR = "[ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR]";
69 const char* MSG_ERR_INSTALL_ALREADY_EXIST = "[ERR_INSTALL_ALREADY_EXIST]";
70 const char* MSG_ERR_INSTALL_BUNDLENAME_NOT_SAME = "[ERR_INSTALL_BUNDLENAME_NOT_SAME]";
71 const char* MSG_ERR_INSTALL_VERSIONCODE_NOT_SAME = "[ERR_INSTALL_VERSIONCODE_NOT_SAME]";
72 const char* MSG_ERR_INSTALL_VERSIONNAME_NOT_SAME = "[ERR_INSTALL_VERSIONNAME_NOT_SAME]";
73 const char* MSG_ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME =
74     "[ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME]";
75 const char* MSG_ERR_INSTALL_VENDOR_NOT_SAME = "[ERR_INSTALL_VENDOR_NOT_SAME]";
76 const char* MSG_ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME]";
77 const char* MSG_ERR_INSTALL_RELEASETYPE_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_NOT_SAME]";
78 const char* MSG_ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME]";
79 const char* MSG_ERR_INSTALL_VERSION_NOT_COMPATIBLE = "[ERR_INSTALL_VERSION_NOT_COMPATIBLE]";
80 const char* MSG_ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME = "[ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME]";
81 const char* MSG_ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME = "[ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME]";
82 const char* MSG_ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP = "[ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP]";
83 const char* MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT = "[MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT]";
84 const char* MSG_ERR_NATIVE_INSTALL_FAILED = "[MSG_ERR_NATIVE_INSTALL_FAILED]";
85 const char* MSG_ERR_NATIVE_UNINSTALL_FAILED = "[MSG_ERR_NATIVE_UNINSTALL_FAILED]";
86 const char* MSG_ERR_NATIVE_HNP_EXTRACT_FAILED = "[MSG_ERR_NATIVE_HNP_EXTRACT_FAILED]";
87 const char* MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED =
88     "[MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED]";
89 const char* MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED = "[MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED]";
90 const char* MSG_ERR_INSTALL_SINGLETON_NOT_SAME = "[MSG_ERR_INSTALL_SINGLETON_NOT_SAME]";
91 const char* MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON = "[MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON]";
92 const char* MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED = "[MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED]";
93 const char* MSG_ERR_INSTALL_APPTYPE_NOT_SAME = "[MSG_ERR_INSTALL_APPTYPE_NOT_SAME]";
94 const char* MSG_ERR_INSTALL_URI_DUPLICATE = "[MSG_ERR_INSTALL_URI_DUPLICATE]";
95 const char* MSG_ERR_INSTALL_TYPE_ERROR = "[ERR_INSTALL_TYPE_ERROR]";
96 const char* MSG_ERR_INSTALL_SDK_INCOMPATIBLE = "[ERR_INSTALL_SDK_INCOMPATIBLE]";
97 const char* MSG_ERR_INSTALL_SO_INCOMPATIBLE = "[ERR_INSTALL_SO_INCOMPATIBLE]";
98 const char* MSG_ERR_INSTALL_AN_INCOMPATIBLE = "[ERR_INSTALL_AN_INCOMPATIBLE]";
99 const char* MSG_ERR_INSTALL_PARSE_UNEXPECTED = "[ERR_INSTALL_PARSE_UNEXPECTED]";
100 const char* MSG_ERR_INSTALL_PARSE_MISSING_BUNDLE = "[ERR_INSTALL_PARSE_MISSING_BUNDLE]";
101 const char* MSG_ERR_INSTALL_PARSE_MISSING_ABILITY = "[ERR_INSTALL_PARSE_MISSING_ABILITY]";
102 const char* MSG_ERR_INSTALL_PARSE_NO_PROFILE = "[ERR_INSTALL_PARSE_NO_PROFILE]";
103 const char* MSG_ERR_INSTALL_PARSE_BAD_PROFILE = "[ERR_INSTALL_PARSE_BAD_PROFILE]";
104 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR]";
105 const char* MSG_ERR_INSTALL_PARSE_PROFILE_MISSING_PROP = "[ERR_INSTALL_PARSE_PROFILE_MISSING_PROP]";
106 const char* MSG_ERR_INSTALL_PARSE_PERMISSION_ERROR = "[ERR_INSTALL_PARSE_PERMISSION_ERROR]";
107 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR]";
108 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR]";
109 const char* MSG_ERR_INSTALL_PARSE_RPCID_FAILED = "[ERR_INSTALL_PARSE_RPCID_FAILED]";
110 const char* MSG_ERR_INSTALL_PARSE_NATIVE_SO_FAILED = "[ERR_INSTALL_PARSE_NATIVE_SO_FAILED]";
111 const char* MSG_ERR_INSTALL_PARSE_AN_FAILED = "[ERR_INSTALL_PARSE_AN_FAILED]";
112 
113 const char* MSG_ERR_INSTALLD_CLEAN_DIR_FAILED = "[MSG_ERR_INSTALLD_CLEAN_DIR_FAILED]";
114 const char* MSG_ERR_INSTALLD_RNAME_DIR_FAILED = "[MSG_ERR_INSTALLD_RNAME_DIR_FAILED]";
115 const char* MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED = "[MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED]";
116 const char* MSG_ERR_INSTALLD_REMOVE_DIR_FAILED = "[ERR_INSTALLD_REMOVE_DIR_FAILED]";
117 const char* MSG_ERR_INSTALLD_CHOWN_FAILED = "[ERR_INSTALLD_CHOWN_FAILED,]";
118 const char* MSG_ERR_INSTALLD_CREATE_DIR_EXIST = "[ERR_INSTALLD_CREATE_DIR_EXIST]";
119 const char* MSG_ERR_INSTALLD_CREATE_DIR_FAILED = "[ERR_INSTALLD_CREATE_DIR_FAILED]";
120 const char* MSG_ERR_INSTALLD_GET_PROXY_ERROR = "[ERR_INSTALLD_GET_PROXY_ERROR]";
121 const char* MSG_ERR_INSTALLD_PARAM_ERROR = "[ERR_INSTALLD_PARAM_ERROR]";
122 const char* MSG_ERR_INSTALLD_PERMISSION_DENIED = "[ERR_INSTALLD_PERMISSION_DENIED]";
123 const char* MSG_ERR_INSTALLD_SET_SELINUX_LABEL_FAILED = "[ERR_INSTALLD_SET_SELINUX_LABEL_FAILED]";
124 const char* MSG_ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME = "[ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME]";
125 const char* MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME = "[MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME]";
126 const char* MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE = "[MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE]";
127 const char* MSG_ERR_INSTALL_DISALLOWED = "[MSG_ERR_INSTALL_DISALLOWED]";
128 const char* MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED = "[MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED]";
129 const char* MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED =
130     "[MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED]";
131 const char* MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST = "[MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST]";
132 const char* MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED = "[MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED]";
133 const char* MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME = "[MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME]";
134 const char* MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY = "[MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY]";
135 const char* MSG_ERR_INSTALL_INVALID_HAP_NAME = "[ERR_INSTALL_INVALID_HAP_NAME]";
136 const char* MSG_ERR_INSTALL_PROXY_DATA_URI_WRONG = "[ERR_INSTALL_PROXY_DATA_URI_WRONG]";
137 const char* MSG_ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG = "[ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG]";
138 const char* MSG_ERR_UNINSTALL_PARAM_ERROR = "[ERR_UNINSTALL_PARAM_ERROR]";
139 const char* MSG_ERR_UNINSTALL_PERMISSION_DENIED = "[MSG_ERR_UNINSTALL_PERMISSION_DENIED]";
140 const char* MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED = "[MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED]";
141 const char* MSG_ERR_UNINSTALL_INVALID_NAME = "[ERR_UNINSTALL_INVALID_NAME]";
142 const char* MSG_ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR = "[ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR,]";
143 const char* MSG_ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE = "[ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE]";
144 const char* MSG_ERR_UNINSTALL_MISSING_INSTALLED_MODULE = "[ERR_UNINSTALL_MISSING_INSTALLED_MODULE]";
145 const char* MSG_ERR_UNINSTALL_KILLING_APP_ERROR = "[ERR_UNINSTALL_KILLING_APP_ERROR]";
146 const char* MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR = "[MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR]";
147 const char* MSG_ERR_UNINSTALL_DISALLOWED = "[MSG_ERR_UNINSTALL_DISALLOWED]";
148 const char* MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST = "[ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST]";
149 const char* MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED = "[ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED]";
150 const char* MSG_ERR_UNINSTALL_BUNDLE_IS_SHAED_LIBRARY = "[ERR_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY]";
151 const char* MSG_ERR_UNKNOWN = "[ERR_UNKNOWN]";
152 const char* MSG_ERR_INSTALL_ISOLATION_MODE_FAILED = "[MSG_INSTALL_ISOLATION_MODE_CONFLICTED]";
153 
154 const char* MSG_ERR_RECOVER_GET_BUNDLEPATH_ERROR = "[ERR_RECOVER_GET_BUNDLEPATH_ERROR]";
155 const char* MSG_ERR_RECOVER_INVALID_BUNDLE_NAME = "[ERR_RECOVER_INVALID_BUNDLE_NAME]";
156 const char* MSG_ERR_RECOVER_NOT_ALLOWED = "[ERR_RECOVER_NOT_ALLOWED]";
157 const char* MSG_ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE =
158     "[ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE]";
159 const char* MSG_ERR_FAILED_SERVICE_DIED = "[ERR_FAILED_SERVICE_DIED]";
160 const char* MSG_ERR_FAILED_GET_INSTALLER_PROXY = "[MSG_ERR_FAILED_GET_INSTALLER_PROXY]";
161 const char* MSG_ERR_OPERATION_TIME_OUT = "[MSG_ERR_OPERATION_TIME_OUT]";
162 const char* MSG_ERR_USER_NOT_EXIST = "[ERR_USER_NOT_EXIST]";
163 const char* MSG_ERR_USER_CREATE_FAILED = "[ERR_USER_CREATE_FAILED]";
164 const char* MSG_ERR_USER_REMOVE_FAILED = "[ERR_USER_REMOVE_FAILED]";
165 const char* MSG_ERR_USER_NOT_INSTALL_HAP = "[ERR_USER_NOT_INSTALL_HAP]";
166 const char* MSG_ERR_ASAN_ENABLED_NOT_SAME = "[ERR_INSTALL_ASAN_ENABLED_NOT_SAME]";
167 const char* MSG_ERR_ASAN_ENABLED_NOT_SUPPORT = "[ERR_ASAN_ENABLED_NOT_SUPPORT]";
168 const char* MSG_ERR_INSTALL_BUNDLE_TYPE_NOT_SAME = "[ERR_INSTALL_BUNDLE_TYPE_NOT_SAME]";
169 
170 // overlay installation
171 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR = "[ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR]";
172 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME =
173     "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME]";
174 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME =
175     "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME]";
176 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE = "[ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE]";
177 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE =
178     "[ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE]";
179 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED =
180     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED]";
181 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED =
182     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED]";
183 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME =
184     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME]";
185 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY =
186     "[ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY]";
187 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME =
188     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME]";
189 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY =
190     "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY]";
191 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE =
192     "[ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE]";
193 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION =
194     "[ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION]";
195 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME =
196     "[ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME]";
197 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY =
198     "[ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY]";
199 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE =
200     "[ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE]";
201 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE =
202     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE]";
203 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE =
204     "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE]";
205 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME =
206     "[ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME]";
207 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR =
208     "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR]";
209 const char* MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME = "[MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME]";
210 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED = "[MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED]";
211 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID = "[MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID]";
212 const char* MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED = "[MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED]";
213 const char* MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM = "[MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM]";
214 const char* MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME = "[MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME]";
215 const char* MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED = "[MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED]";
216 const char* MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED
217     = "[MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED]";
218 const char* MSG_ERR_INSTALLD_COPY_FILE_FAILED = "[MSG_ERR_INSTALLD_COPY_FILE_FAILED]";
219 const char* MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME = "[MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME]";
220 const char* MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED = "[MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED]";
221 const char* MSG_ERR_INSTALL_PGO_FILE_IS_INVALID = "[MSG_ERR_INSTALL_PGO_FILE_IS_INVALID]";
222 const char* MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED = "[MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED]";
223 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED =
224     "[MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED]";
225 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED =
226     "[MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED]";
227 const char* MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED =
228     "[MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED]";
229 const char* MSG_ERR_UNINSTALL_CONTROLLED = "[MSG_ERR_UNINSTALL_CONTROLLED]";
230 const char* MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED = "[MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED]";
231 const char* MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL =
232     "[MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL]";
233 const char* MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL =
234     "[MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL]";
235 const char* MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED =
236     "[MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED]";
237 const char* MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE =
238     "[MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE]";
239 const char* MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL  =
240     "[MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL ]";
241 const char* MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL =
242     "[MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL]";
243 const char* MSG_ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER =
244     "[MSG_ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER]";
245 const char* MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED  =
246     "[MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED]";
247 const char* MSG_ERR_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON  =
248     "[MSG_ERR_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON]";
249 const char* MSG_ERR_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS  =
250     "[MSG_ERR_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS]";
251 const char* MSG_ERR_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS  =
252     "[MSG_ERR_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS]";
253 const char* MSG_ERR_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE  =
254     "[MSG_ERR_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE]";
255 
256 const std::unordered_map<int32_t, struct ReceivedResult> MAP_RECEIVED_RESULTS {
257     {ERR_OK, {IStatusReceiver::SUCCESS, MSG_SUCCESS}},
258     {ERR_APPEXECFWK_INSTALL_INTERNAL_ERROR,
259         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
260     {ERR_APPEXECFWK_NULL_PTR,
261         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
262     {ERR_APPEXECFWK_UPDATE_BUNDLE_INSTALL_STATUS_ERROR,
263         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
264     {ERR_APPEXECFWK_RMV_HSP_BY_VERSION_ERROR,
265         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
266     {ERR_APPEXECFWK_GET_INSTALL_TEMP_BUNDLE_ERROR,
267         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
268     {ERR_APPEXECFWK_VERIFY_PKG_INSTALL_ERROR,
269         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
270     {ERR_APPEXECFWK_INIT_INSTALL_TEMP_BUNDLE_ERROR,
271         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
272     {ERR_APPEXECFWK_SAVE_FIRST_INSTALL_BUNDLE_ERROR,
273         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
274     {ERR_APPEXECFWK_RMV_MODULE_ERROR,
275         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
276     {ERR_APPEXECFWK_ADD_MODULE_ERROR,
277         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
278     {ERR_APPEXECFWK_UPDATE_BUNDLE_ERROR,
279         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
280     {ERR_APPEXECFWK_FETCH_BUNDLE_ERROR,
281         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
282     {ERR_APPEXECFWK_HAP_VERIFY_RES_EMPTY,
283         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
284     {ERR_APPEXECFWK_RMV_USERINFO_ERROR,
285         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
286     {ERR_APPEXECFWK_GET_USERINFO_ERROR,
287         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
288     {ERR_APPEXECFWK_ADD_BUNDLE_ERROR,
289         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
290     {ERR_APPEXECFWK_UNINSTALL_ALL_SANDBOX_BUNDLE_ERROR,
291         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
292     {ERR_APPEXECFWK_HAP_ENCRYPTION_CHECK_ERROR,
293         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
294     {ERR_APPEXECFWK_SET_INSTALL_TEMP_BUNDLE_ERROR,
295         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
296     {ERR_APPEXECFWK_INSTALL_HOST_INSTALLER_FAILED,
297         {IStatusReceiver::ERR_INSTALL_HOST_INSTALLER_FAILED, MSG_ERR_INSTALL_HOST_INSTALLER_FAILED}},
298     {ERR_APPEXECFWK_INSTALL_PARSE_FAILED, {IStatusReceiver::ERR_INSTALL_PARSE_FAILED, MSG_ERR_INSTALL_PARSE_FAILED}},
299     {ERR_APPEXECFWK_INSTALL_VERSION_DOWNGRADE,
300         {IStatusReceiver::ERR_INSTALL_VERSION_DOWNGRADE, MSG_ERR_INSTALL_VERSION_DOWNGRADE}},
301     {ERR_APPEXECFWK_INSTALL_VERIFICATION_FAILED,
302         {IStatusReceiver::ERR_INSTALL_VERIFICATION_FAILED, MSG_ERR_INSTALL_VERIFICATION_FAILED}},
303     {ERR_APPEXECFWK_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH,
304         {IStatusReceiver::ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH,
305         MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH}},
306     {ERR_APPEXECFWK_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE,
307         {IStatusReceiver::ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE,
308             MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE}},
309     {ERR_APPEXECFWK_INSTALL_FAILED_NO_BUNDLE_SIGNATURE,
310         {IStatusReceiver::ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE}},
311     {ERR_APPEXECFWK_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL,
312         {IStatusReceiver::ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL, MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL}},
313     {ERR_APPEXECFWK_INSTALL_FAILED_PROFILE_PARSE_FAIL,
314         {IStatusReceiver::ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL, MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL}},
315     {ERR_APPEXECFWK_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED,
316         {IStatusReceiver::ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED, MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED}},
317     {ERR_APPEXECFWK_INSTALL_FAILED_BAD_DIGEST,
318         {IStatusReceiver::ERR_INSTALL_FAILED_BAD_DIGEST, MSG_ERR_INSTALL_FAILED_BAD_DIGEST}},
319     {ERR_APPEXECFWK_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE,
320         {IStatusReceiver::ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE,
321             MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE}},
322     {ERR_APPEXECFWK_INSTALL_FAILED_FILE_SIZE_TOO_LARGE,
323         {IStatusReceiver::ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE, MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE}},
324     {ERR_APPEXECFWK_INSTALL_FAILED_BAD_PUBLICKEY,
325         {IStatusReceiver::ERR_INSTALL_FAILED_BAD_PUBLICKEY, MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY}},
326     {ERR_APPEXECFWK_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE,
327         {IStatusReceiver::ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE}},
328     {ERR_APPEXECFWK_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL,
329         {IStatusReceiver::ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL, MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL}},
330     {ERR_APPEXECFWK_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE,
331         {IStatusReceiver::ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE,
332             MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE}},
333     {ERR_APPEXECFWK_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL,
334         {IStatusReceiver::ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL, MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL}},
335     {ERR_APPEXECFWK_INSTALL_FAILED_DEVICE_UNAUTHORIZED,
336         {IStatusReceiver::ERR_INSTALL_FAILED_DEVICE_UNAUTHORIZED, MSG_ERR_INSTALL_FAILED_DEVICE_UNAUTHORIZED}},
337     {ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE,
338         {IStatusReceiver::ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE}},
339     {ERR_APPEXECFWK_INSTALL_FAILED_INCONSISTENT_SIGNATURE,
340         {IStatusReceiver::ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE, MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE}},
341     {ERR_APPEXECFWK_INSTALL_FAILED_MODULE_NAME_EMPTY,
342         {IStatusReceiver::ERR_INSTALL_FAILED_MODULE_NAME_EMPTY, MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY}},
343     {ERR_APPEXECFWK_INSTALL_FAILED_MODULE_NAME_DUPLICATE,
344         {IStatusReceiver::ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE, MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE}},
345     {ERR_APPEXECFWK_INSTALL_FAILED_CHECK_HAP_HASH_PARAM,
346         {IStatusReceiver::ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM, MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM}},
347     {ERR_APPEXECFWK_INSTALL_PARAM_ERROR,
348         {IStatusReceiver::ERR_INSTALL_PARAM_ERROR, MSG_ERR_INSTALL_PARAM_ERROR}},
349     {ERR_APPEXECFWK_INSTALL_PERMISSION_DENIED,
350         {IStatusReceiver::ERR_INSTALL_PERMISSION_DENIED, MSG_ERR_INSTALL_PERMISSION_DENIED}},
351     {ERR_APPEXECFWK_INSTALL_ENTRY_ALREADY_EXIST,
352         {IStatusReceiver::ERR_INSTALL_ENTRY_ALREADY_EXIST, MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST}},
353     {ERR_APPEXECFWK_INSTALL_STATE_ERROR,
354         {IStatusReceiver::ERR_INSTALL_STATE_ERROR, MSG_ERR_INSTALL_STATE_ERROR}},
355     {ERR_APPEXECFWK_INSTALL_FILE_PATH_INVALID,
356         {IStatusReceiver::ERR_INSTALL_FILE_PATH_INVALID, MSG_ERR_INSTALL_FILE_PATH_INVALID}},
357     {ERR_APPEXECFWK_INSTALL_INVALID_HAP_NAME,
358         {IStatusReceiver::ERR_INSTALL_INVALID_HAP_NAME, MSG_ERR_INSTALL_INVALID_HAP_NAME}},
359     {ERR_APPEXECFWK_INSTALL_INVALID_BUNDLE_FILE,
360         {IStatusReceiver::ERR_INSTALL_INVALID_BUNDLE_FILE, MSG_ERR_INSTALL_INVALID_BUNDLE_FILE}},
361     {ERR_APPEXECFWK_INSTALL_INVALID_HAP_SIZE,
362         {IStatusReceiver::ERR_INSTALL_INVALID_HAP_SIZE, MSG_ERR_INSTALL_INVALID_HAP_SIZE}},
363     {ERR_APPEXECFWK_INSTALL_GENERATE_UID_ERROR,
364         {IStatusReceiver::ERR_INSTALL_GENERATE_UID_ERROR, MSG_ERR_INSTALL_GENERATE_UID_ERROR}},
365     {ERR_APPEXECFWK_INSTALL_INSTALLD_SERVICE_ERROR,
366         {IStatusReceiver::ERR_INSTALL_INSTALLD_SERVICE_ERROR, MSG_ERR_INSTALL_INSTALLD_SERVICE_ERROR}},
367     {ERR_APPEXECFWK_INSTALL_BUNDLE_MGR_SERVICE_ERROR,
368         {IStatusReceiver::ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR, MSG_ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR}},
369     {ERR_APPEXECFWK_INSTALL_ALREADY_EXIST,
370         {IStatusReceiver::ERR_INSTALL_ALREADY_EXIST, MSG_ERR_INSTALL_ALREADY_EXIST}},
371     {ERR_APPEXECFWK_INSTALL_BUNDLENAME_NOT_SAME,
372         {IStatusReceiver::ERR_INSTALL_BUNDLENAME_NOT_SAME, MSG_ERR_INSTALL_BUNDLENAME_NOT_SAME}},
373     {ERR_APPEXECFWK_INSTALL_VERSIONCODE_NOT_SAME,
374         {IStatusReceiver::ERR_INSTALL_VERSIONCODE_NOT_SAME, MSG_ERR_INSTALL_VERSIONCODE_NOT_SAME}},
375     {ERR_APPEXECFWK_INSTALL_VERSIONNAME_NOT_SAME,
376         {IStatusReceiver::ERR_INSTALL_VERSIONNAME_NOT_SAME, MSG_ERR_INSTALL_VERSIONNAME_NOT_SAME}},
377     {ERR_APPEXECFWK_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME,
378         {IStatusReceiver::ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME,
379             MSG_ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME}},
380     {ERR_APPEXECFWK_INSTALL_VENDOR_NOT_SAME,
381         {IStatusReceiver::ERR_INSTALL_VENDOR_NOT_SAME, MSG_ERR_INSTALL_VENDOR_NOT_SAME}},
382     {ERR_APPEXECFWK_INSTALL_RELEASETYPE_TARGET_NOT_SAME,
383         {IStatusReceiver::ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME, MSG_ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME}},
384     {ERR_APPEXECFWK_INSTALL_RELEASETYPE_NOT_SAME,
385         {IStatusReceiver::ERR_INSTALL_RELEASETYPE_NOT_SAME, MSG_ERR_INSTALL_RELEASETYPE_NOT_SAME}},
386     {ERR_APPEXECFWK_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME,
387         {IStatusReceiver::ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME,
388             MSG_ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME}},
389     {ERR_APPEXECFWK_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME,
390         {IStatusReceiver::ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME,
391             MSG_ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME}},
392     {ERR_APPEXECFWK_INSTALL_APP_PROVISION_TYPE_NOT_SAME,
393         {IStatusReceiver::ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME,
394             MSG_ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME}},
395     {ERR_APPEXECFWK_INSTALL_VERSION_NOT_COMPATIBLE,
396         {IStatusReceiver::ERR_INSTALL_VERSION_NOT_COMPATIBLE, MSG_ERR_INSTALL_VERSION_NOT_COMPATIBLE}},
397     {ERR_APPEXECFWK_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP,
398         {IStatusReceiver::ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP, MSG_ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP}},
399     {ERR_APPEXECFWK_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED,
400         {IStatusReceiver::ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED,
401             MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED}},
402     {ERR_APPEXECFWK_INSTALL_UPDATE_HAP_TOKEN_FAILED,
403         {IStatusReceiver::ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED, MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED}},
404     {ERR_APPEXECFWK_INSTALL_SINGLETON_NOT_SAME,
405         {IStatusReceiver::ERR_INSTALL_SINGLETON_NOT_SAME, MSG_ERR_INSTALL_SINGLETON_NOT_SAME}},
406     {ERR_APPEXECFWK_INSTALL_ZERO_USER_WITH_NO_SINGLETON,
407         {IStatusReceiver::ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON, MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON}},
408     {ERR_APPEXECFWK_INSTALL_CHECK_SYSCAP_FAILED,
409         {IStatusReceiver::ERR_INSTALL_CHECK_SYSCAP_FAILED, MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED}},
410     {ERR_APPEXECFWK_INSTALL_APPTYPE_NOT_SAME,
411         {IStatusReceiver::ERR_INSTALL_APPTYPE_NOT_SAME, MSG_ERR_INSTALL_APPTYPE_NOT_SAME}},
412     {ERR_APPEXECFWK_INSTALL_URI_DUPLICATE,
413         {IStatusReceiver::ERR_INSTALL_URI_DUPLICATE, MSG_ERR_INSTALL_URI_DUPLICATE}},
414     {ERR_APPEXECFWK_INSTALL_TYPE_ERROR, {IStatusReceiver::ERR_INSTALL_TYPE_ERROR, MSG_ERR_INSTALL_TYPE_ERROR}},
415     {ERR_APPEXECFWK_INSTALL_SDK_INCOMPATIBLE,
416         {IStatusReceiver::ERR_INSTALL_SDK_INCOMPATIBLE, MSG_ERR_INSTALL_SDK_INCOMPATIBLE}},
417     {ERR_APPEXECFWK_INSTALL_SO_INCOMPATIBLE,
418         {IStatusReceiver::ERR_INSTALL_SO_INCOMPATIBLE, MSG_ERR_INSTALL_SO_INCOMPATIBLE}},
419     {ERR_APPEXECFWK_INSTALL_AN_INCOMPATIBLE,
420         {IStatusReceiver::ERR_INSTALL_AN_INCOMPATIBLE, MSG_ERR_INSTALL_AN_INCOMPATIBLE}},
421     {ERR_APPEXECFWK_INSTALL_DISK_MEM_INSUFFICIENT,
422         {IStatusReceiver::ERR_INSTALL_DISK_MEM_INSUFFICIENT, MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT}},
423     {ERR_APPEXECFWK_NATIVE_INSTALL_FAILED,
424         {IStatusReceiver::ERR_INSTALL_NATIVE_FAILED, MSG_ERR_NATIVE_INSTALL_FAILED}},
425     {ERR_APPEXECFWK_NATIVE_UNINSTALL_FAILED,
426         {IStatusReceiver::ERR_UNINSTALL_NATIVE_FAILED, MSG_ERR_NATIVE_UNINSTALL_FAILED}},
427     {ERR_APPEXECFWK_NATIVE_HNP_EXTRACT_FAILED,
428         {IStatusReceiver::ERR_NATIVE_HNP_EXTRACT_FAILED, MSG_ERR_NATIVE_HNP_EXTRACT_FAILED}},
429     {ERR_APPEXECFWK_PARSE_UNEXPECTED,
430         {IStatusReceiver::ERR_INSTALL_PARSE_UNEXPECTED, MSG_ERR_INSTALL_PARSE_UNEXPECTED}},
431     {ERR_APPEXECFWK_PARSE_MISSING_BUNDLE,
432         {IStatusReceiver::ERR_INSTALL_PARSE_MISSING_BUNDLE, MSG_ERR_INSTALL_PARSE_MISSING_BUNDLE}},
433     {ERR_APPEXECFWK_PARSE_MISSING_ABILITY,
434         {IStatusReceiver::ERR_INSTALL_PARSE_MISSING_ABILITY, MSG_ERR_INSTALL_PARSE_MISSING_ABILITY}},
435     {ERR_APPEXECFWK_PARSE_NO_PROFILE,
436         {IStatusReceiver::ERR_INSTALL_PARSE_NO_PROFILE, MSG_ERR_INSTALL_PARSE_NO_PROFILE}},
437     {ERR_APPEXECFWK_PARSE_BAD_PROFILE,
438         {IStatusReceiver::ERR_INSTALL_PARSE_BAD_PROFILE, MSG_ERR_INSTALL_PARSE_BAD_PROFILE}},
439     {ERR_APPEXECFWK_PARSE_PROFILE_PROP_TYPE_ERROR,
440         {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR, MSG_ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR}},
441     {ERR_APPEXECFWK_PARSE_PROFILE_MISSING_PROP,
442         {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_MISSING_PROP, MSG_ERR_INSTALL_PARSE_PROFILE_MISSING_PROP}},
443     {ERR_APPEXECFWK_PARSE_PERMISSION_ERROR,
444         {IStatusReceiver::ERR_INSTALL_PARSE_PERMISSION_ERROR, MSG_ERR_INSTALL_PARSE_PERMISSION_ERROR}},
445     {ERR_APPEXECFWK_PARSE_PROFILE_PROP_CHECK_ERROR,
446         {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR, MSG_ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR}},
447     {ERR_APPEXECFWK_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR,
448         {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR,
449             MSG_ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR}},
450     {ERR_APPEXECFWK_PARSE_RPCID_FAILED,
451         {IStatusReceiver::ERR_INSTALL_PARSE_RPCID_FAILED, MSG_ERR_INSTALL_PARSE_RPCID_FAILED}},
452     {ERR_APPEXECFWK_PARSE_NATIVE_SO_FAILED,
453         {IStatusReceiver::ERR_INSTALL_PARSE_NATIVE_SO_FAILED, MSG_ERR_INSTALL_PARSE_NATIVE_SO_FAILED}},
454     {ERR_APPEXECFWK_PARSE_AN_FAILED,
455         {IStatusReceiver::ERR_INSTALL_PARSE_AN_FAILED, MSG_ERR_INSTALL_PARSE_AN_FAILED}},
456     {ERR_APPEXECFWK_INSTALL_ASAN_ENABLED_NOT_SAME,
457         {IStatusReceiver::ERR_INSTALL_ASAN_ENABLED_NOT_SAME, MSG_ERR_ASAN_ENABLED_NOT_SAME}},
458     {ERR_APPEXECFWK_INSTALL_ASAN_NOT_SUPPORT,
459         {IStatusReceiver::ERR_INSTALL_ASAN_ENABLED_NOT_SUPPORT, MSG_ERR_ASAN_ENABLED_NOT_SUPPORT}},
460     {ERR_APPEXECFWK_BUNDLE_TYPE_NOT_SAME,
461         {IStatusReceiver::ERR_INSTALL_BUNDLE_TYPE_NOT_SAME, MSG_ERR_INSTALL_BUNDLE_TYPE_NOT_SAME}},
462 
463     {ERR_APPEXECFWK_INSTALLD_CLEAN_DIR_FAILED,
464         {IStatusReceiver::ERR_INSTALLD_CLEAN_DIR_FAILED, MSG_ERR_INSTALLD_CLEAN_DIR_FAILED}},
465     {ERR_APPEXECFWK_INSTALLD_RNAME_DIR_FAILED,
466         {IStatusReceiver::ERR_INSTALLD_RNAME_DIR_FAILED, MSG_ERR_INSTALLD_RNAME_DIR_FAILED}},
467     {ERR_APPEXECFWK_INSTALLD_EXTRACT_FILES_FAILED,
468         {IStatusReceiver::ERR_INSTALLD_EXTRACT_FILES_FAILED, MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED}},
469     {ERR_APPEXECFWK_INSTALLD_EXTRACT_FAILED,
470         {IStatusReceiver::ERR_INSTALL_DISK_MEM_INSUFFICIENT, MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT}},
471     {ERR_APPEXECFWK_INSTALLD_REMOVE_DIR_FAILED,
472         {IStatusReceiver::ERR_INSTALLD_REMOVE_DIR_FAILED, MSG_ERR_INSTALLD_REMOVE_DIR_FAILED}},
473     {ERR_APPEXECFWK_INSTALLD_CHOWN_FAILED, {IStatusReceiver::ERR_INSTALLD_CHOWN_FAILED, MSG_ERR_INSTALLD_CHOWN_FAILED}},
474     {ERR_APPEXECFWK_INSTALLD_CREATE_DIR_EXIST,
475         {IStatusReceiver::ERR_INSTALLD_CREATE_DIR_EXIST, MSG_ERR_INSTALLD_CREATE_DIR_EXIST}},
476     {ERR_APPEXECFWK_INSTALLD_CREATE_DIR_FAILED,
477         {IStatusReceiver::ERR_INSTALLD_CREATE_DIR_FAILED, MSG_ERR_INSTALLD_CREATE_DIR_FAILED}},
478     {ERR_APPEXECFWK_INSTALLD_GET_PROXY_ERROR,
479         {IStatusReceiver::ERR_INSTALLD_GET_PROXY_ERROR, MSG_ERR_INSTALLD_GET_PROXY_ERROR}},
480     {ERR_APPEXECFWK_INSTALLD_PARAM_ERROR, {IStatusReceiver::ERR_INSTALLD_PARAM_ERROR, MSG_ERR_INSTALLD_PARAM_ERROR}},
481     {ERR_APPEXECFWK_INSTALLD_PERMISSION_DENIED, {IStatusReceiver::ERR_INSTALLD_PERMISSION_DENIED,
482         MSG_ERR_INSTALLD_PERMISSION_DENIED}},
483     {ERR_APPEXECFWK_INSTALLD_SET_SELINUX_LABEL_FAILED, {IStatusReceiver::ERR_INSTALLD_SET_SELINUX_LABEL_FAILED,
484         MSG_ERR_INSTALLD_SET_SELINUX_LABEL_FAILED}},
485 
486     {ERR_APPEXECFWK_UNINSTALL_MISSING_INSTALLED_MODULE,
487         {IStatusReceiver::ERR_UNINSTALL_MISSING_INSTALLED_MODULE, MSG_ERR_UNINSTALL_MISSING_INSTALLED_MODULE}},
488     {ERR_APPEXECFWK_UNINSTALL_PARAM_ERROR, {IStatusReceiver::ERR_UNINSTALL_PARAM_ERROR, MSG_ERR_UNINSTALL_PARAM_ERROR}},
489     {ERR_APPEXECFWK_UNINSTALL_PERMISSION_DENIED,
490         {IStatusReceiver::ERR_UNINSTALL_PERMISSION_DENIED, MSG_ERR_UNINSTALL_PERMISSION_DENIED}},
491     {ERR_APPEXECFWK_UNINSTALL_DISPOSED_RULE_FAILED,
492         {IStatusReceiver::ERR_UNINSTALL_DISPOSED_RULE_DENIED, MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED}},
493     {ERR_APPEXECFWK_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR,
494         {IStatusReceiver::ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR, MSG_ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR}},
495     {ERR_APPEXECFWK_UNINSTALL_MISSING_INSTALLED_BUNDLE,
496         {IStatusReceiver::ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE, MSG_ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE}},
497     {ERR_APPEXECFWK_UNINSTALL_KILLING_APP_ERROR,
498         {IStatusReceiver::ERR_UNINSTALL_KILLING_APP_ERROR, MSG_ERR_UNINSTALL_KILLING_APP_ERROR}},
499     {ERR_APPEXECFWK_UNINSTALL_SYSTEM_APP_ERROR,
500         {IStatusReceiver::ERR_UNINSTALL_SYSTEM_APP_ERROR, MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR}},
501     {ERR_APPEXECFWK_UNINSTALL_INVALID_NAME,
502         {IStatusReceiver::ERR_UNINSTALL_INVALID_NAME, MSG_ERR_UNINSTALL_INVALID_NAME}},
503     {ERR_APPEXECFWK_RECOVER_GET_BUNDLEPATH_ERROR,
504         {IStatusReceiver::ERR_RECOVER_GET_BUNDLEPATH_ERROR, MSG_ERR_RECOVER_GET_BUNDLEPATH_ERROR}},
505     {ERR_APPEXECFWK_RECOVER_INVALID_BUNDLE_NAME,
506         {IStatusReceiver::ERR_RECOVER_INVALID_BUNDLE_NAME, MSG_ERR_RECOVER_INVALID_BUNDLE_NAME}},
507     {ERR_APPEXECFWK_RECOVER_NOT_ALLOWED,
508         {IStatusReceiver::ERR_RECOVER_NOT_ALLOWED, MSG_ERR_RECOVER_NOT_ALLOWED}},
509     {ERR_APPEXECFWK_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE,
510         {IStatusReceiver::ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE,
511             MSG_ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE}},
512     {ERR_APPEXECFWK_FAILED_SERVICE_DIED,
513         {IStatusReceiver::ERR_FAILED_SERVICE_DIED, MSG_ERR_FAILED_SERVICE_DIED}},
514     {ERR_APPEXECFWK_FAILED_GET_INSTALLER_PROXY,
515         {IStatusReceiver::ERR_FAILED_GET_INSTALLER_PROXY, MSG_ERR_FAILED_GET_INSTALLER_PROXY}},
516     {ERR_APPEXECFWK_OPERATION_TIME_OUT,
517         {IStatusReceiver::ERR_OPERATION_TIME_OUT, MSG_ERR_OPERATION_TIME_OUT}},
518     {ERR_APPEXECFWK_USER_NOT_EXIST,
519         {IStatusReceiver::ERR_USER_NOT_EXIST, MSG_ERR_USER_NOT_EXIST}},
520     {ERR_APPEXECFWK_USER_CREATE_FAILED,
521         {IStatusReceiver::ERR_USER_CREATE_FAILED, MSG_ERR_USER_CREATE_FAILED}},
522     {ERR_APPEXECFWK_USER_REMOVE_FAILED,
523         {IStatusReceiver::ERR_USER_REMOVE_FAILED, MSG_ERR_USER_REMOVE_FAILED}},
524     {ERR_APPEXECFWK_USER_NOT_INSTALL_HAP,
525         {IStatusReceiver::ERR_USER_NOT_INSTALL_HAP, MSG_ERR_USER_NOT_INSTALL_HAP}},
526     {ERR_APPEXECFWK_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME,
527         {IStatusReceiver::ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME, MSG_ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME}},
528     {ERR_APPEXECFWK_INSTALL_INCONSISTENT_MODULE_NAME,
529         {IStatusReceiver::ERR_INSTALL_INCONSISTENT_MODULE_NAME, MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME}},
530     {ERR_APPEXECFWK_INSTALL_SINGLETON_INCOMPATIBLE,
531         {IStatusReceiver::ERR_INSTALL_SINGLETON_INCOMPATIBLE, MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE}},
532     {ERR_BUNDLE_MANAGER_APP_CONTROL_DISALLOWED_INSTALL,
533         {IStatusReceiver::ERR_INSTALL_DISALLOWED, MSG_ERR_INSTALL_DISALLOWED}},
534     {ERR_BUNDLE_MANAGER_APP_CONTROL_DISALLOWED_UNINSTALL,
535         {IStatusReceiver::ERR_UNINSTALL_DISALLOWED, MSG_ERR_UNINSTALL_DISALLOWED}},
536     {ERR_APPEXECFWK_UNINSTALL_STATE_NOT_ALLOW,
537             {IStatusReceiver::ERR_UNINSTALL_DISALLOWED, MSG_ERR_UNINSTALL_DISALLOWED}},
538     {ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_NOT_EXIST,
539         {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_NOT_EXIST,
540             MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST}},
541     {ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED,
542         {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED,
543             MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED}},
544     {ERR_APPEXECFWK_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY,
545         {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY,
546             MSG_ERR_UNINSTALL_BUNDLE_IS_SHAED_LIBRARY}},
547     {ERR_APPEXECFWK_INSTALL_DEVICE_TYPE_NOT_SUPPORTED,
548         {IStatusReceiver::ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED, MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED}},
549     {ERR_APPEXECFWK_INSTALL_SYSCAP_FAILED_AND_DEVICE_TYPE_ERROR,
550         {IStatusReceiver::ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED,
551             MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED}},
552     {ERR_APPEXECFWK_INSTALL_DEPENDENT_MODULE_NOT_EXIST,
553         {IStatusReceiver::ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST, MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST}},
554     {ERR_APPEXECFWK_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED,
555         {IStatusReceiver::ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED, MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED}},
556     {ERR_APPEXECFWK_INSTALL_COMPATIBLE_POLICY_NOT_SAME,
557         {IStatusReceiver::ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME, MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME}},
558     {ERR_APPEXECFWK_INSTALL_FILE_IS_SHARED_LIBRARY,
559         {IStatusReceiver::ERR_INSTALL_FILE_IS_SHARED_LIBRARY, MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY}},
560     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR,
561         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR,
562             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR}},
563     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME,
564         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME,
565             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME}},
566     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME,
567         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME,
568             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME}},
569     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE,
570         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE,
571             MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE}},
572     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE,
573         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE,
574             MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE}},
575     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED,
576         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED,
577             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED}},
578     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED,
579         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED,
580             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED}},
581     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME,
582         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME,
583             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME}},
584     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY,
585         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY,
586             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY}},
587     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME,
588         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME,
589             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME}},
590     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY,
591         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY,
592             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY}},
593     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE,
594         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE,
595             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE}},
596     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION,
597         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION,
598             MSG_ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION}},
599     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME,
600         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME,
601             MSG_ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME}},
602     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY,
603         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY,
604             MSG_ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY}},
605     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE,
606         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE,
607             MSG_ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE}},
608     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE,
609         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE,
610             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE}},
611     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE,
612         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE,
613             MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE}},
614     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME,
615         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME,
616             MSG_ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME}},
617     {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR,
618         {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR,
619             MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR}},
620     {ERR_APPEXECFWK_INSTALL_CHECK_PROXY_DATA_URI_FAILED,
621         {IStatusReceiver::ERR_INSATLL_CHECK_PROXY_DATA_URI_FAILED,
622             MSG_ERR_INSTALL_PROXY_DATA_URI_WRONG}},
623     {ERR_APPEXECFWK_INSTALL_CHECK_PROXY_DATA_PERMISSION_FAILED,
624         {IStatusReceiver::ERR_INSATLL_CHECK_PROXY_DATA_PERMISSION_FAILED,
625             MSG_ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG}},
626     {ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME,
627         {IStatusReceiver::ERR_INSTALL_FAILED_DEBUG_NOT_SAME, MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME}},
628     {ERR_APPEXECFWK_INSTALL_ISOLATION_MODE_FAILED,
629         {IStatusReceiver::ERR_INSTALL_ISOLATION_MODE_FAILED, MSG_ERR_INSTALL_ISOLATION_MODE_FAILED}},
630     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FAILED,
631         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
632     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_PARAM_INVALID,
633         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
634     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FILE_PATH_INVALID,
635         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
636     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_ENABLE_TIMEOUT,
637         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
638     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_INVALID_OWNER_ID,
639         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
640     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_OPENSSL_BIO,
641         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
642     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_OPENSSL_PKCS7,
643         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
644     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_NO_OWNER_ID,
645         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
646     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FSVERITY_NOT_ENABLED,
647         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
648     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_CS_SUCCESS_END,
649         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
650     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_CS_SUCCESS_END,
651         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
652     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_INVALID_EXTENSION_OFFSET,
653         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
654     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_EXTENSION_SIGN_SIZE,
655         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
656     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_INVALID_PAGE_INFO_EXTENSION,
657         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
658     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FSVREITY_NOT_SUPPORTED,
659         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
660     {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID,
661         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID, MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID}},
662     {ERR_BUNDLE_MANAGER_UNINSTALL_FROM_BMS_EXTENSION_FAILED,
663         {IStatusReceiver::ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED, MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED}},
664     {ERR_APPEXECFWK_INSTALL_SELF_UPDATE_NOT_MDM,
665         {IStatusReceiver::ERR_INSTALL_SELF_UPDATE_NOT_MDM, MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM}},
666     {ERR_APPEXECFWK_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME,
667         {IStatusReceiver::ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME,
668             MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME}},
669     {ERR_APPEXECFWK_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED,
670         {IStatusReceiver::ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED,
671             MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED}},
672     {ERR_APPEXECFWK_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED,
673         {IStatusReceiver::ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED,
674             MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED}},
675     {ERR_APPEXECFWK_INSTALLD_COPY_FILE_FAILED,
676         {IStatusReceiver::ERR_INSTALLD_COPY_FILE_FAILED, MSG_ERR_INSTALLD_COPY_FILE_FAILED}},
677     {ERR_APPEXECFWK_INSTALL_GWP_ASAN_ENABLED_NOT_SAME,
678         {IStatusReceiver::ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME, MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME}},
679     {ERR_APPEXECFWK_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED,
680         {IStatusReceiver::ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED,
681             MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED}},
682     {ERR_APPEXECFWK_INSTALL_CHECK_ENCRYPTION_FAILED,
683         {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
684     {ERR_APPEXECFWK_INSTALL_ENCRYPTION_EXTRACTOR_INIT_FAILED,
685         {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
686     {ERR_APPEXECFWK_INSTALL_ENCRYPTION_OBTAIN_SO_FAILED,
687         {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
688     {ERR_APPEXECFWK_INSTALL_ENCRYPTION_DLL_ERROR,
689         {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
690     {ERR_BUNDLE_MANAGER_CODE_SIGNATURE_DELIVERY_FILE_FAILED,
691         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED,
692             MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED}},
693     {ERR_BUNDLE_MANAGER_CODE_SIGNATURE_REMOVE_FILE_FAILED,
694         {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED,
695             MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED}},
696     {ERR_APPEXECFWK_INSTALL_FAILED_CONTROLLED,
697         {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
698             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
699     {ERR_APPEXECFWK_INSTALL_FAILED_ACCOUNT_CONSTRAINT,
700         {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
701             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
702     {ERR_APPEXECFWK_INSTALL_APP_IN_BLOCKLIST,
703         {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
704             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
705     {ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER,
706         {IStatusReceiver::ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER,
707             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
708     {ERR_APPEXECFWK_INSTALL_PREINSTALL_BUNDLE_ONLY_ALLOW_FORCE_UNINSTALLED_BY_EDC,
709         {IStatusReceiver::ERR_APPEXECFWK_INSTALL_PREINSTALL_BUNDLE_ONLY_ALLOW_FORCE_UNINSTALLED_BY_EDC,
710             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
711     {ERR_APPEXECFWK_UNINSTALL_CONTROLLED,
712         {IStatusReceiver::ERR_UNINSTALL_CONTROLLED,
713             MSG_ERR_UNINSTALL_CONTROLLED}},
714     // debug encrypted bundle not allowed to install, errCode
715     {ERR_APPEXECFWK_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED,
716         {IStatusReceiver::ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED, MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED}},
717     {ERR_APPEXECFWK_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL,
718         {IStatusReceiver::ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL,
719             MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
720     {ERR_APPEXECFWK_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL,
721         {IStatusReceiver::ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL,
722             MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
723     {ERR_APPEXECFWK_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED,
724         {IStatusReceiver::ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED,
725             MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED}},
726     {ERR_APPEXECFWK_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE,
727         {IStatusReceiver::ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE,
728             MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE}},
729     {ERR_APPEXECFWK_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL,
730         {IStatusReceiver::ERR_APPEXECFWK_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL,
731             MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
732     {ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL,
733         {IStatusReceiver::ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL_ISR,
734             MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL}},
735     {ERR_APPEXECFWK_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED,
736         {IStatusReceiver::ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED,
737             MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED}},
738     {ERR_APPEXECFWK_PLUGIN_INSTALL_NOT_ALLOW,
739         {IStatusReceiver::ERR_INSTALL_PARSE_FAILED, MSG_ERR_INSTALL_PARSE_FAILED}},
740     {ERR_APPEXECFWK_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON,
741         {IStatusReceiver::ERR_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON,
742             MSG_ERR_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON}},
743     {ERR_APPEXECFWK_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS,
744         {IStatusReceiver::ERR_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS,
745             MSG_ERR_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS}},
746     {ERR_APPEXECFWK_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS,
747         {IStatusReceiver::ERR_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS,
748             MSG_ERR_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS}},
749     {ERR_APPEXECFWK_INSTALL_U1_ENABLE_NOT_SUPPORT_APP_SERVICE_AND_SHARED_BUNDLE,
750         {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
751             MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
752     {ERR_APPEXECFWK_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE,
753         {IStatusReceiver::ERR_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE,
754             MSG_ERR_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE}},
755     {ERR_APPEXECFWK_DB_SQL_MUST_BE_QUERY_STATEMENT,
756         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
757     {ERR_APPEXECFWK_DB_COLUMN_OUT_OF_BOUNDS,
758         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
759     {ERR_APPEXECFWK_DB_INVALID_DATABASE_PATH,
760         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
761     {ERR_APPEXECFWK_DB_ROW_OUT_OF_BOUNDS,
762         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
763     {ERR_APPEXECFWK_DB_NO_DATA_MEETS_CONDITION,
764         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
765     {ERR_APPEXECFWK_DB_ALREADY_CLOSED,
766         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
767     {ERR_APPEXECFWK_DB_DO_NOT_RESPOND,
768         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
769     {ERR_APPEXECFWK_DB_THE_WAL_FILE_SIZE_OVER_DEFAULT_LIMIT,
770         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
771     {ERR_APPEXECFWK_DB_FAILED_TO_GET_DATA_OBS_MGR_CLIENT,
772         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
773     {ERR_APPEXECFWK_DB_THE_TYPE_OF_DISTRIBUTED_TABLE_NOT_MATCH,
774         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
775     {ERR_APPEXECFWK_DB_IS_FULL,
776         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
777     {ERR_APPEXECFWK_DB_NOT_SUPPORT_THS_SQL,
778         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
779     {ERR_APPEXECFWK_DB_IS_ALREADY_ATTACHED,
780         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
781     {ERR_APPEXECFWK_DB_SQL_GENERIC_ERROR,
782         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
783     {ERR_APPEXECFWK_DB_SQL_CORRUPTED,
784         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
785     {ERR_APPEXECFWK_DB_SQL_CALLBACK_ROUTINE_REQUESTED_AN_ABORT,
786         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
787     {ERR_APPEXECFWK_DB_SQL_ACCESS_PERMISSION_DENIED,
788         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
789     {ERR_APPEXECFWK_DB_SQL_FILE_IS_LOCKED,
790         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
791     {ERR_APPEXECFWK_DB_SQL_TABLE_IS_LOCKED,
792         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
793     {ERR_APPEXECFWK_DB_SQL_DB_IS_OUT_OF_MEMORY,
794         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
795     {ERR_APPEXECFWK_DB_SQL_ATTEMPT_WRITE_READONLY_DB,
796         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
797     {ERR_APPEXECFWK_DB_SQL_SOME_KIND_OF_DISK_IO_ERROR,
798         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
799     {ERR_APPEXECFWK_DB_SQL_UNABLE_OPEN_DB_FILE,
800         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
801     {ERR_APPEXECFWK_DB_SQL_TEXT_OR_BLOB_EXCEED_SIZE_LIMIT,
802         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
803     {ERR_APPEXECFWK_DB_SQL_ABORT_DUE_TO_CONSTRAINT_VIOLATION,
804         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
805     {ERR_APPEXECFWK_DB_SQL_DATA_TYPE_MISMATCH,
806         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
807     {ERR_APPEXECFWK_DB_SQL_LIBRARY_USED_INCORRECTLY,
808         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
809     {ERR_APPEXECFWK_DB_CONFIG_CHANGED,
810         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
811     {ERR_APPEXECFWK_DB_CAPABILITY_NOT_SUPPORT,
812         {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
813 
814 };
815 }  // namespace
816 
StatusReceiverProxy(const sptr<IRemoteObject> & object)817 StatusReceiverProxy::StatusReceiverProxy(const sptr<IRemoteObject> &object) : IRemoteProxy<IStatusReceiver>(object)
818 {
819     APP_LOGD("create status receiver proxy instance");
820 }
821 
~StatusReceiverProxy()822 StatusReceiverProxy::~StatusReceiverProxy()
823 {
824     APP_LOGD("destroy status receiver proxy instance");
825 }
826 
OnStatusNotify(const int32_t progress)827 void StatusReceiverProxy::OnStatusNotify(const int32_t progress)
828 {
829     APP_LOGI("service status %{public}d", progress);
830 
831     MessageParcel data;
832     MessageParcel reply;
833     MessageOption option(MessageOption::TF_SYNC);
834     if (!data.WriteInterfaceToken(StatusReceiverProxy::GetDescriptor())) {
835         APP_LOGE("fail to OnStatusNotify due to write MessageParcel fail");
836         return;
837     }
838 
839     if (!data.WriteInt32(progress)) {
840         APP_LOGE("fail to call OnStatusNotify, for write progress failed");
841         return;
842     }
843 
844     sptr<IRemoteObject> remote = Remote();
845     if (remote == nullptr) {
846         APP_LOGE("fail to call OnStatusNotify, for Remote() is nullptr");
847         return;
848     }
849 
850     int32_t ret =
851         remote->SendRequest(static_cast<int32_t>(StatusReceiverInterfaceCode::ON_STATUS_NOTIFY), data, reply, option);
852     if (ret != NO_ERROR) {
853         APP_LOGE("fail call OnStatusNotify, for transact failed, error code %{public}d", ret);
854     }
855 }
856 
OnFinished(const int32_t resultCode,const std::string & resultMsg)857 void StatusReceiverProxy::OnFinished(const int32_t resultCode, const std::string &resultMsg)
858 {
859     APP_LOGI("result %{public}d, %{public}s", resultCode, resultMsg.c_str());
860     // transform service error code to client error code.
861     TransformResult(resultCode);
862     if (!resultMsg.empty()) {
863         resultMsg_ = resultMsg;
864     }
865     CloseStreamInstaller(streamInstallerId_);
866     MessageParcel data;
867     MessageParcel reply;
868     MessageOption option(MessageOption::TF_SYNC);
869     if (!data.WriteInterfaceToken(StatusReceiverProxy::GetDescriptor())) {
870         APP_LOGE("fail to OnFinished due to write MessageParcel fail");
871         return;
872     }
873 
874     if (!data.WriteInt32(resultCode_)) {
875         APP_LOGE("fail to call OnFinished, for write resultCode_ failed");
876         return;
877     }
878     if (!data.WriteString16(Str8ToStr16(resultMsg_))) {
879         APP_LOGE("fail to call OnFinished, for write resultMsg_ failed");
880         return;
881     }
882     if (!data.WriteInt32(resultCode)) {
883         APP_LOGE("fail to call OnFinished, for write resultCode failed");
884         return;
885     }
886 
887     sptr<IRemoteObject> remote = Remote();
888     if (remote == nullptr) {
889         APP_LOGE("fail to call OnFinished, for Remote() is nullptr");
890         return;
891     }
892 
893     int32_t ret = remote->SendRequest(
894         static_cast<int32_t>(StatusReceiverInterfaceCode::ON_FINISHED), data, reply, option);
895     if (ret != NO_ERROR) {
896         APP_LOGE("fail call OnFinished, for transact failed, error code %{public}d", ret);
897     }
898 }
899 
TransformResult(const int32_t resultCode)900 void StatusReceiverProxy::TransformResult(const int32_t resultCode)
901 {
902     auto result = MAP_RECEIVED_RESULTS.find(resultCode);
903     if (result != MAP_RECEIVED_RESULTS.end()) {
904         resultCode_ = result->second.clientCode;
905         resultMsg_ = result->second.clientMessage;
906     } else {
907         resultCode_ = ERR_UNKNOWN;
908         resultMsg_ = MSG_ERR_UNKNOWN;
909     }
910     APP_LOGD("result transformed is %{public}d, %{public}s", resultCode_, resultMsg_.c_str());
911 }
912 
CloseStreamInstaller(uint32_t installerId)913 void StatusReceiverProxy::CloseStreamInstaller(uint32_t installerId)
914 {
915     if (installerId <= 0) {
916         APP_LOGE("installer id: %{public}u", installerId);
917         return;
918     }
919     sptr<IBundleInstaller> bundleInstaller = DelayedSingleton<BundleMgrService>::GetInstance()->GetBundleInstaller();
920     if (bundleInstaller == nullptr) {
921         APP_LOGE("bundle install is nullptr");
922         return;
923     }
924     bundleInstaller->DestoryBundleStreamInstaller(installerId);
925     streamInstallerId_ = 0;
926 }
927 
SetStreamInstallId(uint32_t installerId)928 void StatusReceiverProxy::SetStreamInstallId(uint32_t installerId)
929 {
930     streamInstallerId_ = installerId;
931 }
932 }  // namespace AppExecFwk
933 }  // namespace OHOS
934