Skip to content

Commit 418501f

Browse files
authored
Add note on current MSI auto-install query and uninstall script limitations (#27760)
Also tweaked wording around EXEs in the software packages article since we're now no longer including EXE (un)install scripts at all.
1 parent fe6c5df commit 418501f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

articles/automatic-software-install-in-fleet.md

+2
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ SELECT 1 FROM apps WHERE bundle_identifier = '<YOUR_APP_BUNDLE_ID>' AND version_
6565
SELECT 1 FROM programs WHERE name = '<SOFTWARE_TITLE_NAME>' AND version_compare(version, '<VERSION>') >= 0;
6666
```
6767

68+
> Currently, automatic install policies generated by Fleet for MSIs use `identifying_number` in the `programs` table, which corresponds to an application's ProductCode. ProductCode only refers to a specific version of a specific application, so the policy will fail (triggering an install) if any other version, newer or older, of the application is installed instead. The UpgradeCode attribute ties together multiple versions of the same application, and will be used for MSI auto-install policies [in a future release of Fleet](https://github.com/fleetdm/fleet/issues/27447) [once supported in osquery](https://github.com/fleetdm/fleet/issues/27759).
69+
6870
### Debian-based (deb)
6971

7072
```sql

articles/deploy-software-packages.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,20 @@ A pre-install query is a valid osquery SQL statement that will be evaluated on t
5858

5959
### Install script
6060

61-
After selecting a file, a default install script will be pre-filled. If the software package requires a custom installation process (for example, if [an EXE-based Windows installer requires custom handling](https://fleetdm.com/learn-more-about/exe-install-scripts)), this script can be edited. When the script is run, the `$INSTALLER_PATH` environment variable will be set by `fleetd` to where the installer is being run.
61+
After selecting a file, a default install script will be pre-filled for most installer types. If the software package requires a custom installation process (for example, for [EXE-based Windows installers](https://fleetdm.com/learn-more-about/exe-install-scripts)), this script can be edited. When the script is run, the `$INSTALLER_PATH` environment variable will be set by `fleetd` to where the installer is being run.
6262

6363
### Post-install script
6464

6565
A post-install script will run after the installation, allowing you to, for example, configure the security agent right after installation. If this script returns a non-zero exit code, the installation will fail, and `fleetd` will attempt to uninstall the software.
6666

6767
### Uninstall script
6868

69-
An uninstall script will run when an admin chooses to uninstall the software from the host on the host details page, or if the post-install script (if supplied) fails for hosts running `fleetd` 1.33.0 or later. Like the install script, a default uninstall script will be pre-filled after selecting a file. This script can be edited if the software package requires a custom uninstallation process.
69+
An uninstall script will run when an admin chooses to uninstall the software from the host on the host details page, or if the post-install script (if supplied) fails for hosts running `fleetd` 1.33.0 or later. Like the install script, a default uninstall script will be pre-filled after selecting a file for most installer formats (EXE-based installers being the exception). This script can be edited if the software package requires a custom uninstallation process.
7070

7171
In addition to the `$INSTALLER_PATH` environment variable supported by install scripts, you can use `$PACKAGE_ID` in uninstall scripts as a placeholder for the package IDs (for .pkg files), package name (for Linux installers), product code (for MSIs), or software name (for EXE installers). The Fleet server will substitute `$PACKAGE_ID` on upload.
7272

73+
> Currently, the default MSI uninstaller script only uninstalls that exact installer, rather than earlier/later versions of the same application.
74+
7375
## Install the package
7476

7577
After a software package is added to a team, it can be installed on hosts via the UI.

0 commit comments

Comments
 (0)