What is the best Windows installer, either open-source or less than $1K, that supports MSI, has a decent GUI, supports upgrades and has a quick learning curve?
it depends on whether you want GUI or a command line.
Only command line wix but it is not user-friendly.
GUI installers are "install aware" & "Inno Setp".
After having tested several ones I came to the conclusion that there is no Installer that fits your criteria. We have thus switched to WiX. There is a WiX-Editor that let's you do some changes in a sort of GUI but WiX was and is a lot of code writing. It produces clean MSI-Installers that are very much liked by system engineers on the client side.
WiX is free but has a long learning curve (calculate 2 weeks until you have the first working MSI for an average complex installer).