A few of the software packages I use have a good enough silent installer to allow me to build a vbscript to install them. I’ve also tried to include an “upgrade” function which uninstalls the previous version of the software at the same time, using the win32_product class to find and uninstall it. The problem that occurs with this system is that 64 bit systems do not use the win32_Product class, and I haven’t found an equivalent wmi object to do this. Instead, I’ve resorted to including the uninstall command string the registry uses. There are some problems with this, notably that the uninstall may not have a silent installer string available for it.