I've two custom actions, one would run during installation and the other would run during uninstallation of a specific feature. Both actions requires same parameters, and they get these values from UI dialogs.
Actions and dialogs has same condition statement. For example, uninstallation of Feature Xyz, check is done by controlling &Xyz=2. And user is limited to either install a feature locally or not install, there isn't any other option like advertisement, etc.
All above are working appropriately during complete and custom installation. But during maintenance, if a user chooses modify and in custom setup window user can install or remove that feature, related dialog is displayed and parameters are taken and after pressing install button, corresponding action runs with entered parameters. And that feaute is installed or removed successfully.
But if the user chooses remove instead of modify in maintenance, than Remove UI dialog doesn't display, directly remove program dialog occurs. And if user presses Remove button corresponding remove action is run with Null parameters(since dialog isn't displayed).
Both remove action and dialog has same condition statement &Xyz=2, and they both work for Maintenance-Modify case. But why does only CA runs, UI dialog didn't display in Maintenance-Remove case.