Uninstall Software

Starting from BigFix Inventory version 10.0.15, you can uninstall Windows software based on certain scenarios, which are explained in this topic.

Note: You can still follow the process of getting the software uninstalled by the support team.

The Software Classification panel includes a Manage menu, which has two options: Uninstall with BigFix and Notify Users to Uninstall. You can request software uninstallation or send a notification to uninstall the software using these options.

The two options, or scenarios, for uninstalling software are explained below:
Uninstall with BigFix
Use this option to allow BigFix Inventory to send an uninstall request to BigFix Platform. If the software is not eligible for uninstallation, a warning message appears.
Example of an unsupported operating system: Uninstallation Action is not available for this entry ('OS').
Once the request is sent, BigFix server receives an action to uninstall the software. The server console shows the action with the software name, software version, timestamp, and computer ID. The time allowed to take action on the request is 7 days. If the uninstallation is not done, the notification expires. The Instance Tags column shows the status of the uninstallation.
BigFix Inventory connects with BigFix Platform every minute to check the status of the uninstallation.
Notify user to uninstall
Use this option to allow BigFix Inventory send a server notification to the user to uninstall the software. A notification along with the source of notification appears. BigFix Inventory connects with BigFix Platform every 3 minutes to check the status of the uninstallation. The Instance Tags column shows the status of the uninstallation.

Rules for uninstallation

The Uninstall Supported column shows if uninstallation of software is allowed based on the uninstallation rules. To prevent losing data, you must check if uninstallation is supported for the software. Below are the rules based on which uninstallation is allowed:
The Uninstall Supported column shows the outcome, and if the following scenarios are met:
  • The software that you want to uninstall must be a Windows package.
  • The detection of the software is based on packages (Apps and Features / Windows uninstallation registry)​.
  • The software is detected by regular endpoints and not by disconnected scanners​.
  • Some groups of software publishers are excluded, such as IBM, HCL, Adobe, AutoDesk, and Corel.​
  • Some Microsoft subcomponents are excluded, such as Microsoft Office, Microsoft SQL Server Windows,Microsoft Edge, Machine Learning Server, and Microsoft SQL Server Reporting Services.
The following additional validations are checked before the uninstall action is sent:​
The error codes are also mentioned along with the rules. The error codes are visible in the error messages; for example, Uninstallation Action is not available for this entry ('OS').
  • The software must be detected by a regular endpoint and not by disconnected scanners.

    Error code: 'DISCONNECTED'

  • The software must be detected on the Windows operating system.

    Error code: 'OS'

  • The software must be installed and available on the computer.

    Error code: 'Not present'

  • The software must have been seen in the last 3 days.

    Error code: 'Last seen over 3 days ago'

  • One package key and package name must be available.

    Error code: 'No package' or 'Too many packages' or 'No package key' or 'No package name'

To uninstall using the Action Script, the following criteria are met:
  • PowerShell registry path is valid​.
  • The BES Client version is not older than 9.5.11​.
  • An uninstallation registry entry exists for the selected software​.
  • MSI-based installation or QuietUninstallString key is available.

Rules for showing notifications to uninstall the software

The following are the rules to show notification for uninstalling the software:

The error codes are also mentioned along with the rules. The error codes are visible in the error messages; for example, Notify User to Uninstall Action is not available for this entry ('OS').

  • The software must be detected by a regular endpoint and not by disconnected scanners.

    Error code: 'DISCONNECTED'

  • The software must be detected on Windows operating system.

    Error code: 'OS'

  • The software must be installed and available on the computer.

    Error code: 'Not present'

  • The software must have been seen in the last 3 days.

    Error code: 'Last seen over 3 days ago'

Supported installation models

The two supported installation models are MSI-based (Microsoft Software Installer-based) and QuietUninstallString​.

Software uninstallation logs

The uninstallation log file includes details about the Uninstallation.

Successful:
Started POST "/sam/uninstall_softwares/send_uninstall_action"​

Processing by SAM::SoftwareUninstallsController#send_uninstall_action as */*​

Parameters: {"prodInvId"=>"10018", "_import_id"=>"10004"}​

Send uninstall action for prodinv id 10018 and data {:computer_id=>3, :component_id=>73015, :remote_id=>551641069, :datasource_id=>1, :end_time=>9999-12-31 23:59:59 UTC, :os_name=>"WINDOWS", :database_type=>"mssql", :last_seen=>2023-11-20 22:54:29 UTC, :description=>"{CD95F661-A5C4-44F5-A6AA-ECDD91C24151}", :name=>"WinZip 28.0", :version=>"28.0.15640", :vendor=>"Corel Corporation"}​

Saved uninstallation action id 9998 for prodinv id 10018​

The uninstall action for prodinv id 10018 successfully sent

Successful uninstallation for action 9998 and prodinv id 10018​

Unsuccessful:

Started POST "/sam/uninstall_softwares/send_uninstall_action"​

Processing by SAM::SoftwareUninstallsController#send_uninstall_action as */*​

Parameters: {"prodInvId"=>"8", "_import_id"=>"10004"}​

Send uninstall action for prodinv id 8 and data {:computer_id=>4, :component_id=>63626, :remote_id=>1623105004, :datasource_id=>1, :end_time=>9999-12-31 23:59:59 UTC, :os_name=>"WINDOWS", :database_type=>"mssql", :last_seen=>2023-11-20 22:53:56 UTC, :description=>"{9D93D367-A2CC-4378-BD63-79EF3FE76C78}", :name=>"Microsoft SQL Server 2012 Native Client", :version=>"11.4.7462.6", :vendor=>"Microsoft Corporation"}​

Saved uninstallation action id 9999 for prodinv id 8​

The uninstall action for prodinv id 8 successfully sent​

Uninstallation failed for action 9999 and prodinv id 8. Exit code exit_code: 9​

The periodic task updating BigFix server action statuses is stopping the action with id: 9999 from the BigFix server.​

Exit code from action

The exit codes are visible for a given action in BigFix console and BigFix Inventory tema.log under Software uninstallation logs.

The table below shows the exit codes with their descriptions:
Code Description
0 successful uninstallation
1 unsupported operating system. Only Windows operating systems are supported
2 PowerShell path not found in Windows registry
3 missing PackageManagement - PowerShell module
4 BES Client version is lower than 9.5.11
9 uninstallation failed​
10 software not found in Windows registry. Probably already uninstalled
11 unsupported uninstallation type. Only MSI-based installers or those with QuietUninstallString registry parameter.
12 unsupported software. BigFix components cannot be uninstalled.

Additional information

  • New "Uninstall Actions" permission is available by default only for the administrators​.
  • Up to 20 active (running) actions per datasource are allowed in total, combining both uninstallation and notifications.
  • One action is applicable to one software per computer​.
  • Software is marked as uninstall_not_successful or notification_not_successful if its uninstall actions were manually stopped or removed from BigFix server​.
  • The timeout for uninstallation is 4 hours​.
  • The timeout for action is 7 days.
  • Action expires when a timeout of 1 day reaches all timezones.
  • These types of software installations are not supported:

    • software installed for a given user on the same Windows / computer
    • software installed from Microsoft Store / Windows Store
    • software available as Windows features / Optional features

Example of the 'Notify user to uninstall' scenario

The below image shows an example of a notification that is sent to the user requesting them to uninstall software: