driojas73
Posts: 11
Joined: Mon Feb 20, 2017 8:55 pm

Driver framework issue with uninstalling a driver during a major upgrade

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
Attachments
AI to AI 2.png
AI to AI 2.png (513.46 KiB) Viewed 2305 times
Daniel
Posts: 8238
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: Driver framework issue with uninstalling a driver during a major upgrade

Hello David,

This is quite strange. I really don't know why the remove driver dialog is spawned behind the installation dialogs. I'm afraid the remove driver dialog is solely spawned and controlled by the Windows Installer service and there is no option to handle it.

Can you please make sure you didn't check the "On uninstall remove the binary files that where copied to the system when installed" option from "drivers" page?

Let us know if this helped.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
driojas73
Posts: 11
Joined: Mon Feb 20, 2017 8:55 pm

Re: Driver framework issue with uninstalling a driver during a major upgrade

Thanks for the feedback. We retested with the "On uninstall remove the binary files that where copied to the system when installed" option unchecked. Unfortunately, this did not change the behavior. This problem makes it difficult for us to comfortably release the installer with this behavior. Do you have any other suggestions?
Daniel
Posts: 8238
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: Driver framework issue with uninstalling a driver during a major upgrade

Hello David,

Unfortunately I'm out of ideas. Could you send us to support at advancedinstaller dot com a download link for your old and new setup project and the AIPs (project files) of those setup versions?

Maybe we could find out anything useful by testing and replicating the issue on our side.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”