https://bugs.winehq.org/show_bug.cgi?id=45455
Bug ID: 45455 Summary: Installation of Cetus3D-Software crashes Product: Wine Version: 3.0.2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: pellwestphal@googlemail.com Distribution: ---
Hello forum,
I wanted to install this software: https://www.tiertime.com/downloads/software/ its a 3D-printer software to load print jobs and control the printer.
https://pastebin.com/ThMrEcAh <- terminal output during installation
The installation starts up fine and I can go through the first few steps without any issues except those repeating first lines you see in the terminal paste. When I come to the actual installation it starts but then crashes after the installation bar filled after a few seconds. The errors and fixme lines appear instantly in the terminal. Please help finding the underlying issue
My system is an x220 running Ubuntu 16.04 LTS with an i3wm as ui.
Thank you, Per
https://bugs.winehq.org/show_bug.cgi?id=45455
pellwestphal@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=45455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |setupapi Summary|Installation of |Cetus3D-Software (3D |Cetus3D-Software crashes |printer) UP Studio 2.4.x | |driver installation fails | |due to missing | |'setupapi.dll.DriverStoreFi | |ndDriverPackageW' stub Keywords| |download, Installer Ever confirmed|0 |1 CC| |focht@gmx.net Status|UNCONFIRMED |NEW Depends on| |34989 URL| |https://www.tiertime.com/do | |wnloads/software/
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. It doesn't crash for me but hangs with Wine 3.12
It's actually a dupe of bug 34989 (Caphyon 'Advanced Installer' technology based installer). To make this ticket still useful, creating a dependency and using it for the next issue which about failure to install USB drivers.
--- snip --- $ WINEDEBUG=+seh,+loaddll,+process,+relay,+msi wine ./UP_Studio_x86_2.4.22.351.exe >>log.txt 2>&1 ... 0035:Call KERNEL32.CreateProcessW(00000000,00c1df0c L""Z:\home\focht\Downloads\UP_Studio_x86_2.4.22.351.exe" /i "C:\users\focht\Application Data\Beijing Tiertime corporation\UP Studio 2.4.22.351\install\UP Studio x86.msi" CHAINERUIPROCESSID="46Chainer" EXECUTEACTION="INSTALL" SECONDSEQUENCE="1" CLIENTPROCESSID="46" ADDLOCAL="AI32"...,00000000,00000000,00000000,00000410,00000000,00000000,00c1d9e0,00c1d9d0) ret=7e4132d3 ... 004c:Call KERNEL32.__wine_kernel_init() ret=7bc6d604 0035:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e4132d3 ... 0049:trace:msi:ACTION_CustomAction Handling custom action L"MsiInstallDrivers" (2c01 L"DIFxAppA.dll" L"InstallDriverPackages") 0049:warn:msi:ACTION_CustomAction msidbCustomActionTypeNoImpersonate not handled 0049:trace:msi:msi_get_property 0x177828 L"MsiInstallDrivers" (nil) 0x33e9a4 ... 0049:trace:msi:msi_get_property returning L"2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation" for property L"MsiInstallDrivers" 0049:trace:msi:msi_set_property 0x177828 L"CustomActionData" L"2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation" 130 0049:trace:msi:msi_get_property 0x177828 L"CustomActionData" (nil) 0x33e968 ... 006a:trace:msi:__wine_msi_call_dll_function calling "InstallDriverPackages" ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e8 L"DIFXAPP: ENTER: InstallDriverPackages()") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: INFO: 'CustomActionData' property 'DIFxApp Version' is '2.1.1'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3d8 L"DIFXAPP: INFO: 'CustomActionData' property 'UI Level' is '5'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3cc L"DIFXAPP: INFO: 'CustomActionData' property 'componentId' is '{09D60680-3164-4045-B99D-0978980A9E27}'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3c0 L"DIFXAPP: INFO: 'CustomActionData' property 'componentPath' is 'C:\Program Files\UP Studio\win32\Driver\'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3ac L"DIFXAPP: INFO: user SID of user performing the install is 'S-1-5-21-0-0-0-1000'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f36c L"DIFXAPP: INFO: ENTER: DriverPackageInstallW") ret=006bff8c ... 006a:Call KERNEL32.CreateFileW(00174b70 L"C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf",80000000,00000001,00000000,00000003,00000000,00000000) ret=f6a1aeb3 006a:Ret KERNEL32.CreateFileW() retval=0000009c ret=f6a1aeb3 ... 006a:Call KERNEL32.MultiByteToWideChar(00000000,00000000,00580000 "[Version]\r\nSignature = "$Windows NT$"\r\nClass = FreeMotion\r\nClassGuid={3b6e9075-4ae4-417c-8471-66b3db349183}\r\nProvider = %ProviderName%\r\nDriverVer=01/19/2017,1.1.3.0\r\nCatalogFile=WinusbFM.cat\r\n\r\n; ================== Class section ==================\r\n\r\n[ClassInstall32]\r\nAddreg=F"...,00003655,0017d838,00003655) ret=f6a1a9e1 006a:Ret KERNEL32.MultiByteToWideChar() retval=00003655 ret=f6a1a9e1 ... 006a:Call setupapi.SetupFindFirstLineW(00174be8,001768a0 L"Version",00184fa0 L"DriverPackageType",0056fa00) ret=006d4ed1 006a:Ret setupapi.SetupFindFirstLineW() retval=00000000 ret=006d4ed1 ... 006a:Call setupapi.SetupFindFirstLineW(00174be8,001768a0 L"Version",00184fd8 L"CatalogFile",0056fa00) ret=006d4ed1 006a:Ret setupapi.SetupFindFirstLineW() retval=00000001 ret=006d4ed1 ... 006a:Call setupapi.pSetupGetGlobalFlags() ret=006d36cb 006a:fixme:setupapi:pSetupGetGlobalFlags stub 006a:Ret setupapi.pSetupGetGlobalFlags() retval=00000000 ret=006d36cb 006a:Call setupapi.pSetupSetGlobalFlags(00000000) ret=006d36e7 006a:Ret setupapi.pSetupSetGlobalFlags() retval=00000000 ret=006d36e7 ... 006a:Call msvcrt._wcsicmp(00174958 L"C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf",00176a58 L"C:\windows\Inf\WinusbFM.inf") ret=006c5490 006a:Ret msvcrt._wcsicmp() retval=fffffff9 ret=006c5490 ... 006a:Call KERNEL32.LoadLibraryW(006ba3a0 L"setupapi.dll") ret=006d4973 006a:Ret KERNEL32.LoadLibraryW() retval=f69f0000 ret=006d4973 006a:Call KERNEL32.GetProcAddress(f69f0000,006ba3e8 "DriverStoreFindDriverPackageW") ret=006d4993 006a:Ret KERNEL32.GetProcAddress() retval=00000000 ret=006d4993 006a:Call KERNEL32.GetLastError() ret=006d499f 006a:Ret KERNEL32.GetLastError() retval=0000007f ret=006d499f 006a:Call KERNEL32.FreeLibrary(f69f0000) ret=006d4a0b 006a:Ret KERNEL32.FreeLibrary() retval=00000001 ret=006d4a0b ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f368 L"DIFXAPP: INFO: RETURN: DriverPackageInstallW (0x65B)") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: ERROR: encountered while installing driver package 'C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf'") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: ERROR: InstallDriverPackages failed with error 0x65B") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e0 L"DIFXAPP: RETURN: InstallDriverPackages() 1627 (0x65B)") ret=006bff8c ... 006a:Ret msi.__wine_msi_call_dll_function() retval=00000643 ret=7efed5b7 ... 0049:err:msi:execute_script Execution of script 0 halted; action L"[2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation<=>S-1-5-21-0-0-0-1000<=>{C92628E7-08FF-4DE7-893D-5F1009FC277D}]MsiInstallDrivers" returned 1603 --- snip ---
'WinusbFM.inf':
--- snip --- [Version] Signature = "$Windows NT$" Class = FreeMotion ClassGuid={3b6e9075-4ae4-417c-8471-66b3db349183} Provider = %ProviderName% DriverVer=01/19/2017,1.1.3.0 CatalogFile=WinusbFM.cat
; ================== Class section ==================
[ClassInstall32] Addreg=FreeMotionClassReg
[FreeMotionClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-1
; ========== Manufacturer/Models sections ===========
[Manufacturer] %ProviderName% = FreeMotion_WinUSB,NTx86,NTamd64,NTia64
[FreeMotion_WinUSB.NTx86] %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_0001 %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_2775 %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_2776 ... ; =================== Installation ===================
;[1] [USB_Install] Include=winusb.inf Needs=WINUSB.NT
;[2] [USB_Install.Services] Include=winusb.inf AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
;[3] [WinUSB_ServiceInstall] DisplayName = %FreeMotion_SvcDesc% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\winusb.sys
;[4] [USB_Install.Wdf] KmdfService=WINUSB, WinUsb_Install
[WinUSB_Install] KmdfLibraryVersion=1.9
;[5] [USB_Install.HW] AddReg=Dev_AddReg
[Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{7d7b43b9-09aa-4aa5-bf07-b03a94841722}"
;[6] [USB_Install.CoInstallers] AddReg=CoInstallers_AddReg CopyFiles=CoInstallers_CopyFiles
[CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles] WinUSBCoInstaller2.dll WdfCoInstaller01009.dll
[DestinationDirs] CoInstallers_CopyFiles=11
; ================= Source Media Section ===================== ;[7]
[SourceDisksNames] 1 = %DISK_NAME%,,,\i386 2 = %DISK_NAME%,,,\amd64 3 = %DISK_NAME%,,,\ia64
[SourceDisksFiles.x86] WinUSBCoInstaller2.dll=1 WdfCoInstaller01009.dll=1
[SourceDisksFiles.amd64] WinUSBCoInstaller2.dll=2 WdfCoInstaller01009.dll=2
[SourceDisksFiles.ia64] WinUSBCoInstaller2.dll=3 WdfCoInstaller01009.dll=3 ; =================== Strings ===================
[Strings] ProviderName="TierTime" USB\FreeMotion.DeviceDesc="3D Printer@FreeMotion" FreeMotion_SvcDesc="Free Motion USB" DISK_NAME="FM Driver Disk" ClassName="Free Motion Card" --- snip ---
The installer uses Microsoft DIFxApp - Driver Install Frameworks for Applications:
https://kobyk.wordpress.com/2008/10/21/installing-filter-drivers-with-difxap...
If the app really needs working USB hardware drivers you are out of luck here. Wine isn't an operating system. The Linux kernel needs to properly support the device first. When contemplating a hardware purchase with intention to run under Linux environment *always* do a research before. Ask the vendor about Linux support and other user's experiences with the product in a Linux environment to avoid surprise moments.
$ sha1sum UP_Studio_x86_2.4.22.351.exe 9ef910e38e19e094f4abee407fd712d3f30f01e8 UP_Studio_x86_2.4.22.351.exe
$ du -sh UP_Studio_x86_2.4.22.351.exe 127M UP_Studio_x86_2.4.22.351.exe
$ wine --version wine-3.12-110-g414fe80aeb
Regards
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #2 from pellwestphal@googlemail.com --- (In reply to Anastasius Focht from comment #1)
Hello folks,
confirming. It doesn't crash for me but hangs with Wine 3.12
It's actually a dupe of bug 34989 (Caphyon 'Advanced Installer' technology based installer). To make this ticket still useful, creating a dependency and using it for the next issue which about failure to install USB drivers.
--- snip --- $ WINEDEBUG=+seh,+loaddll,+process,+relay,+msi wine ./UP_Studio_x86_2.4.22.351.exe >>log.txt 2>&1 ... 0035:Call KERNEL32.CreateProcessW(00000000,00c1df0c L""Z:\home\focht\Downloads\UP_Studio_x86_2.4.22.351.exe" /i "C:\users\focht\Application Data\Beijing Tiertime corporation\UP Studio 2.4.22.351\install\UP Studio x86.msi" CHAINERUIPROCESSID="46Chainer" EXECUTEACTION="INSTALL" SECONDSEQUENCE="1" CLIENTPROCESSID="46" ADDLOCAL="AI32"...,00000000,00000000,00000000,00000410,00000000,00000000, 00c1d9e0,00c1d9d0) ret=7e4132d3 ... 004c:Call KERNEL32.__wine_kernel_init() ret=7bc6d604 0035:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e4132d3 ... 0049:trace:msi:ACTION_CustomAction Handling custom action L"MsiInstallDrivers" (2c01 L"DIFxAppA.dll" L"InstallDriverPackages") 0049:warn:msi:ACTION_CustomAction msidbCustomActionTypeNoImpersonate not handled 0049:trace:msi:msi_get_property 0x177828 L"MsiInstallDrivers" (nil) 0x33e9a4 ... 0049:trace:msi:msi_get_property returning L"2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation" for property L"MsiInstallDrivers" 0049:trace:msi:msi_set_property 0x177828 L"CustomActionData" L"2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation" 130 0049:trace:msi:msi_get_property 0x177828 L"CustomActionData" (nil) 0x33e968 ... 006a:trace:msi:__wine_msi_call_dll_function calling "InstallDriverPackages" ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e8 L"DIFXAPP: ENTER: InstallDriverPackages()") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: INFO: 'CustomActionData' property 'DIFxApp Version' is '2.1.1'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3d8 L"DIFXAPP: INFO: 'CustomActionData' property 'UI Level' is '5'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3cc L"DIFXAPP: INFO: 'CustomActionData' property 'componentId' is '{09D60680-3164-4045-B99D-0978980A9E27}'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3c0 L"DIFXAPP: INFO: 'CustomActionData' property 'componentPath' is 'C:\Program Files\UP Studio\win32\Driver\'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3ac L"DIFXAPP: INFO: user SID of user performing the install is 'S-1-5-21-0-0-0-1000'.") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f36c L"DIFXAPP: INFO: ENTER: DriverPackageInstallW") ret=006bff8c ... 006a:Call KERNEL32.CreateFileW(00174b70 L"C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf",80000000,00000001,00000000,00000003, 00000000,00000000) ret=f6a1aeb3 006a:Ret KERNEL32.CreateFileW() retval=0000009c ret=f6a1aeb3 ... 006a:Call KERNEL32.MultiByteToWideChar(00000000,00000000,00580000 "[Version]\r\nSignature = "$Windows NT$"\r\nClass = FreeMotion\r\nClassGuid={3b6e9075-4ae4-417c-8471-66b3db349183}\r\nProvider = %ProviderName%\r\nDriverVer=01/19/2017,1.1.3.0\r\nCatalogFile=WinusbFM. cat\r\n\r\n; ================== Class section ==================\r\n\r\n[ClassInstall32]\r\nAddreg=F"...,00003655,0017d838, 00003655) ret=f6a1a9e1 006a:Ret KERNEL32.MultiByteToWideChar() retval=00003655 ret=f6a1a9e1 ... 006a:Call setupapi.SetupFindFirstLineW(00174be8,001768a0 L"Version",00184fa0 L"DriverPackageType",0056fa00) ret=006d4ed1 006a:Ret setupapi.SetupFindFirstLineW() retval=00000000 ret=006d4ed1 ... 006a:Call setupapi.SetupFindFirstLineW(00174be8,001768a0 L"Version",00184fd8 L"CatalogFile",0056fa00) ret=006d4ed1 006a:Ret setupapi.SetupFindFirstLineW() retval=00000001 ret=006d4ed1 ... 006a:Call setupapi.pSetupGetGlobalFlags() ret=006d36cb 006a:fixme:setupapi:pSetupGetGlobalFlags stub 006a:Ret setupapi.pSetupGetGlobalFlags() retval=00000000 ret=006d36cb 006a:Call setupapi.pSetupSetGlobalFlags(00000000) ret=006d36e7 006a:Ret setupapi.pSetupSetGlobalFlags() retval=00000000 ret=006d36e7 ... 006a:Call msvcrt._wcsicmp(00174958 L"C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf",00176a58 L"C:\windows\Inf\WinusbFM.inf") ret=006c5490 006a:Ret msvcrt._wcsicmp() retval=fffffff9 ret=006c5490 ... 006a:Call KERNEL32.LoadLibraryW(006ba3a0 L"setupapi.dll") ret=006d4973 006a:Ret KERNEL32.LoadLibraryW() retval=f69f0000 ret=006d4973 006a:Call KERNEL32.GetProcAddress(f69f0000,006ba3e8 "DriverStoreFindDriverPackageW") ret=006d4993 006a:Ret KERNEL32.GetProcAddress() retval=00000000 ret=006d4993 006a:Call KERNEL32.GetLastError() ret=006d499f 006a:Ret KERNEL32.GetLastError() retval=0000007f ret=006d499f 006a:Call KERNEL32.FreeLibrary(f69f0000) ret=006d4a0b 006a:Ret KERNEL32.FreeLibrary() retval=00000001 ret=006d4a0b ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f368 L"DIFXAPP: INFO: RETURN: DriverPackageInstallW (0x65B)") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: ERROR: encountered while installing driver package 'C:\Program Files\UP Studio\win32\Driver\WinusbFM.inf'") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e4 L"DIFXAPP: ERROR: InstallDriverPackages failed with error 0x65B") ret=006bff8c ... 006a:Call msi.MsiRecordSetStringW(00000002,00000000,0056f3e0 L"DIFXAPP: RETURN: InstallDriverPackages() 1627 (0x65B)") ret=006bff8c ... 006a:Ret msi.__wine_msi_call_dll_function() retval=00000643 ret=7efed5b7 ... 0049:err:msi:execute_script Execution of script 0 halted; action L"[2.1.1\00015\0001{09D60680-3164-4045-B99D-0978980A9E27}\0001C:\Program Files\UP Studio\win32\Driver\\00010\00012\0001UP Studio\0001Beijing Tiertime corporation<=>S-1-5-21-0-0-0-1000<=>{C92628E7-08FF-4DE7-893D- 5F1009FC277D}]MsiInstallDrivers" returned 1603 --- snip ---
'WinusbFM.inf':
--- snip --- [Version] Signature = "$Windows NT$" Class = FreeMotion ClassGuid={3b6e9075-4ae4-417c-8471-66b3db349183} Provider = %ProviderName% DriverVer=01/19/2017,1.1.3.0 CatalogFile=WinusbFM.cat
; ================== Class section ==================
[ClassInstall32] Addreg=FreeMotionClassReg
[FreeMotionClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-1
; ========== Manufacturer/Models sections ===========
[Manufacturer] %ProviderName% = FreeMotion_WinUSB,NTx86,NTamd64,NTia64
[FreeMotion_WinUSB.NTx86] %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_0001 %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_2775 %USB\FreeMotion.DeviceDesc% =USB_Install, USB\VID_4745&PID_2776 ... ; =================== Installation ===================
;[1] [USB_Install] Include=winusb.inf Needs=WINUSB.NT
;[2] [USB_Install.Services] Include=winusb.inf AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
;[3] [WinUSB_ServiceInstall] DisplayName = %FreeMotion_SvcDesc% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\winusb.sys
;[4] [USB_Install.Wdf] KmdfService=WINUSB, WinUsb_Install
[WinUSB_Install] KmdfLibraryVersion=1.9
;[5] [USB_Install.HW] AddReg=Dev_AddReg
[Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{7d7b43b9-09aa-4aa5-bf07-b03a94841722}"
;[6] [USB_Install.CoInstallers] AddReg=CoInstallers_AddReg CopyFiles=CoInstallers_CopyFiles
[CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller", "WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles] WinUSBCoInstaller2.dll WdfCoInstaller01009.dll
[DestinationDirs] CoInstallers_CopyFiles=11
; ================= Source Media Section ===================== ;[7]
[SourceDisksNames] 1 = %DISK_NAME%,,,\i386 2 = %DISK_NAME%,,,\amd64 3 = %DISK_NAME%,,,\ia64
[SourceDisksFiles.x86] WinUSBCoInstaller2.dll=1 WdfCoInstaller01009.dll=1
[SourceDisksFiles.amd64] WinUSBCoInstaller2.dll=2 WdfCoInstaller01009.dll=2
[SourceDisksFiles.ia64] WinUSBCoInstaller2.dll=3 WdfCoInstaller01009.dll=3 ; =================== Strings ===================
[Strings] ProviderName="TierTime" USB\FreeMotion.DeviceDesc="3D Printer@FreeMotion" FreeMotion_SvcDesc="Free Motion USB" DISK_NAME="FM Driver Disk" ClassName="Free Motion Card" --- snip ---
The installer uses Microsoft DIFxApp - Driver Install Frameworks for Applications:
https://kobyk.wordpress.com/2008/10/21/installing-filter-drivers-with- difxapp-and-a-wix-v3-msi/
If the app really needs working USB hardware drivers you are out of luck here. Wine isn't an operating system. The Linux kernel needs to properly support the device first. When contemplating a hardware purchase with intention to run under Linux environment *always* do a research before. Ask the vendor about Linux support and other user's experiences with the product in a Linux environment to avoid surprise moments.
$ sha1sum UP_Studio_x86_2.4.22.351.exe 9ef910e38e19e094f4abee407fd712d3f30f01e8 UP_Studio_x86_2.4.22.351.exe
$ du -sh UP_Studio_x86_2.4.22.351.exe 127M UP_Studio_x86_2.4.22.351.exe
$ wine --version wine-3.12-110-g414fe80aeb
Regards
Hey Anastasius,
Thank you for responding so quickly ! I think I could get things to work without a USB connection. But I haven't quite understood your comment. Is there a way to get the installer running and have functioning program (without USB support) ? If you had a link...
Thank you again, Per
https://bugs.winehq.org/show_bug.cgi?id=45455
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #3 from Austin English austinenglish@gmail.com --- Hi Focht,
Do you know the prototype for this? I can't find a header or anything online.
https://bugs.winehq.org/show_bug.cgi?id=45455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Cetus3D-Software (3D |Cetus3D-Software (3D |printer) UP Studio 2.4.x |printer) UP Studio 2.4.x |driver installation fails |driver installation fails |due to missing |due to missing |'setupapi.dll.DriverStoreFi |'setupapi.dll.DriverStoreFi |ndDriverPackageW' stub |ndDriverPackageW' stub | |(Microsoft Driver Install | |Frameworks for Applications | |- DIFxApp)
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello pellwestphal,
--- quote --- I think I could get things to work without a USB connection. But I haven't quite understood your comment. --- quote ---
https://www.cetus3d.com/en/forums/topic/can-the-cetus3d-be-connected-to-a-pr...
--- quote --- The Cetus3D has WiFi and connects to your local network that way.
That said, their USB protocol is proprietary, so you're not likely to have luck with that. There is a partial open source implementation: github.com/UP3D-gcode/UP3D but that would only be a starting point.
If you want g-code support to use something like octoprint, you'll need to get the tinyFab CPU which should plug into your Cetus3D's motherboard. --- quote ---
If the full functionality is available via WiFi then you might get lucky here.
Native Linux (albeit limited) support from some reverse engineered protocols -> UP3DTools (console apps):
https://www.stohn.de/3d/index.php/2016/03/10/up3dtools-little-how-to/
https://github.com/MaikStohn/UP3D
No idea if all the needed functionality is implemented there.
--- quote --- Is there a way to get the installer running and have functioning program (without USB support) ? If you had a link... --- quote ---
I'm not the developer of this software and don't own any hardware to test with, how should I know? The outer installer seems to accept some command line arguments though:
--- snip --- ... 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f278 L"/i") ret=00451170 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451170 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f264 L"/package") ret=0045119a 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=0045119a 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f25c L"/a") ret=004511c1 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004511c1 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f214 L"/n") ret=00451220 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451220 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f23c L"/t") ret=0045135c 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=0045135c 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f234 L"/x") ret=004513b5 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004513b5 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f21c L"/uninstall") ret=004513dc 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004513dc 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1f4 L"/quiet") ret=00451403 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451403 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1e0 L"/passive") ret=0045142f 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=0045142f 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1d0 L"/qn") ret=0045145b 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=0045145b 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1d8 L"/q") ret=00451482 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451482 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1c8 L"/qb") ret=004514a9 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004514a9 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1c0 L"/qr") ret=004514d8 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004514d8 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1b8 L"/qf") ret=00451507 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451507 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f1a0 L"/norestart") ret=00451536 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451536 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f180 L"/promptrestart") ret=00451562 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=00451562 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f164 L"/forcerestart") ret=0045158e 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=0045158e 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f158 L"/log") ret=004515ba 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004515ba 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f134 L"/uithread") ret=004518c7 002e:Ret KERNEL32.lstrcmpiW() retval=ffffffff ret=004518c7 002e:Call KERNEL32.lstrcmpiW(0033f51c L"-?",0050f204 L"/no_ini") ret=004518f7 ... 002e:Call user32.MessageBoxW(00000000,005f8b30 L"Invalid command line",00000000,00000010) ret=00415697 --- snip ---
These are standard MSI-compatible arguments but they don't allow to control the installation of components.
Peeking into 'UP Studio x86.msi', 'Component' table via ORCA revealed some possible workaround...
--- snip --- WinusbFM.inf_1 {46523B0D-F690-48B5-8166-80E828889E5E} WinuFM_Dir 256 VersionNT64 WinusbFM.inf WinusbFM.inf_2 {09D60680-3164-4045-B99D-0978980A9E27} Driver_Dir 0 VersionNT >= 500 WinusbFM.inf_1 --- snip ---
Indeed, if one sets the Windows version of the 32-bit WINEPREFIX to 'Windows 2000' via 'winecfg', the installer will skip installation of the driver component(s). It will warn you about it at the end but let the installer succeed. Afterwards WinVer should be set back to default 'Windows 7'.
NOTE: Any follow-up issues should not be discussed here. Wine Bugzilla is for reporting bugs, not end-user discussions ("what do I need to do to get my app to work" -> https://forum.winehq.org/).
Regards
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello Austin,
--- quote --- Do you know the prototype for this? I can't find a header or anything online. --- quote ---
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/driver-sto...
https://technet.microsoft.com/de-de/office/ff544837(v=vs.80).aspx
--- quote --- Starting with Windows 7, the Windows Driver Kit (WDK) includes version 2.1 of DIFxApp. For information about how to obtain the latest WDK, see How to Get the WDK. Note Although version 2.1 of DIFxApp was available in earlier versions of the WDK, use the version of DIFxApp in the Windows 7 WDK and later versions of the WDK.
Starting with Microsoft Windows 2000, DIFxApp supports installing signed Plug and Play (PnP) function drivers and signed class filter drivers. You need to create only one installation package that will install driver packages. DIFxApp can also be configured in legacy mode to install unsigned PnP function drivers and unsigned class filter drivers. In legacy mode, DIFxApp will also install driver packages that have missing files. --- snip ---
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/difx-guide...
--- quote --- DIFx Guidelines
Starting in Windows 10 Version 1607 (Redstone 1), the Driver Install Frameworks (DIFx) tools are no longer included in the WDK. Instead, we recommend providing your driver as a standalone package that doesn't require an installer, ideally through Windows Update. To add your driver to Windows Update, the first step is to submit your driver package to the Sysdev Driver Portal. --- quote ---
Windows Driver Kit Version 7.1.0 download:
https://www.microsoft.com/en-us/download/details.aspx?id=11800
Tidbit: The installation of WDK is also bugged, I already found a couple of other issues.
Although the WDK contains 'setupapi.h' (and import lib) it doesn't contain these prototypes. I suspect its exclusively used by Driver Install Frameworks for Applications (DIFxApp) for "Driver Store" concept, hence not in public headers. Some of the parameters are probably related/same as other public setupapi:
https://docs.microsoft.com/en-us/windows/desktop/api/setupapi/nf-setupapi-se... (SetupGetInfDriverStoreLocationA/W)
Even if the parameter number can be figured out by trial/error (watching stack imbalance after stdcall stub + adding more args as needed) I'm not sure if it's worth to go further here. Microsoft Driver Store is a pointless concept for Wine anyway.
Regards
https://bugs.winehq.org/show_bug.cgi?id=45455 Bug 45455 depends on bug 34989, which changed state.
Bug 34989 Summary: Multiple installers using Caphyon 'Advanced Installer' (AI) technology hang (Atlassian SourceTree v1.3.2, League of Legends 2013+) (deferred type 1 custom action executed before regular type 1 custom action) https://bugs.winehq.org/show_bug.cgi?id=34989
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=45455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lced2-wine@yahoo.com
--- Comment #6 from Anastasius Focht focht@gmx.net --- *** Bug 48992 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Cetus3D-Software (3D |Multiple DIFxApp-based USB |printer) UP Studio 2.4.x |hardware driver installers |driver installation fails |fail due to missing |due to missing |'setupapi.dll.DriverStoreFi |'setupapi.dll.DriverStoreFi |ndDriverPackageW' stub |ndDriverPackageW' stub |(Cetus3D-Software UP Studio |(Microsoft Driver Install |2.4.x, Plantronics Hub |Frameworks for Applications |3.16) |- DIFxApp) | Keywords| |hardware
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, obviously still present. Refining summary to collect more apps.
From bug 48992 ("Plantronics Hub 3.16.1 : installation fails with error code
0x80070643 (Bluetooth USB driver installation fails due to missing 'setupapi.dll.DriverStoreFindDriverPackageW')"):
https://web.archive.org/web/20200422091127/https://www.plantronics.com/conte...
$ sha1sum PlantronicsHubInstaller.exe 83b235026a186e8b36d2fbf9e43aa03cc5e01750 PlantronicsHubInstaller.exe
$ du -sh PlantronicsHubInstaller.exe 118M PlantronicsHubInstaller.exe
Adding more stable downloads via Internet Archive for Cetus3D-Software UP Studio:
UP Studio Windows Release 2.6.43.627 32 bits:
https://web.archive.org/web/20200422095703/https://s3-us-west-1.amazonaws.co...
UP Studio Windows Release 2.6.43.627 64 bits:
https://web.archive.org/web/20200422095825/https://s3-us-west-1.amazonaws.co...
$ wine --version wine-5.6-299-gf65cfbfe9b
Regards
https://bugs.winehq.org/show_bug.cgi?id=45455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://www.tiertime.com/do |https://web.archive.org/web |wnloads/software/ |/20210311214903/https://cn. | |tiertime.com/downloads/UP_S | |tudio_x86_2.4.22.351.zip
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Adding stable download link via Internet Archive for original installer version:
https://web.archive.org/web/20210311214903/https://cn.tiertime.com/downloads...
All the links from the preceding comments work as well. Note, for the 32-bit (x86) installers you'll need a 32-bit WINEPREFIX (WINEARCH=win32) to come that far, otherwise the installer fails much earlier with a different difxapp error.
$ sha1sum UP_Studio_x86_2.4.22.351.zip 98a063b98b4bc7573b3ec6ffd117f55f008d238d UP_Studio_x86_2.4.22.351.zip
$ du -sh UP_Studio_x86_2.4.22.351.zip 123M UP_Studio_x86_2.4.22.351.zip
$ wine --version wine-6.3-350-g0ae1669ec27
Regards
https://bugs.winehq.org/show_bug.cgi?id=45455
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- This also seems to affect the LabView installer, this program should work without USB drivers, but the installer needs to be working.
Does someone know the arguments of this functions?
https://bugs.winehq.org/show_bug.cgi?id=45455
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #10 from Fabian Maurer dark.shadow4@web.de --- Created attachment 75401 --> https://bugs.winehq.org/attachment.cgi?id=75401 Most basic test program against windows 32bit setupapi
According to the testprogram from https://wiki.winehq.org/Wine_Developer%27s_Guide/Other_Debugging_Techniques#... the function has 28 bytes as parameters (on x86). So for example 7 pointers/dwords.
Call in wine
0148:err:setupapi:DriverStoreFindDriverPackageW L"C:\Program Files\IVI Foundation\VISA\IVI USB Staging\b841aa80\Windows\ausbtmc.inf", 0, 0, 0, 0, 00CB1E70, 01CBFB38
The first parameter is easy, 2-5 are always NULL and the last two are unknown. Return value is a HRESULT. To me it looks like the last parameter could be a struct with size (260) as the first member.
On win64 I don't know how large the parameters should be, but I assume some more DWORDS must be pointers. With the current signature it crashes.
No idea how to continue though, this might be as far as I can get.
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #11 from Alex Henrie alexhenrie24@gmail.com --- Great job Fabian! Now we know that the first argument is a WCHAR*. If I understand the x86-64 calling convention [1] correctly, the first four arguments are passed as 64-bit registers even if they are only 32 bits. That means that we can make the next three arguments void* without breaking anything. And since the last two arguments are definitely pointers, that just leaves the fifth argument, so if the fifth argument isn't a DWORD, it must be a pointer.
If a stub function is good enough to get these apps working, we don't need to know what all of the arguments are for. We can just make all of them (except the first one) void* and name them unk1 through unk6. Can you try that and confirm that it doesn't crash?
[1] https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc...
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #12 from Alex Henrie alexhenrie24@gmail.com --- I am assuming that none of the arguments are floating point values or QWORDs. That seems like a safe assumption for a function named DriverStoreFindDriverPackageW.
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #13 from Fabian Maurer dark.shadow4@web.de --- Created attachment 75404 --> https://bugs.winehq.org/attachment.cgi?id=75404 Test program 2
On x86, I tried
memset((char*)u7 + 4, 0, 100);
This smashes the stack, so probably not a struct with size 260 after all. Maybe just a pointer to DWORD.
On x64 the 4. parameter is 9, so probably not a pointer. could be flags.
Directly after calling DriverStoreFindDriverPackageW the application frees the setupapi library again and reports an error. We need to return a proper value.
Attaching a test program. This shows how to properly use it on Win64. Not sure why the second call doesn't work, but since we just need to implement the function as stub, this is not really a deal breaker.
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #14 from Fabian Maurer dark.shadow4@web.de --- Created a MR at https://gitlab.winehq.org/wine/wine/-/merge_requests/4343
This fixes the issue for me, both in the linked installer and in LabView.
https://bugs.winehq.org/show_bug.cgi?id=45455
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #15 from Alex Henrie alexhenrie24@gmail.com --- Can we please add the patch at https://gitlab.winehq.org/wine/wine/-/merge_requests/4343 to Wine Staging?
https://bugs.winehq.org/show_bug.cgi?id=45455
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #16 from Vijay Kamuju infyquest@gmail.com --- Can you please rebase the MR, so it can be considered or reviewed or approved in the code freeze
https://bugs.winehq.org/show_bug.cgi?id=45455
--- Comment #17 from Fabian Maurer dark.shadow4@web.de --- Didn't really need a rebase, but sure, updated.
https://bugs.winehq.org/show_bug.cgi?id=45455
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=55859
https://bugs.winehq.org/show_bug.cgi?id=45455
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |d9296c4c5c81ebf646527f53b48 | |8a7bda6abf7f7 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #18 from Alex Henrie alexhenrie24@gmail.com --- Fixed by https://gitlab.winehq.org/wine/wine/-/commit/d9296c4c5c81ebf646527f53b488a7b...
Please open new bugs for any remaining problems.
https://bugs.winehq.org/show_bug.cgi?id=45455
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.16.