InstallShield 2018 Basic MSI卸载无Finish按钮弹窗问题求助
Hey there! Let’s tackle this uninstall finish dialog issue with your Basic MSI project. I’ve run into similar quirks before, so here’s how to get that confirmation dialog back for your users:
1. Check the Uninstall UI Sequence
- Open your Basic MSI project in InstallShield 2018.
- Navigate to Behavior and Logic > Sequences > Uninstall UI Sequence.
- Look for the
FinishDialogentry:- If it’s missing: Right-click the sequence list, select Add Dialog, pick
FinishDialogfrom the options, and place it at the very end of the sequence (after all cleanup actions). - If it exists but doesn’t show up: Verify its Condition field. A reliable default is
REMOVE="ALL"—this ensures the dialog triggers during a full uninstall. Avoid overly strict conditions that might block it from running.
- If it’s missing: Right-click the sequence list, select Add Dialog, pick
2. Ensure Proper Sequence Flow
- In the Uninstall UI Sequence, confirm that after the
ExecuteAction(which handles the actual uninstall work), the sequence proceeds directly toFinishDialog. - Check for custom actions that might abort the sequence early. If a custom action returns an error without proper handling, it could skip the finish dialog. Adjust the return type of critical actions to "Fail installation" and non-critical ones to "Ignore" as needed.
3. Cross-Reference with Your Working InstallScript MSI Project
Since your InstallScript MSI project works correctly, use it as a reference:
- Open the working project, go to its Uninstall UI Sequence, and note the position and condition settings for
FinishDialog. - Copy those exact settings over to your Basic MSI project to align the behavior.
4. Troubleshoot with Verbose Logging
If the above steps don’t resolve the issue, generate a verbose uninstall log to spot sequence breaks. Run this command in Command Prompt:
msiexec /x {YourProductGUID} /l*v uninstall.log
Open the log file and search for FinishDialog entries. Look for messages about unmet conditions or skipped actions—this will help you pinpoint hidden issues with your sequence or custom logic.
After making these adjustments, build a new installer and test the uninstall flow. The finish dialog should now appear, letting users clearly see if the uninstall completed successfully, was interrupted, or hit errors.
内容的提问来源于stack exchange,提问作者agshah

