[Bug 49491] Multiple application driver installers fail due to 'wintrust.CryptCATAdminAddCatalog' not handling NULL basename (Acronis Disk Director 12, Sentinel HASP Runtime 7.x)

WineHQ Bugzilla wine-bugs at winehq.org
Sat Nov 28 05:55:24 CST 2020


https://bugs.winehq.org/show_bug.cgi?id=49491

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
            Summary|Acronis Disk Director 12    |Multiple application driver
                   |does not create             |installers fail due to
                   |%PROGRAMFILES(x86)%         |'wintrust.CryptCATAdminAddC
                   |corresponding folder        |atalog' not handling NULL
                   |                            |basename (Acronis Disk
                   |                            |Director 12, Sentinel HASP
                   |                            |Runtime 7.x)
            Product|Wine-staging                |Wine
     Ever confirmed|0                           |1
                 CC|                            |focht at gmx.net
           Keywords|                            |download, Installer
          Component|-unknown                    |wintrust
                URL|                            |https://web.archive.org/web
                   |                            |/20201128101607/https://www
                   |                            |.hremresearch.com/Eng/downl
                   |                            |oad/Sentinel_LDK_Run-time_s
                   |                            |etup_7.92.zip

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming. I've encountered this issue as well with Sentinel HASP v7.92
runtime/drivers install.

Moving to Wine product as this is not specific to Wine-Staging. Also refining
the summary since the missing directory is not the root cause but the result of
MSI rollback.

--- snip ---
$ WINEDEBUG=+seh,+loaddll,+relay,+msi,+wintrust wine ./HASPUserSetup.exe
>>log.txt 2>&1
...
00fc:trace:msi:MsiInstallProductW
L"C:\\users\\focht\\Temp\\{92005866-9A35-4F23-BF02-60C177964E80}\\HASP_Setup.msi"
L" SETUPEXEDIR=Z:\\home\\focht\\Downloads\\Sentinel_LDK_Run-time_setup
SETUPEXENAME=HASPUserSetup.exe" 
...
00fc:trace:msi:HANDLE_CustomType17
L"haspds_msi.dll.6CF3F7DF_6AED_451D_BF8F_AD216156BF2B" L"HaspdsMsiInst"
...
0138:Call KERNEL32.CreateDirectoryW(00094554
L"C:\\windows\\system32\\catroot\\{f750e6c3-38ee-11d1-85e5-00c04fc295ee}",00000000)
ret=00d28d8d
...
0138:Ret  KERNEL32.CreateDirectoryW() retval=00000001 ret=00d28d8d
0138:Ret  wintrust.CryptCATAdminAcquireContext() retval=00000001 ret=10011fe3
0138:Call KERNEL32.GetSystemDirectoryA(0021ec50,00000104) ret=10012034
0138:Ret  KERNEL32.GetSystemDirectoryA() retval=00000013 ret=10012034
...
0138:Call wintrust.CryptCATAdminAddCatalog(00094550,0021ed60
L"C:\\windows\\system32\\setup\\aladdin\\hasphl\\hardlock.cat",00000000,00000000)
ret=10012110
...
0138:trace:wintrust:CryptCATAdminAddCatalog Call
ntdll.memchr(0031d950,00000064,00000007) ret=003050b1
0138:Ret  ntdll.memchr() retval=0031d950 ret=003050b1
0138:fixme:wintrust:CryptCATAdminAddCatalog NULL basename not handled
0138:Ret  wintrust.CryptCATAdminAddCatalog() retval=00000000 ret=10012110
0138:Call KERNEL32.GetLastError() ret=1000659b
0138:Ret  KERNEL32.GetLastError() retval=00000057 ret=1000659b 
...
0138:Call msvcrt.vsprintf(00094794,10098b20 "Failed to install %s
signature",0021eb70) ret=10001c4a 
...
0120:Call user32.MessageBoxA(0005006e,015ce928 "Failed to install hardlock.cat
signature\nThis is an internal error. For assistance, contact your
administrator or the software manufacturer. Chybn\xfd parametr.\r\n\nStatus
Code: 34 5 3113 87",015e92d8 "Sentinel HASP Run-time installation",00000040)
ret=015e13c7 
--- snip ---

Driver installer log file 'c:\\windows\\aksdrvsetup.log':

--- snip ---
[28/11/2020-12:14:5]Running on Win 7 X64 
 ../hhlinst.c,3957,
[28/11/2020-12:14:5]haspdinst 1 ver 7.92//7.92 started
 ../hhlinst.c,1591,
[28/11/2020-12:14:5]DLL InstallPath = C:\Program Files (x86)\Common
Files\Aladdin Shared\HASP\haspds_windows.dll ../hhlinst.c,1631,
[28/11/2020-12:14:5]Called hhls_ExtractFiles  AKSUPACK_EXTRACTED Params:
hasp_windows.dll C:\users\focht\Temp\hasp_windows.dll 1 22865900
../hhlinst.c,3625,
[28/11/2020-12:14:5]Called hhls_ExtractFiles  AKSUPACK_EXTRACTED Params:
haspdinst_x64.exe C:\users\focht\Temp\haspdinst_x64.exe 1 22865900
../hhlinst.c,3625,
[28/11/2020-12:14:5]Called hhls_ExtractFiles  AKSUPACK_EXTRACTED Params:
hhl01.cab C:\users\focht\Temp\hhl01.cab 1 22865900 ../hhlinst.c,3625,
[28/11/2020-12:14:5]Unpackdone
 ../hhlinst.c,1677,
[28/11/2020-12:14:5]Running on WOW64
 ../hhlinst.c,1681,
[28/11/2020-12:14:6]Running on Win 7 X64 
 ../hhlinst.c,3957,
[28/11/2020-12:14:6]haspdinst 1 ver 7.92//7.92 started
 ../hhlinst.c,1591,
[28/11/2020-12:14:6]DLL InstallPath =
C:\users\focht\Temp\haspds_windows_x64.dll ../hhlinst.c,1631,
[28/11/2020-12:14:6]Called hhls_ExtractFiles  AKSUPACK_EXTRACTED Params:
hhl01.cab C:\users\focht\Temp\hhl01.cab 1 2225800 ../hhlinst.c,3625,
[28/11/2020-12:14:6]Unpackdone
 ../hhlinst.c,1677,
[28/11/2020-12:14:6]FileInCabinet 0pdc.txt ../hhlinst.c,3047,
[28/11/2020-12:14:6]Extracted C:\users\focht\Temp\0pdc.txt ../hhlinst.c,3014,
[28/11/2020-12:14:6]FileInCabinet aksclass.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksdf.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksfridge.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshasp.cat ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshasp.inf ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshasp.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshhl.cat ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshhl.inf ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshhl.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshhl32.dll ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshhl33.dll ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akshsp53.dll ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akspccard.cat ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akspccard.inf ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet akspccard.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksusb.cat ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksusb.inf ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksusb.sys ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet aksusb5.dll ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet de.13.0.alp ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet es.13.0.alp ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet fr.13.0.alp ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet hardlock.cat ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet hardlock.inf ../hhlinst.c,3047,
[28/11/2020-12:14:6]FileInCabinet hardlock.sys ../hhlinst.c,3047,
...
[28/11/2020-12:14:7]check action type
 ../hhlinst.c,2064,
[28/11/2020-12:14:7]Failed to install hardlock.cat signature ../instdrv.c,3113,
[28/11/2020-12:14:7]Windows error 87
 ../instdrv.c,3113,
[28/11/2020-12:14:7]do not write instcount err 1 34
 ../hhlinst.c,2406,
[28/11/2020-12:14:7]end actual install
 ../hhlinst.c,2482,
[28/11/2020-12:14:7]Install returned 1 34
 ../hhlinst.c,1782,
--- snip ---

Wine source:

https://source.winehq.org/git/wine.git/blob/cbca9f847f60773b4e7e5408f6a079f4896c5c1e:/dlls/wintrust/crypt.c#l159

--- snip ---
 159 /***********************************************************************
 160  *             CryptCATAdminAddCatalog (WINTRUST.@)
 161  */
 162 HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN catAdmin, PWSTR
catalogFile,
 163                                         PWSTR selectBaseName, DWORD flags)
 164 {
 165     static const WCHAR slashW[] = {'\\',0};
 166     struct catadmin *ca = catAdmin;
 167     struct catinfo *ci;
 168     WCHAR *target;
 169     DWORD len;
 170 
 171     TRACE("%p %s %s %d\n", catAdmin, debugstr_w(catalogFile),
 172           debugstr_w(selectBaseName), flags);
 173 
 174     if (!selectBaseName)
 175     {
 176         FIXME("NULL basename not handled\n");
 177         SetLastError(ERROR_INVALID_PARAMETER);
 178         return NULL;
 179     }
...
--- snip ---

Microsoft docs:

https://docs.microsoft.com/en-us/windows/win32/api/mscat/nf-mscat-cryptcatadminaddcatalog

--- quote ---
pwszSelectBaseName

A pointer to a null-terminated string for the name of the catalog when it is
stored. If the parameter is NULL, then a unique name will be generated for the
catalog.
--- quote ---

$ sha1sum Sentinel_LDK_Run-time_setup_7.92.zip 
385da24130ec8bf30112bff212b261632083885b  Sentinel_LDK_Run-time_setup_7.92.zip

$ du -sh Sentinel_LDK_Run-time_setup_7.92.zip
18M    Sentinel_LDK_Run-time_setup_7.92.zip

$ wine --version
wine-5.22-195-gcbca9f847f6

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list