1. A computer-implemented method for remediating a defective uninstaller during an upgrade of a software product, comprising: initiating, by a first installer package, an installation process to install content of the first installer package in order to upgrade the software product on a system, wherein the installation process comprises removing a first version of the software product and replacing the first version of the software product with a second version of the software product; querying, before the first installer package completes the installation process, the system using a custom action within the first installer package to identify one or more defective uninstallers, the one or more defective uninstallers being from the first version of the software product, wherein identifying the one or more defective uninstallers comprises, at least in part, determining whether an uninstaller removes a resource used by the first and second versions of the software product; upon identifying the one or more defective uninstallers, streaming an executable application to a file in a temporary folder, wherein the executable application is separate from the one or more defective uninstallers; querying database tables in the first installer package to create a script file to modify the one or more defective uninstallers; and executing the script file with the executable application to modify the one or more defective uninstallers, the one or more defective uninstallers being executed to remove the first version of the software product from the system.