http://bugs.winehq.org/show_bug.cgi?id=17908
--- Comment #9 from Michael Karcher wine@mkarcher.dialup.fu-berlin.de 2011-05-27 13:09:58 CDT --- First, sorry for not being responsive on this bug earlier. Second, sorry for misspelling the tool name - it's not TCSCP, but TCSPC, a commercial data acquisition and evaluation tool for "time-correlated single-photon counting", made by Becker & Hickl. The installer I referred to is stored at http://www.becker-hickl.de/download/tcspcpackage/tcspc_setup_32.exe. I don't have any valid license code at hands anymore (and also didn't anymore at October 2009 when Austin English asked), so I can't test whether wine will still pass with a valid license code. The offending MSI is extracted by that exe installer, and can be easily located using "ps x" when the installer is running (look for a msiexec process having the path to the file as parameter). In that MSI file, check the User_Information_Dialog, especially the event handling for the "Next" control.
On the other hand, I am slightly disappointed by my analysis of the problem going down the drain by abondoning the bug. So I made a minimal example (using a JScript instead of a native code action) exposing the same problem. The attached MSI file works fine in Windows (i.e. keeps re-asking for the license code until you enter "VALID", in which case the dialog sequence ends), while in Wine the loop can not be exited with any license code (I also attached the sources that can be put into "wine winemsibuilder -i winetest.msi *.idt"). The question "does the bug still exist" annoyed me a bit, as the code doing the invalid reordering (processing the property events before all other events despite of what the Ordering column says) is not changed since the 2006 commit I pointed out (according to git blame).
OTOH the Installer for America's Army most likely should be retested, whether it still needs the cited patch that caused the regression, because scheduling of action has indeed changed since 2006, which might cause the action that was executed too early to run at the right time through the scheduling mechanism.