http://bugs.winehq.org/show_bug.cgi?id=10368
James Hawkins truiken@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|wine-msi |wine-misc
--- Comment #6 from James Hawkins truiken@gmail.com 2007-12-21 17:44:12 --- This is not a bug in msi. The problem is that the preliminary installer calls MsiInstallProduct on CorelPreInstall.msi. There are several properties sent in to this installer (taken from a run in Windows),
ACTIONTODO="AcquireKey" MAIN_INSTALL_DLG_TITLE="Setup Initialization" SERIALNUMBER="DR13WTX-9999998-YSP" ...
Before calling the sub-installer, the installer sets the title of the main window to "Setup Initialization". The sub-installer then calls FindWindowA using the value of the MAIN_INSTALL_DLG_TITLE passed in to MsiInstallProduct. The problem is that the command line is corrupted in Wine:
"ACTIONTODO="AcquireKey" MAIN_INSTALL_DLG_TITLE="Setup Initialization\0010\000b\00a1 SERIALNUMBER="DR13WTX-9999998-YS USERNAME=...
Notice the extra bytes on MAIN_INSTALL_DLG_TITLE and the missing end-quote on that and SERIALNUMBER. The sub-installer ends up calling FindWindowA("Setup Initialization\0010\000b\00a1 SERIALNUMBER=") which loops endlessly. If you set warn+heap, the second parameter to MsiInstallProduct is \00aa\00aa\00aa... so there's some corruption on the part of the Corel custom action CA_Callit that gets lucky enough to not mess up in Windows. Punt.