From: Hoover, J. <Jac...@gr...> - 2015-04-12 04:09:27
|
http://wixtoolset.org/issues/4512/ Technically any enabled button would allow multiple clicks between DetectBegin and DetectComplete. The question I have, is shouldn't any installation state info passed in DetectBegin also be passed in DetectComplete? I know in 3.x we can't modify the signature, but to me we shouldn't be proclaiming the overall bundle state until after detection is done. In 3.x, either I could introduce a new state indicator, DetectedAbsentInstalling, which would indicate the button was clicked, or a local member variable in the installation view model that would prevent the double invocation. Which ever pattern we favor, I think we should also apply it to the Repair and Uninstall commands. Even with the detected state not being "available" until DetectComplete, it's almost as if we need a OneShotRelayCommand class to only allow a single invocation, and if a user is able to abort out the OneShotRelay should be reset. Thoughts? Thanks, Jacob |