https://bugs.winehq.org/show_bug.cgi?id=47256
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|DigilockMF1 crashes after |DigilockMF1 5.4 (VB6 app) |login in |crashes after login URL|https://www.lockchoice.com/ |https://web.archive.org/web |media/attachment/file/d/i/d |/20190525123215/https://www |igi_lock_software_nv.zip |.lockchoice.com/media/attac | |hment/file/d/i/digi_lock_so | |ftware_nv.zip CC| |focht@gmx.net
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- I didn't open bugs for the worked around issues because they are known big deficiencies of wine already (correct me if I'm wrong). --- quote ---
well, some them are actually not Wine bugs.
The first problem is missing VB6 runtime. The installer assumes it's present by default and runs VB6 SP6 on top.
--- snip --- 002c:Call user32.MessageBoxA(0001008e,00a21fc0 "Setup has detected that your Microsoft Visual Basic 6.0 run-time files are out of date.\nClick OK to install this technology now or Cancel to abort the setup.",00a21f90 "Technology Required",00000031) ret=0045e4c8 --- snip ---
App log:
--- snip --- [05/25/2019 14:35:30] Success Setup started: Z:\home\focht\Downloads\Digi Lock Software NV.exe [05/25/2019 14:35:30] Notice Setup engine version: 9.3.1.0 [05/25/2019 14:35:30] Notice Product: DigilockMF1, version 5.4.55 [05/25/2019 14:35:30] Success Language set: Primary = 9, Secondary = 1 [05/25/2019 14:35:30] Success Verify archive integrity [05/25/2019 14:35:30] Skipped Date expiration check [05/25/2019 14:35:30] Skipped Uses expiration check [05/25/2019 14:35:30] Success System requirements check [05/25/2019 14:35:30] Success Include script: _SUF70_Global_Functions.lua [05/25/2019 14:35:30] Notice Start project event: Global Functions [05/25/2019 14:35:30] Success Run project event: Global Functions [05/25/2019 14:35:30] Success Detection Script: Visual Basic 6.0 (SP6) [05/25/2019 14:35:30] Info VB6 SP6 Module: No version of msvbvm60.dll was found. The VB6 SP6 runtime will be installed. [05/25/2019 14:35:30] Success Extract dependency file: C:\users\focht\Temp_ir_sf_temp_0\vb6sp6\VBRun60sp6.exe [05/25/2019 14:35:30] Success Create folder: C:\users\focht\Temp_ir_sf_temp_0\vb6sp6\ [05/25/2019 14:35:31] Success VB6 SP6 Module: Installation script started. [05/25/2019 14:35:35] Success VB6 SP6 Module: User confirmation received, we are ready to install. [05/25/2019 14:35:35] Success VB6 SP6 Module: Running VB6 installer. [05/25/2019 14:35:36] Success VB6 SP6 Module: VB6 runtime installation complete. --- snip ---
https://blogs.msdn.microsoft.com/deva/2009/12/30/development-is-visual-basic... (considered part of OS so no need for full redist)
'winetricks -q vb6run'
===
The installer has a hard-coded default of 'D:\DigilockMF1' install directory. The embedded Lua script is kinda bugged, it considers non-existing 'D:' as valid until the disk space is re-calculated with after 'Next'.
It's even mentioned in the product manual:
https://www.lockchoice.com/media/attachment/file/m/i/mifare1_card_lock_user_...
I bet these guys never heard of Microsoft Windows Installer Best Practices. Kinda scoped to MSI but there are many valid points *every* installer technology should follow.
===
Failure to register 'MSJet40.dll':
--- snip --- 004d:Call KERNEL32.LoadLibraryA(00a45600 "C:\windows\system32\MSJet40.dll") ret=0042457e 004d:err:module:import_dll Library mswstr10.dll (which is needed by L"C:\windows\system32\MSJet40.dll") not found 004d:Ret KERNEL32.LoadLibraryA() retval=00000000 ret=0042457e 004d:Call KERNEL32.LoadLibraryExA(00a45600 "C:\windows\system32\MSJet40.dll",00000000,00000008) ret=00424590 004d:err:module:import_dll Library mswstr10.dll (which is needed by L"C:\windows\system32\MSJet40.dll") not found 004d:Ret KERNEL32.LoadLibraryExA() retval=00000000 ret=00424590 --- snip ---
--- snip --- [05/25/2019 15:10:11] Success Install archive file: C:\windows\system32\MSJet40.dll [05/25/2019 15:10:11] Error Increment usage count: C:\windows\system32\MSJet40.dll (2) [05/25/2019 15:10:14] Error Register COM file: C:\windows\system32\MSJet40.dll - System Error # 126 (1) [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\MSJtEr40.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\MSJtEr40.dll (2) [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\MSJtEs40.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\MSJtEs40.dll (2) [05/25/2019 15:10:14] Success Register COM file: C:\windows\system32\MSJtEs40.dll [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\VB5DB.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\VB5DB.dll (2) [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\MSJInt40.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\MSJInt40.dll (2) [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\VBAJet32.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\VBAJet32.dll (2) [05/25/2019 15:10:14] Success Install archive file: C:\windows\system32\MSWStr10.dll [05/25/2019 15:10:14] Error Increment usage count: C:\windows\system32\MSWStr10.dll (2) --- snip ---
Instead of using official MS redistributable package for installing DAO/JET engine some genius decided to do it himself. Registering the COM server before all dependent dlls have been installed... how stupid is this?
Anyway, I can't reproduce the crash. After login, a message 'Encoder connect error!' is shown which can be dismissed. This is expected because the card encoder hardware is obviously missing (USB HIB device vs. old USB-to-serial bridge).
There is some ugly user interface with a default 'guest' entry under 'All Room'.
$ sha1sum digi_lock_software_nv.zip c038581cb204e68bced20ad725802c0f46576907 digi_lock_software_nv.zip
$ du -sh digi_lock_software_nv.zip 7.4M digi_lock_software_nv.zip
$ wine --version wine-4.9
Regards