Process Terminated Unexpectedly Error After Upgrading PDQ Deploy or PDQ Inventory

Purpose

After upgrading PDQ Deploy and / or PDQ Inventory you have found the program will not open and receive the error The Process Terminated Unexpectedly

Resolution

The error The Process Terminated Unexpectedly can be prevented by upgrading through the built-in mechanisms; either from the link in the Status Bar (located at the bottom of the application) or by navigating to Help > Check for Update. This will discover the next available major-version update and, if you are more than one major-version behind, will incrementally update to the next major-version. This process can be repeated until you are up-to-date. 

Error: The Process Terminated Unexpectedly

Skipping a major-version (e.g. Version 17.1.0.0 to version 19.3.83.0) by simply running the installer, without utilizing the update mechanisms built into the application, can potentially prevent the database from updating properly along with the application, and will likely cause the error The Process Terminated Unexpectedly when attempting to launch the application. This can be resolved by uninstalling the latest application version, and re-installing the application version that corresponds with the database version. If the database version is unknown, see below for the SQLite commands to find the current database version. 

Note: Uninstalling and re-installing PDQ Deploy and / or PDQ Inventory will not affect the data in the database or any PDQ related registry keys, it will only remove the PDQ Console(s) and Service(s). 

Note: Previous releases can be found at pdq.com/releases. If the required version is not available, please contact PDQ support by email at support@pdq.com and the required download can be provided by our support team. 
 

Finding the Database Version

The database version can be found by using a SQLite command. From an elevated Command Prompt or PowerShell Window, the following commands will check the current version of the database and verify the database integrity. 

PDQ Deploy

sqlite3 "C:\ProgramData\Admin Arsenal\PDQ Deploy\Database.db" "SELECT version FROM databaseinfo; PRAGMA integrity_check;"

PDQ Inventory

sqlite3 "C:\ProgramData\Admin Arsenal\PDQ Inventory\Database.db" "SELECT version FROM databaseinfo; PRAGMA integrity_check;"

If the above command(s) return a database version that does not match the installed application version, uninstall PDQ Deploy and / or PDQ Inventory and reinstall the version that matches the database version. From there, follow the in-product upgrade path located at Help > Check for Update

If the Database and Application Versions Match

In some rare instances the above commands may list the same database version as the updated application, but the error The Process Terminated Unexpectedly will still occur. This happens when the database update is started but unable to complete. 

In this rare scenario, the solution is to: 

  • Uninstall PDQ Deploy and / or PDQ Inventory. 
  • Check the database version history, from an elevated Command Prompt or PowerShell Window.  
    • For PDQ Deploy:   
      • sqlite3.exe "C:\ProgramData\Admin Arsenal\PDQ Deploy\Database.db" "SELECT Date,Version FROM main.DatabaseVersionHistory;"
    •  For PDQ Inventory:  
      • sqlite3.exe "C:\ProgramData\Admin Arsenal\PDQ Inventory\Database.db" "SELECT Date,Version FROM main.DatabaseVersionHistory;"
  • Download & install the most recent application version, from before the upgrade attempt. 
  • Upon launching the PDQ Deploy or PDQ Inventory Console, the application will attempt to convert the database to the corresponding application version. 
    • If the database is not automatically converted to the installed application version after launching the console, then a database restore will need to be performed. To perform a database restore, launch an elevated Command Prompt or PowerShell Window, enter the following commands, and follow the prompts to select the database backup you wish to restore from: 
      • For PDQ Deploy:   
        • pdqdeploy restoredatabase
      • For PDQ Inventory: 
        • pdqinventory restoredatabase
Still have a question or want to share what you have learned? Visit our Community to get help and collaborate with others.