winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

AppInstallerErrors.h (20234B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include <winget/LocIndependent.h>
      5 #include <wil/result_macros.h>
      6 
      7 #ifndef WINGET_DISABLE_FOR_FUZZING
      8 #include <winrt/base.h>
      9 #endif
     10 
     11 #include <exception>
     12 #include <memory>
     13 #include <string>
     14 #include <utility>
     15 #include <vector>
     16 
     17 
     18 #define APPINSTALLER_CLI_ERROR_FACILITY 0xA15
     19 
     20 // Changes to any of these errors require the corresponding resource string in winget.resw to be updated.
     21 #define APPINSTALLER_CLI_ERROR_INTERNAL_ERROR                       ((HRESULT)0x8A150001)
     22 #define APPINSTALLER_CLI_ERROR_INVALID_CL_ARGUMENTS                 ((HRESULT)0x8A150002)
     23 #define APPINSTALLER_CLI_ERROR_COMMAND_FAILED                       ((HRESULT)0x8A150003)
     24 #define APPINSTALLER_CLI_ERROR_MANIFEST_FAILED                      ((HRESULT)0x8A150004)
     25 #define APPINSTALLER_CLI_ERROR_CTRL_SIGNAL_RECEIVED                 ((HRESULT)0x8A150005)
     26 #define APPINSTALLER_CLI_ERROR_SHELLEXEC_INSTALL_FAILED             ((HRESULT)0x8A150006)
     27 #define APPINSTALLER_CLI_ERROR_UNSUPPORTED_MANIFESTVERSION          ((HRESULT)0x8A150007)
     28 #define APPINSTALLER_CLI_ERROR_DOWNLOAD_FAILED                      ((HRESULT)0x8A150008)
     29 #define APPINSTALLER_CLI_ERROR_CANNOT_WRITE_TO_UPLEVEL_INDEX        ((HRESULT)0x8A150009)
     30 #define APPINSTALLER_CLI_ERROR_INDEX_INTEGRITY_COMPROMISED          ((HRESULT)0x8A15000A)
     31 #define APPINSTALLER_CLI_ERROR_SOURCES_INVALID                      ((HRESULT)0x8A15000B)
     32 #define APPINSTALLER_CLI_ERROR_SOURCE_NAME_ALREADY_EXISTS           ((HRESULT)0x8A15000C)
     33 #define APPINSTALLER_CLI_ERROR_INVALID_SOURCE_TYPE                  ((HRESULT)0x8A15000D)
     34 #define APPINSTALLER_CLI_ERROR_PACKAGE_IS_BUNDLE                    ((HRESULT)0x8A15000E)
     35 #define APPINSTALLER_CLI_ERROR_SOURCE_DATA_MISSING                  ((HRESULT)0x8A15000F)
     36 #define APPINSTALLER_CLI_ERROR_NO_APPLICABLE_INSTALLER              ((HRESULT)0x8A150010)
     37 #define APPINSTALLER_CLI_ERROR_INSTALLER_HASH_MISMATCH              ((HRESULT)0x8A150011)
     38 #define APPINSTALLER_CLI_ERROR_SOURCE_NAME_DOES_NOT_EXIST           ((HRESULT)0x8A150012)
     39 #define APPINSTALLER_CLI_ERROR_SOURCE_ARG_ALREADY_EXISTS            ((HRESULT)0x8A150013)
     40 #define APPINSTALLER_CLI_ERROR_NO_APPLICATIONS_FOUND                ((HRESULT)0x8A150014)
     41 #define APPINSTALLER_CLI_ERROR_NO_SOURCES_DEFINED                   ((HRESULT)0x8A150015)
     42 #define APPINSTALLER_CLI_ERROR_MULTIPLE_APPLICATIONS_FOUND          ((HRESULT)0x8A150016)
     43 #define APPINSTALLER_CLI_ERROR_NO_MANIFEST_FOUND                    ((HRESULT)0x8A150017)
     44 #define APPINSTALLER_CLI_ERROR_EXTENSION_PUBLIC_FAILED              ((HRESULT)0x8A150018)
     45 #define APPINSTALLER_CLI_ERROR_COMMAND_REQUIRES_ADMIN               ((HRESULT)0x8A150019)
     46 #define APPINSTALLER_CLI_ERROR_SOURCE_NOT_SECURE                    ((HRESULT)0x8A15001A)
     47 #define APPINSTALLER_CLI_ERROR_MSSTORE_BLOCKED_BY_POLICY            ((HRESULT)0x8A15001B)
     48 #define APPINSTALLER_CLI_ERROR_MSSTORE_APP_BLOCKED_BY_POLICY        ((HRESULT)0x8A15001C)
     49 #define APPINSTALLER_CLI_ERROR_EXPERIMENTAL_FEATURE_DISABLED        ((HRESULT)0x8A15001D)
     50 #define APPINSTALLER_CLI_ERROR_MSSTORE_INSTALL_FAILED               ((HRESULT)0x8A15001E)
     51 #define APPINSTALLER_CLI_ERROR_COMPLETE_INPUT_BAD                   ((HRESULT)0x8A15001F)
     52 #define APPINSTALLER_CLI_ERROR_YAML_INIT_FAILED                     ((HRESULT)0x8A150020)
     53 #define APPINSTALLER_CLI_ERROR_YAML_INVALID_MAPPING_KEY             ((HRESULT)0x8A150021)
     54 #define APPINSTALLER_CLI_ERROR_YAML_DUPLICATE_MAPPING_KEY           ((HRESULT)0x8A150022)
     55 #define APPINSTALLER_CLI_ERROR_YAML_INVALID_OPERATION               ((HRESULT)0x8A150023)
     56 #define APPINSTALLER_CLI_ERROR_YAML_DOC_BUILD_FAILED                ((HRESULT)0x8A150024)
     57 #define APPINSTALLER_CLI_ERROR_YAML_INVALID_EMITTER_STATE           ((HRESULT)0x8A150025)
     58 #define APPINSTALLER_CLI_ERROR_YAML_INVALID_DATA                    ((HRESULT)0x8A150026)
     59 #define APPINSTALLER_CLI_ERROR_LIBYAML_ERROR                        ((HRESULT)0x8A150027)
     60 #define APPINSTALLER_CLI_ERROR_MANIFEST_VALIDATION_WARNING          ((HRESULT)0x8A150028)
     61 #define APPINSTALLER_CLI_ERROR_MANIFEST_VALIDATION_FAILURE          ((HRESULT)0x8A150029)
     62 #define APPINSTALLER_CLI_ERROR_INVALID_MANIFEST                     ((HRESULT)0x8A15002A)
     63 #define APPINSTALLER_CLI_ERROR_UPDATE_NOT_APPLICABLE                ((HRESULT)0x8A15002B)
     64 #define APPINSTALLER_CLI_ERROR_UPDATE_ALL_HAS_FAILURE               ((HRESULT)0x8A15002C)
     65 #define APPINSTALLER_CLI_ERROR_INSTALLER_SECURITY_CHECK_FAILED      ((HRESULT)0x8A15002D)
     66 #define APPINSTALLER_CLI_ERROR_DOWNLOAD_SIZE_MISMATCH               ((HRESULT)0x8A15002E)
     67 #define APPINSTALLER_CLI_ERROR_NO_UNINSTALL_INFO_FOUND              ((HRESULT)0x8A15002F)
     68 #define APPINSTALLER_CLI_ERROR_EXEC_UNINSTALL_COMMAND_FAILED        ((HRESULT)0x8A150030)
     69 #define APPINSTALLER_CLI_ERROR_ICU_BREAK_ITERATOR_ERROR             ((HRESULT)0x8A150031)
     70 #define APPINSTALLER_CLI_ERROR_ICU_CASEMAP_ERROR                    ((HRESULT)0x8A150032)
     71 #define APPINSTALLER_CLI_ERROR_ICU_REGEX_ERROR                      ((HRESULT)0x8A150033)
     72 #define APPINSTALLER_CLI_ERROR_IMPORT_INSTALL_FAILED                ((HRESULT)0x8A150034)
     73 #define APPINSTALLER_CLI_ERROR_NOT_ALL_PACKAGES_FOUND               ((HRESULT)0x8A150035)
     74 #define APPINSTALLER_CLI_ERROR_JSON_INVALID_FILE                    ((HRESULT)0x8A150036)
     75 #define APPINSTALLER_CLI_ERROR_SOURCE_NOT_REMOTE                    ((HRESULT)0x8A150037)
     76 #define APPINSTALLER_CLI_ERROR_UNSUPPORTED_RESTSOURCE               ((HRESULT)0x8A150038)
     77 #define APPINSTALLER_CLI_ERROR_RESTSOURCE_INVALID_DATA              ((HRESULT)0x8A150039)
     78 #define APPINSTALLER_CLI_ERROR_BLOCKED_BY_POLICY                    ((HRESULT)0x8A15003A)
     79 #define APPINSTALLER_CLI_ERROR_RESTAPI_INTERNAL_ERROR               ((HRESULT)0x8A15003B)
     80 #define APPINSTALLER_CLI_ERROR_RESTSOURCE_INVALID_URL               ((HRESULT)0x8A15003C)
     81 #define APPINSTALLER_CLI_ERROR_RESTAPI_UNSUPPORTED_MIME_TYPE        ((HRESULT)0x8A15003D)
     82 #define APPINSTALLER_CLI_ERROR_RESTSOURCE_INVALID_VERSION           ((HRESULT)0x8A15003E)
     83 #define APPINSTALLER_CLI_ERROR_SOURCE_DATA_INTEGRITY_FAILURE        ((HRESULT)0x8A15003F)
     84 #define APPINSTALLER_CLI_ERROR_STREAM_READ_FAILURE                  ((HRESULT)0x8A150040)
     85 #define APPINSTALLER_CLI_ERROR_PACKAGE_AGREEMENTS_NOT_ACCEPTED      ((HRESULT)0x8A150041)
     86 #define APPINSTALLER_CLI_ERROR_PROMPT_INPUT_ERROR                   ((HRESULT)0x8A150042)
     87 #define APPINSTALLER_CLI_ERROR_UNSUPPORTED_SOURCE_REQUEST           ((HRESULT)0x8A150043)
     88 #define APPINSTALLER_CLI_ERROR_RESTAPI_ENDPOINT_NOT_FOUND           ((HRESULT)0x8A150044)
     89 #define APPINSTALLER_CLI_ERROR_SOURCE_OPEN_FAILED                   ((HRESULT)0x8A150045)
     90 #define APPINSTALLER_CLI_ERROR_SOURCE_AGREEMENTS_NOT_ACCEPTED       ((HRESULT)0x8A150046)
     91 #define APPINSTALLER_CLI_ERROR_CUSTOMHEADER_EXCEEDS_MAXLENGTH       ((HRESULT)0x8A150047)
     92 #define APPINSTALLER_CLI_ERROR_MISSING_RESOURCE_FILE                ((HRESULT)0x8A150048)
     93 #define APPINSTALLER_CLI_ERROR_MSI_INSTALL_FAILED                   ((HRESULT)0x8A150049)
     94 #define APPINSTALLER_CLI_ERROR_INVALID_MSIEXEC_ARGUMENT             ((HRESULT)0x8A15004A)
     95 #define APPINSTALLER_CLI_ERROR_FAILED_TO_OPEN_ALL_SOURCES           ((HRESULT)0x8A15004B)
     96 #define APPINSTALLER_CLI_ERROR_DEPENDENCIES_VALIDATION_FAILED       ((HRESULT)0x8A15004C)
     97 #define APPINSTALLER_CLI_ERROR_MISSING_PACKAGE                      ((HRESULT)0x8A15004D)
     98 #define APPINSTALLER_CLI_ERROR_INVALID_TABLE_COLUMN                 ((HRESULT)0x8A15004E)
     99 #define APPINSTALLER_CLI_ERROR_UPGRADE_VERSION_NOT_NEWER            ((HRESULT)0x8A15004F)
    100 #define APPINSTALLER_CLI_ERROR_UPGRADE_VERSION_UNKNOWN              ((HRESULT)0x8A150050)
    101 #define APPINSTALLER_CLI_ERROR_ICU_CONVERSION_ERROR                 ((HRESULT)0x8A150051)
    102 #define APPINSTALLER_CLI_ERROR_PORTABLE_INSTALL_FAILED              ((HRESULT)0x8A150052)
    103 #define APPINSTALLER_CLI_ERROR_PORTABLE_REPARSE_POINT_NOT_SUPPORTED ((HRESULT)0x8A150053)
    104 #define APPINSTALLER_CLI_ERROR_PORTABLE_PACKAGE_ALREADY_EXISTS      ((HRESULT)0x8A150054)
    105 #define APPINSTALLER_CLI_ERROR_PORTABLE_SYMLINK_PATH_IS_DIRECTORY   ((HRESULT)0x8A150055)
    106 #define APPINSTALLER_CLI_ERROR_INSTALLER_PROHIBITS_ELEVATION        ((HRESULT)0x8A150056)
    107 #define APPINSTALLER_CLI_ERROR_PORTABLE_UNINSTALL_FAILED            ((HRESULT)0x8A150057)
    108 #define APPINSTALLER_CLI_ERROR_ARP_VERSION_VALIDATION_FAILED        ((HRESULT)0x8A150058)
    109 #define APPINSTALLER_CLI_ERROR_UNSUPPORTED_ARGUMENT                 ((HRESULT)0x8A150059)
    110 #define APPINSTALLER_CLI_ERROR_BIND_WITH_EMBEDDED_NULL              ((HRESULT)0x8A15005A)
    111 #define APPINSTALLER_CLI_ERROR_NESTEDINSTALLER_NOT_FOUND            ((HRESULT)0x8A15005B)
    112 #define APPINSTALLER_CLI_ERROR_EXTRACT_ARCHIVE_FAILED               ((HRESULT)0x8A15005C)
    113 #define APPINSTALLER_CLI_ERROR_NESTEDINSTALLER_INVALID_PATH         ((HRESULT)0x8A15005D)
    114 #define APPINSTALLER_CLI_ERROR_PINNED_CERTIFICATE_MISMATCH          ((HRESULT)0x8A15005E)
    115 #define APPINSTALLER_CLI_ERROR_INSTALL_LOCATION_REQUIRED            ((HRESULT)0x8A15005F)
    116 #define APPINSTALLER_CLI_ERROR_ARCHIVE_SCAN_FAILED                  ((HRESULT)0x8A150060)
    117 #define APPINSTALLER_CLI_ERROR_PACKAGE_ALREADY_INSTALLED            ((HRESULT)0x8A150061)
    118 #define APPINSTALLER_CLI_ERROR_PIN_ALREADY_EXISTS                   ((HRESULT)0x8A150062)
    119 #define APPINSTALLER_CLI_ERROR_PIN_DOES_NOT_EXIST                   ((HRESULT)0x8A150063)
    120 #define APPINSTALLER_CLI_ERROR_CANNOT_OPEN_PINNING_INDEX            ((HRESULT)0x8A150064)
    121 #define APPINSTALLER_CLI_ERROR_MULTIPLE_INSTALL_FAILED              ((HRESULT)0x8A150065)
    122 #define APPINSTALLER_CLI_ERROR_MULTIPLE_UNINSTALL_FAILED            ((HRESULT)0x8A150066)
    123 #define APPINSTALLER_CLI_ERROR_NOT_ALL_QUERIES_FOUND_SINGLE         ((HRESULT)0x8A150067)
    124 #define APPINSTALLER_CLI_ERROR_PACKAGE_IS_PINNED                    ((HRESULT)0x8A150068)
    125 #define APPINSTALLER_CLI_ERROR_PACKAGE_IS_STUB                      ((HRESULT)0x8A150069)
    126 #define APPINSTALLER_CLI_ERROR_APPTERMINATION_RECEIVED              ((HRESULT)0x8A15006A)
    127 #define APPINSTALLER_CLI_ERROR_DOWNLOAD_DEPENDENCIES                ((HRESULT)0x8A15006B)
    128 #define APPINSTALLER_CLI_ERROR_DOWNLOAD_COMMAND_PROHIBITED          ((HRESULT)0x8A15006C)
    129 #define APPINSTALLER_CLI_ERROR_SERVICE_UNAVAILABLE                  ((HRESULT)0x8A15006D)
    130 #define APPINSTALLER_CLI_ERROR_RESUME_ID_NOT_FOUND                  ((HRESULT)0x8A15006E)
    131 #define APPINSTALLER_CLI_ERROR_CLIENT_VERSION_MISMATCH              ((HRESULT)0x8A15006F)
    132 #define APPINSTALLER_CLI_ERROR_INVALID_RESUME_STATE                 ((HRESULT)0x8A150070)
    133 #define APPINSTALLER_CLI_ERROR_CANNOT_OPEN_CHECKPOINT_INDEX         ((HRESULT)0x8A150071)
    134 #define APPINSTALLER_CLI_ERROR_RESUME_LIMIT_EXCEEDED                ((HRESULT)0x8A150072)
    135 #define APPINSTALLER_CLI_ERROR_INVALID_AUTHENTICATION_INFO          ((HRESULT)0x8A150073)
    136 #define APPINSTALLER_CLI_ERROR_AUTHENTICATION_TYPE_NOT_SUPPORTED    ((HRESULT)0x8A150074)
    137 #define APPINSTALLER_CLI_ERROR_AUTHENTICATION_FAILED                ((HRESULT)0x8A150075)
    138 #define APPINSTALLER_CLI_ERROR_AUTHENTICATION_INTERACTIVE_REQUIRED  ((HRESULT)0x8A150076)
    139 #define APPINSTALLER_CLI_ERROR_AUTHENTICATION_CANCELLED_BY_USER     ((HRESULT)0x8A150077)
    140 #define APPINSTALLER_CLI_ERROR_AUTHENTICATION_INCORRECT_ACCOUNT     ((HRESULT)0x8A150078)
    141 #define APPINSTALLER_CLI_ERROR_NO_REPAIR_INFO_FOUND                 ((HRESULT)0x8A150079)
    142 #define APPINSTALLER_CLI_ERROR_REPAIR_NOT_APPLICABLE                ((HRESULT)0x8A15007A)
    143 #define APPINSTALLER_CLI_ERROR_EXEC_REPAIR_FAILED                   ((HRESULT)0x8A15007B)
    144 #define APPINSTALLER_CLI_ERROR_REPAIR_NOT_SUPPORTED                 ((HRESULT)0x8A15007C)
    145 #define APPINSTALLER_CLI_ERROR_ADMIN_CONTEXT_REPAIR_PROHIBITED      ((HRESULT)0x8A15007D)
    146 #define APPINSTALLER_CLI_ERROR_SQLITE_CONNECTION_TERMINATED         ((HRESULT)0x8A15007E)
    147 #define APPINSTALLER_CLI_ERROR_DISPLAYCATALOG_API_FAILED            ((HRESULT)0x8A15007F)
    148 #define APPINSTALLER_CLI_ERROR_NO_APPLICABLE_DISPLAYCATALOG_PACKAGE ((HRESULT)0x8A150080)
    149 #define APPINSTALLER_CLI_ERROR_SFSCLIENT_API_FAILED                 ((HRESULT)0x8A150081)
    150 #define APPINSTALLER_CLI_ERROR_NO_APPLICABLE_SFSCLIENT_PACKAGE      ((HRESULT)0x8A150082)
    151 #define APPINSTALLER_CLI_ERROR_LICENSING_API_FAILED                 ((HRESULT)0x8A150083)
    152 #define APPINSTALLER_CLI_ERROR_SFSCLIENT_PACKAGE_NOT_SUPPORTED      ((HRESULT)0x8A150084)
    153 #define APPINSTALLER_CLI_ERROR_LICENSING_API_FAILED_FORBIDDEN       ((HRESULT)0x8A150085)
    154 #define APPINSTALLER_CLI_ERROR_INSTALLER_ZERO_BYTE_FILE             ((HRESULT)0x8A150086)
    155 
    156 // Install errors.
    157 #define APPINSTALLER_CLI_ERROR_INSTALL_PACKAGE_IN_USE                   ((HRESULT)0x8A150101)
    158 #define APPINSTALLER_CLI_ERROR_INSTALL_INSTALL_IN_PROGRESS              ((HRESULT)0x8A150102)
    159 #define APPINSTALLER_CLI_ERROR_INSTALL_FILE_IN_USE                      ((HRESULT)0x8A150103)
    160 #define APPINSTALLER_CLI_ERROR_INSTALL_MISSING_DEPENDENCY               ((HRESULT)0x8A150104)
    161 #define APPINSTALLER_CLI_ERROR_INSTALL_DISK_FULL                        ((HRESULT)0x8A150105)
    162 #define APPINSTALLER_CLI_ERROR_INSTALL_INSUFFICIENT_MEMORY              ((HRESULT)0x8A150106)
    163 #define APPINSTALLER_CLI_ERROR_INSTALL_NO_NETWORK                       ((HRESULT)0x8A150107)
    164 #define APPINSTALLER_CLI_ERROR_INSTALL_CONTACT_SUPPORT                  ((HRESULT)0x8A150108)
    165 #define APPINSTALLER_CLI_ERROR_INSTALL_REBOOT_REQUIRED_TO_FINISH        ((HRESULT)0x8A150109)
    166 #define APPINSTALLER_CLI_ERROR_INSTALL_REBOOT_REQUIRED_FOR_INSTALL      ((HRESULT)0x8A15010A)
    167 #define APPINSTALLER_CLI_ERROR_INSTALL_REBOOT_INITIATED                 ((HRESULT)0x8A15010B)
    168 #define APPINSTALLER_CLI_ERROR_INSTALL_CANCELLED_BY_USER                ((HRESULT)0x8A15010C)
    169 #define APPINSTALLER_CLI_ERROR_INSTALL_ALREADY_INSTALLED                ((HRESULT)0x8A15010D)
    170 #define APPINSTALLER_CLI_ERROR_INSTALL_DOWNGRADE                        ((HRESULT)0x8A15010E)
    171 #define APPINSTALLER_CLI_ERROR_INSTALL_BLOCKED_BY_POLICY                ((HRESULT)0x8A15010F)
    172 #define APPINSTALLER_CLI_ERROR_INSTALL_DEPENDENCIES                     ((HRESULT)0x8A150110)
    173 #define APPINSTALLER_CLI_ERROR_INSTALL_PACKAGE_IN_USE_BY_APPLICATION    ((HRESULT)0x8A150111)
    174 #define APPINSTALLER_CLI_ERROR_INSTALL_INVALID_PARAMETER                ((HRESULT)0x8A150112)
    175 #define APPINSTALLER_CLI_ERROR_INSTALL_SYSTEM_NOT_SUPPORTED             ((HRESULT)0x8A150113)
    176 #define APPINSTALLER_CLI_ERROR_INSTALL_UPGRADE_NOT_SUPPORTED            ((HRESULT)0x8A150114)
    177 #define APPINSTALLER_CLI_ERROR_INSTALL_CUSTOM_ERROR                     ((HRESULT)0x8A150115)
    178 
    179 // Status values for check package installed status results.
    180 // Partial success has the success bit(first bit) set to 0.
    181 #define WINGET_INSTALLED_STATUS_ARP_ENTRY_FOUND                             S_OK
    182 #define WINGET_INSTALLED_STATUS_ARP_ENTRY_NOT_FOUND                         ((HRESULT)0x8A150201)
    183 #define WINGET_INSTALLED_STATUS_INSTALL_LOCATION_FOUND                      S_OK
    184 #define WINGET_INSTALLED_STATUS_INSTALL_LOCATION_NOT_APPLICABLE             ((HRESULT)0x0A150202)
    185 #define WINGET_INSTALLED_STATUS_INSTALL_LOCATION_NOT_FOUND                  ((HRESULT)0x8A150203)
    186 #define WINGET_INSTALLED_STATUS_FILE_HASH_MATCH                             S_OK
    187 #define WINGET_INSTALLED_STATUS_FILE_HASH_MISMATCH                          ((HRESULT)0x8A150204)
    188 #define WINGET_INSTALLED_STATUS_FILE_NOT_FOUND                              ((HRESULT)0x8A150205)
    189 #define WINGET_INSTALLED_STATUS_FILE_FOUND_WITHOUT_HASH_CHECK               ((HRESULT)0x0A150206)
    190 #define WINGET_INSTALLED_STATUS_FILE_ACCESS_ERROR                           ((HRESULT)0x8A150207)
    191 
    192 // Configuration Errors
    193 #define WINGET_CONFIG_ERROR_INVALID_CONFIGURATION_FILE          ((HRESULT)0x8A15C001)
    194 #define WINGET_CONFIG_ERROR_INVALID_YAML                        ((HRESULT)0x8A15C002)
    195 #define WINGET_CONFIG_ERROR_INVALID_FIELD_TYPE                  ((HRESULT)0x8A15C003)
    196 #define WINGET_CONFIG_ERROR_UNKNOWN_CONFIGURATION_FILE_VERSION  ((HRESULT)0x8A15C004)
    197 #define WINGET_CONFIG_ERROR_SET_APPLY_FAILED                    ((HRESULT)0x8A15C005)
    198 #define WINGET_CONFIG_ERROR_DUPLICATE_IDENTIFIER                ((HRESULT)0x8A15C006)
    199 #define WINGET_CONFIG_ERROR_MISSING_DEPENDENCY                  ((HRESULT)0x8A15C007)
    200 #define WINGET_CONFIG_ERROR_DEPENDENCY_UNSATISFIED              ((HRESULT)0x8A15C008)
    201 #define WINGET_CONFIG_ERROR_ASSERTION_FAILED                    ((HRESULT)0x8A15C009)
    202 #define WINGET_CONFIG_ERROR_MANUALLY_SKIPPED                    ((HRESULT)0x8A15C00A)
    203 #define WINGET_CONFIG_ERROR_WARNING_NOT_ACCEPTED                ((HRESULT)0x8A15C00B)
    204 #define WINGET_CONFIG_ERROR_SET_DEPENDENCY_CYCLE                ((HRESULT)0x8A15C00C)
    205 #define WINGET_CONFIG_ERROR_INVALID_FIELD_VALUE                 ((HRESULT)0x8A15C00D)
    206 #define WINGET_CONFIG_ERROR_MISSING_FIELD                       ((HRESULT)0x8A15C00E)
    207 #define WINGET_CONFIG_ERROR_TEST_FAILED                         ((HRESULT)0x8A15C00F)
    208 #define WINGET_CONFIG_ERROR_TEST_NOT_RUN                        ((HRESULT)0x8A15C010)
    209 #define WINGET_CONFIG_ERROR_GET_FAILED                          ((HRESULT)0x8A15C011)
    210 #define WINGET_CONFIG_ERROR_HISTORY_ITEM_NOT_FOUND              ((HRESULT)0x8A15C012)
    211 #define WINGET_CONFIG_ERROR_PARAMETER_INTEGRITY_BOUNDARY        ((HRESULT)0x8A15C013)
    212 
    213 // Configuration Processor Errors
    214 #define WINGET_CONFIG_ERROR_UNIT_NOT_INSTALLED              ((HRESULT)0x8A15C101)
    215 #define WINGET_CONFIG_ERROR_UNIT_NOT_FOUND_REPOSITORY       ((HRESULT)0x8A15C102)
    216 #define WINGET_CONFIG_ERROR_UNIT_MULTIPLE_MATCHES           ((HRESULT)0x8A15C103)
    217 #define WINGET_CONFIG_ERROR_UNIT_INVOKE_GET                 ((HRESULT)0x8A15C104)
    218 #define WINGET_CONFIG_ERROR_UNIT_INVOKE_TEST                ((HRESULT)0x8A15C105)
    219 #define WINGET_CONFIG_ERROR_UNIT_INVOKE_SET                 ((HRESULT)0x8A15C106)
    220 #define WINGET_CONFIG_ERROR_UNIT_MODULE_CONFLICT            ((HRESULT)0x8A15C107)
    221 #define WINGET_CONFIG_ERROR_UNIT_IMPORT_MODULE              ((HRESULT)0x8A15C108)
    222 #define WINGET_CONFIG_ERROR_UNIT_INVOKE_INVALID_RESULT      ((HRESULT)0x8A15C109)
    223 #define WINGET_CONFIG_ERROR_UNIT_SETTING_CONFIG_ROOT        ((HRESULT)0x8A15C110)
    224 #define WINGET_CONFIG_ERROR_UNIT_IMPORT_MODULE_ADMIN        ((HRESULT)0x8A15C111)
    225 #define WINGET_CONFIG_ERROR_NOT_SUPPORTED_BY_PROCESSOR      ((HRESULT)0x8A15C112)
    226 
    227 namespace AppInstaller
    228 {
    229     // Gets error messages that are presentable to the user.
    230     std::string GetUserPresentableMessage(const wil::ResultException& re);
    231     std::string GetUserPresentableMessage(const std::exception& e);
    232     std::string GetUserPresentableMessage(HRESULT hr);
    233 
    234 #ifndef WINGET_DISABLE_FOR_FUZZING
    235     std::string GetUserPresentableMessage(const winrt::hresult_error& hre);
    236 #endif
    237 
    238     namespace Errors
    239     {
    240         // Details about an HRESULT
    241         struct HResultInformation
    242         {
    243             constexpr HResultInformation(HRESULT value);
    244             constexpr HResultInformation(HRESULT value, std::string_view symbol);
    245 
    246             virtual ~HResultInformation() = default;
    247 
    248             HRESULT Value() const;
    249 
    250             bool operator<(const HResultInformation& other) const;
    251 
    252             // The symbol will be an empty view if not known.
    253             Utility::LocIndView Symbol() const;
    254 
    255             // Looks up the description of the HRESULT
    256             virtual Utility::LocIndString GetDescription() const;
    257 
    258             // Find information by HRESULT; this lookup is optimized.
    259             static std::unique_ptr<HResultInformation> Find(HRESULT value);
    260 
    261             // Find information by substring match with the given value.
    262             // This lookup is not optimized, as it should only be needed for the error command.
    263             static std::vector<std::unique_ptr<HResultInformation>> Find(std::string_view value);
    264 
    265         private:
    266             HRESULT m_value;
    267             std::string_view m_symbol;
    268         };
    269 
    270         // Gets all of the custom error information for our errors.
    271         std::vector<std::unique_ptr<HResultInformation>> GetWinGetErrors();
    272     }
    273 }