I am using Squirrel installer inside an MSI installer. MSI installer invokes the Squirrel installer. Since MSI installer will have the entry in Add/Remove programs, I want to remove (or not create) the entry created by the Squirrel installer.
What I did was to use RemoveUninstallerRegistryEntry
in the event handler for onFirstRun
, but it is giving me following error:
Couldn't write uninstall icon, don't care: System.IO.IOException: Illegal operation attempted on a registry key that has been marked for deletion.
Based on this error, I feel I am removing uninstaller entry at a wrong place. What should be the place to remove the uninstall entry? Or is there a way to stop Squirrel from creating these entries in the first place?
IMO, your creating a "trojan" MSI. You can set the ARPSYSTEMCOMPONENT property in the MSI and it won't display in Add Remove Programs. But honestly, you probably don't want MSI to register it self with the system at all. In that case remove certain key standard actions from your installer such as PublishComponents, PublishFeatures and PublishProduct.