I have an issue where the AI user interface focus is hiding a spawned confirmation window to uninstall a driver. This happens in a major upgrade scenario where i use the Drivers feature in AI (DIFx) for installing a photo printer driver. If i perform an installation of this printer driver first time, it works with no issue. But if i package a new version of the driver and change the product code (setup for a major upgrade), the uninstall execution of the old driver appears to hang during the ProgressDlg UI. It's not actually hung but hidden behind the ProgressDlg UI, is a newly spawned confirmation dialog (supposedly spawned by the DIFx framework itself? just guessing) stating to the user that removing the driver would affect the following applications if removed (shows a list of affected apps. In some cases, this list is empty but still displays). Do you wish to remove the driver Yes/No?
AI will not move forward unless the user answers Yes/No to this dialog and its hiding behind the ProgressDlg screen without the user's knowledge. Once the new dialog is dismissed, AI completes the install successfully.
Now my question is this, how can i handle this spawned dialog to allow a user friendly installation?
My solution would be to force the new dialog to be on top (set focus to new window or dismiss focus on AI window)? I do not know how to configure the AI project to allow this if even possible. Since this is in the remove resources execution, i do not think i can intervene with custom action logic.
Are there event handlers that could be configured in AI for this condition?
Are there properties to configure for AI to silently handle this window handle?
I could write a special exe that is spawned by AI that listens for this event and handle it but i think that is a very hacky way to deal with it. I'd much rather AI handle this condition to minimize risk of launching an outside process.
Attached is a screenshot of the user experience and condition related to my problem. To duplicate this could be tricky for you. You would need to install a printer driver with AI, create another package with AI with a new product code, and watch what happens.
Any help would be appreciated. Thanks
David