I need to be able to hide or disable the Cancel button in my installer when the user clicks on Remove in the ARP. Is there any way to go about doing that, and if so, how? (Adding the /qb! command line option into the UninstallString registry value doesn't work. I tried. No IDE-specific answers, please, unless they pertain to Wise Windows Installer Editor.)
Edit: While Christopher Painter's answer does to the trick, it's not a 100% solution. Unfortunately, the InstallFinalize action shows the Cancel button again, and even when I put another call to my custom action right after it, the button is still visible for a long enough time for the user to be able to click it. (I verified this by having a message box come up during my custom action so I could see when it was being called.) Once I hide the Cancel button, I want--no, need--it to stay hidden. Period. Is there any way that I can achieve that?
The UninstallString registry value is ignored by ARP when the Product is an MSI. I believe the only way you'll be able to do it is via a Custom Action.
As an aside, I'm wondering why you need to do this. I'm guessing you have a custom action that doesn't support rollback? I'd rather fix that problem and continue to give the user the ability to change their mind.
Hiding the Cancel Button During an Installation
Your installation can hide and unhide the Cancel button during parts of an installation by sending an INSTALLMESSAGE_COMMONDATA message using a DLL custom action or scripts. For more information, see Dynamic-Link Libraries, Scripts, Custom Actions, and Sending Messages to Windows Installer Using MsiProcessMessage.