Bugs item #1841842, was opened at 2007-11-30 17:19 Message generated for change (Comment added) made by barnson You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1841842&group_id=105970
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: wixui >Group: v3.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Eric Bickle (shadowchaser) Assigned to: Bob Arnson (barnson) Summary: Move InstallUISequence items out of dialogs and into UIs Initial Comment: Presently, some dialog sequencing information is stored within the dialogs themselves. For example, WelcomeEulaDialog.wxs includes the following: <InstallUISequence> <Show Dialog="WelcomeEulaDlg" Before="ProgressDlg">NOT Installed</Show> </InstallUISequence> Including this information in the dialog file makes it difficult to fully control the sequencing of dialogs in a "custom" ui mode. The dialogs should be fully "self contained", with the sequencing information being 100% contained within the UI files, such as WixUI_FeatureTree.wxs. * Remove all of the InstallUISequence elements from the dialogs and place them as child elements of each individual <UI>. * Remove all of the "Publish" elements from the dialogs that are used to connect sequences of dialogs together. Place the publish elements within each individual "UI" file instead. * Do not include any code within a dialog that looks at "WixUI_Mode". If WixUI_Mode is required in a dialog, it probably means that the dialog is not properly componentized. These changes would componentize each dialog, making them fully reusable in customized user interfaces. ---------------------------------------------------------------------- >Comment By: Bob Arnson (barnson) Date: 2007-12-03 21:15 Message: Logged In: YES user_id=26581 Originator: NO Patches are always welcome. Here's my feedback on your suggestions: 1. Most of the scheduling that exists supports customization. For example, ExitDialog and FatalError schedule themselves but that scheduling is used only if that dialog is referenced. If nothing references the dialog, its scheduling isn't linked in. 1b. That said, the "welcome" dialogs are scheduled before ProgressDlg, so that one dialog is coupled with a couple of others. Two ways come to mind to fix that coupling without losing the "self-scheduling": Use the Overridable attribute or a bind-time variable instead of the literal "ProgressDlg." 2. All the behavior is already moved out of the dialog classes, with the exception of - Installation kickoff - Cancel handling - Print EULA handling I'd argue those shouldn't be overridable in every dialog set (installation kickoff) or are trivial (cancel and print), plus moving those into the dialog set fragments would be a breaking change. I need convincing it's a good idea. 3. Nothing looks at WixUI_Mode any more. It's vestigial except that the Dark decompiler looks at it to determine which dialog set was used. ---------------------------------------------------------------------- Comment By: Eric Bickle (shadowchaser) Date: 2007-12-03 18:02 Message: Logged In: YES user_id=416299 Originator: YES I'd be interested in working on this and submitting a patch for this, if the WiX team thinks this is a good idea. Right now, any minor change to any of the dialogs means a developer basically needs to re-write all of the dialogs from scratch to workaround the sequencing/dialog componentization issues. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1841842&group_id=105970 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-devs mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wix-devs
