http://bugs.winehq.org/show_bug.cgi?id=17983
Summary: WiX fails with builtin msi.dll Product: Wine Version: 1.1.18 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: hib@hiberis.nl
Created an attachment (id=20350) --> (http://bugs.winehq.org/attachment.cgi?id=20350) reproduce-wix-msi-bug.sh
With Windows Installer XML (WiX) toolset, you can create .msi packages. The program light.exe creates these packages.
Light.exe succeeds both when run with wine's builtin msi.dll and with a native msi.dll. However, the msi package produced with the builtin msi.dll does not install on MS Windows (XP), while the one built with the native msi.dll does.
Apparently, light.exe fails without complaining, which makes it difficult to pinpoint the problem. Nonetheless, looking at the produced .msi packages it seems that there is something wrong with the Summary information.
I have attached a script to reproduce the problem.
Note, the storage warnings that light.exe produces can be get rid off by using a native ole32.dll, but that does not appear to affect this bug.
http://bugs.winehq.org/show_bug.cgi?id=17983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
--- Comment #1 from Austin English austinenglish@gmail.com 2009-04-09 17:47:54 --- Please attach a +msi,+msidb trace.
http://bugs.winehq.org/show_bug.cgi?id=17983
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #2 from Dan Kegel dank@kegel.com 2009-04-10 20:48:35 --- This is for the win32 GTK+ port's crossbuild system; see http://live.gnome.org/GTK%2B/Win32
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #3 from Hib Eris hib@hiberis.nl 2009-04-14 05:15:54 --- Created an attachment (id=20437) --> (http://bugs.winehq.org/attachment.cgi?id=20437) trace-msi-msidb.log
The output of:
WINEDEBUG='trace+msi,+msidb' WINEDLLOVERRIDES='msi=b' wine 'C:\Program Files\Windows Installer XML v3\bin\light.exe' -sval -sh -sacl product.wixobj -out product-wine.msi > trace-msi-msidb.log 2>&1
http://bugs.winehq.org/show_bug.cgi?id=17983
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #4 from Hans Leidekker hans@meelstraat.net 2009-04-14 05:26:40 --- I have submitted a fix for the summary information bug:
http://www.winehq.org/pipermail/wine-patches/2009-April/071813.html
but it's not enough to make wix generated packages install on Windows.
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #5 from Hib Eris hib@hiberis.nl 2009-04-14 11:38:57 --- (In reply to comment #4)
I have submitted a fix for the summary information bug:
http://www.winehq.org/pipermail/wine-patches/2009-April/071813.html
Nice work!!! With this patch applied it seems the summary information is okay, and the installer on Windows does not complain any longer about the produced package not being an msi-package.
but it's not enough to make wix generated packages install on Windows.
Indeed, there still seems to be something wrong, probably with the contents of the tables in the msi package.
I have created a new product.msi package with the above patch applied with the builtin msi.dll. When I look at this package with Orca on Linux/Wine, it looks good (see screenshot-1), but when I look at it with Orca on WindowsXP, the contents of the tables looks corrupted (see screenshot-2). With Orca on Linux/Wine+native msi.dll I see the same result as on Windows XP.
This leads me to the conclusion that both reading and writing of the tables is wrong on Wine. (Disclaimer: As I really have no clue on how wine works, feel free to question any conclusion of mine).
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #6 from Hib Eris hib@hiberis.nl 2009-04-14 11:41:32 --- Created an attachment (id=20442) --> (http://bugs.winehq.org/attachment.cgi?id=20442) screenshot-1-product-wine-orca-on-linux.png
The msi package tables look fine on wine...
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #7 from Hib Eris hib@hiberis.nl 2009-04-14 11:43:18 --- Created an attachment (id=20443) --> (http://bugs.winehq.org/attachment.cgi?id=20443) screenshot-2-product-wine-orca-on-windows.JPG
... but look corrupted on Windows XP.
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #8 from Hib Eris hib@hiberis.nl 2009-04-24 13:08:57 --- Created an attachment (id=20672) --> (http://bugs.winehq.org/attachment.cgi?id=20672) 0001-msi-fix-INT-column-data-type.patch
This is a one line patch that fixes this bug!
Unfortunately, I really do not know why it works, but it just makes the data type for INT columns in the msi file the same as my native msi.dll makes them.
I have no idea how to write a test for this, as this problem only appears when you write an msi file with wine, and later read it on windows and/or on wine with a native msi.dll.
http://bugs.winehq.org/show_bug.cgi?id=17983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #9 from Hib Eris hib@hiberis.nl 2009-04-25 09:59:20 --- I managed to write a test case for this and I have send the patch and a patch for the test to wine-patches@winehq.org.
http://bugs.winehq.org/show_bug.cgi?id=17983
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Hans Leidekker hans@meelstraat.net 2009-05-16 10:02:56 --- Patches were committed, can we close this bug?
http://bugs.winehq.org/show_bug.cgi?id=17983
--- Comment #11 from Hib Eris hib@hiberis.nl 2009-05-16 14:09:20 --- There are some more issues with the builtin msi.dll when using WiX. I am currently working on these.
- improve DatabaseMerge to include tables missing in the original database. - support for OBJECT type (streams).
http://bugs.winehq.org/show_bug.cgi?id=17983
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2009-05-22 11:16:38 --- Closing bugs fixed in 1.1.22.
https://bugs.winehq.org/show_bug.cgi?id=17983
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net URL| |https://web.archive.org/web | |/20210315120534/https://raw | |.githubusercontent.com/Casa | |DeRobison/wixtoolset-codepl | |ex/master/archived-stable-v | |ersions/WiX%20Toolset%20v3. | |0%20Stable/Wix3.msi Fixed by SHA1| |0a81fbfa391c84c5ce22bbb11e9 | |6c972822b8812 Summary|WiX fails with builtin |WiX Toolset v3.x: Light.exe |msi.dll |creates broken MSI packages