MSIX Troubleshooter


MSIX troubleshooter is a tool designed to help you find the cause for which an MSIX or APPINSTALLER or MSIXBUNDLE package fails to install.

It works in 3 steps:

  • it gathers some information about the OS and the user account that is running under
  • you open a package file (msix, appinstaller or msixbundle) for analysis. At this moment the tool extracts key information from the package and checks this information to satisfy some built-in rules. The result of this check is displayed in the Details column. Some problems can be corrected by the tool and for these a link appears in the Action column. Clicking on this link fixes the problem.
  • you install the package

The results of the installation are of 2 kinds:

  • the error code and message returned by the API
  • events logged by installation in SystemEventsLog. These events contain user readable information from which the user can detect the cause of installation failure.

Use from Command Line

The tool supports automation through command line:

  • <troubleshooter_path> - Starts the app with empty GUI
  • <troubleshooter_path> <package_path> - Starts the app and inits the GUI with the specified package and analyzes the package
  • <troubleshooter_path> /filesToAnalyze <files_pattern> /analysisResult <results_file_path> /includedInfo <options> - Starts the app without UI, analyzes the file(s) and puts the results in an XML file.

<files_pattern> - is the path to the file that will be analyzed. It can contain wildcards: * or ? and in this case, all files that match the pattern will be analyzed.

<results_file_path> - is the path to an XML file that will contain the result of the analysis (for all packages if path is a pattern)

<options> - a string specifying what kind of information to be included in the results file. It consists of any of the following strings: sys, pkg, inst separated by + char. Examples of valid combinations: sys+pkg+inst, inst+sys, pkg+inst, inst+pkg+sys. This parameter is optional and its default value is sys+pkg

Return code of the application when called with /filesToAnalyze parameter:

  • 0 = success - no warning or errors found in any of the analyzed packages
  • 1 = warning - at least 1 warning found in at least one analyzed package. No errors were found.
  • 2 = error - at least 1 error found in at least one analyzed package.