https://bugs.winehq.org/show_bug.cgi?id=45956
--- Comment #8 from Zebediah Figura z.figura12@gmail.com --- I've done some looking at this. There's a number of problems with our dialog code, but the most relevant ones here are:
* Text controls should have their contents re-evaluated when a spawned dialog is closed. (For some reason this only happens when the control has an associated Property, even though that Property is never used in any way.) This seems to be what is responsible for setting the text to the updated path.
* Currently all Text controls have the SelectionPath attribute subscribed to a SelectionPath event [1]. This is almost certainly wrong, firstly because according to MSDN there is no such attribute of a Text control [2] or in fact of any control [3], and secondly because it is programmed such that the property itself and not its contents are copied to the contents of the control. This is what is responsible for setting the string _BrowseProperty.
I don't think either of these are directly responsible for bug 19712.
I intend to continue working on this, to fix these bugs and others.
[1] https://source.winehq.org/git/wine.git/commitdiff/fdfb10e02b13276286300739bd... [2] https://docs.microsoft.com/en-us/windows/desktop/msi/text-control [3] https://docs.microsoft.com/en-us/windows/desktop/msi/control-attributes