lessmsi
lessmsi copied to clipboard
Fails to extract MSI from setup created by Caphyon Advanced Installer on Wine
MSI from Saturn PCB Design Toolkit installer https://www.saturnpcb.com/pcb_toolkit.htm v7.02 uses Caphyon Advanced Installer (not the "W" version which uses GkSetup)
Wine Staging 1.9.23 Xubuntu Linux 14.04 x86_64 Net Framework 4.0 installed by winetricks 20161005 (env WINEARCH=win32 winetricks -q dotnet40)
I encountered the problem when trying to diagnose a crash with the Toolkit installer caused by Wine bug #34989. The MSI is left behind:
$HOME/$WINEPREFIX/drive_c/users/$USER/Application Data/Saturn PCB Design, Inc/Saturn PCB Toolkit V7.02 7.02/install/Saturn PCB Design, Inc. - PCB Toolkit.msi
It loads and shows the contents but fails to extract anything. It works properly with other MSI files:
System.Exception: Error copying file …install\disk1.cab to …\disk1.cab LessIO.Strategies.Win32.Win32FileSystemStrategyCopy
See screenshot.
Can you provide a link to download the MSI directly that has this problem?
It would be useful to test it on windows and see if there are similar problems. Have you tried lessmsi on this MSI on windows?
The comma in the file path ("Saturn PCB Design, Inc") catches my eye since LessIO is relatively new. It might be good to add a test to the LessIO project using a similar path to make sure the problem isn't in there.
If it isn't that, LessIO extensively uses Win32 APIs via P/Invoke operations. Maybe those APIs behave slightly differently under Wine?
Install package: https://www.saturnpcb.com/getfile.html?source=Saturn_PCB_Toolkit_V7.02_Setup.zip
Advanced Installer: http://www.advancedinstaller.com
I tried it on WinXP with Net 4 and received a different error message:
I noticed that there is a separate disk1.cab file in addition to the msi file present in the …/install directory at the last stage of installation.
Installer's temporary files: http://www.mediafire.com/file/45lr8dr44jxj22a/Saturn_PCB_Toolkit_V7.02_Setup_install_temp.7z
This issue might be bigger than WINE if it also gives an error on Windows for the same MSI.