During package installation, we show the WPF-based progress dialog. This dialog runs on UI thread and hence it has two disadvantages:
1. The progress bar doesn't move smoothly, because DTE operations happen to run on UI thread too.
2. It affects the perf of DTE operations.
I'd suggest we switch to using VS-provided threaded dialog, which runs on background thread and avoids the above disadvantages.
What we'll lose though is the ability to show colored text; and we can only show one message at a time (as opposed to all messages inside scrollviewer with the current dialog). IMO, this are not a big deal. All messages can be viewed after the fact in the Output window anyway.
I believe the benefits outweigh the losses.
1. The progress bar doesn't move smoothly, because DTE operations happen to run on UI thread too.
2. It affects the perf of DTE operations.
I'd suggest we switch to using VS-provided threaded dialog, which runs on background thread and avoids the above disadvantages.
What we'll lose though is the ability to show colored text; and we can only show one message at a time (as opposed to all messages inside scrollviewer with the current dialog). IMO, this are not a big deal. All messages can be viewed after the fact in the Output window anyway.
I believe the benefits outweigh the losses.