It seems like this is a "mistake" in the packaging of the HP driver update. When it was posted in 2017, it was created with a couple lines of version-test code that says, basically:
If (version is >= 10.9) and (version is < 11.0)
So, when Big Sur rolled around, and the version was finally moved from 10.XXX to 11.XXX, the installer stopped working.
This is not a recent change. I have an archived download of the HP driver pack from long ago, and this check exists even form back then.
I edited the distribution file to simply remove the check, and then the driver pack installs with no problems. I am able to install it and set up printers with the installed drivers, and they work in all my cases. I do not have HP scanners or All-In-One (AIO) device, however, just a bunch of enterprise printers. So, I have only tested this with printers.
Here is what I did:
pkgutil --expand HewlettPackardPrinterDrivers.pkg output
- Go to ./output and edit the file "Distribution" in the following ways:
ONE
if (system.compareVersions(system.version.ProductVersion, '10.9') >= 0 &&
system.compareVersions(system.version.ProductVersion, '11.0') == -1) {
return true;
}
... is changed to ...
if (system.compareVersions(system.version.ProductVersion, '10.9') >= 0) {
return true;
}
TWO
if(-1 != system.compareVersions(my.target.systemVersion.ProductVersion, '11.0')) {
return false;
}
... Is simply remove entirely.
- Go back to parent directory with the "output" directory in it. Package the package back up:
pkgutil --flatten output testhp.pkg
Now, the package will install just fine and work...
It looks like the intent back in 2017 was that when Apple finally decided to go to 11.0, it would be a huge enough change that this package would never work. That doesn't appear to be the case, though, so it seems like this assumption was incorrect.