[Bug 50583] Foxit PhantomPDF Business v10.0 installer crashes in MSI custom action 'SetStartMenuWindows10T' with WinVer set to 'Windows 10'

WineHQ Bugzilla wine-bugs at winehq.org
Fri Jan 29 13:15:22 CST 2021


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Foxit PhantomPDF Business   |Foxit PhantomPDF Business
                   |v10.0 installer crashes     |v10.0 installer crashes in
                   |with WinVer set to 'Windows |MSI custom action
                   |10'                         |'SetStartMenuWindows10T'
                   |                            |with WinVer set to 'Windows
                   |                            |10'
          Component|-unknown                    |msi

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

I've debugged the custom action multiple times and came to conclusion the C++
exception can't be avoided.

The path parameter for the first 'shlwapi.PathFileExistsW' call comes from the
custom action data (copy). The path parameter for second
'shlwapi.PathFileExistsW' call is always empty (local var). There is no code
path that can initialize it from a non-empty value. Might be a compiler bug or
just crappy coding.

--- snip ---
...
0163B903 | sub eax,dword ptr ss:[ebp-210]         |
0163B909 | sar eax,1                              |
0163B90B | sub esi,eax                            |
0163B90D | dec esi                                |
0163B90E | push esi                               |
0163B90F | lea eax,dword ptr ss:[ebp-218]         |
0163B915 | push eax                               |
0163B916 | lea ecx,dword ptr ss:[ebp-210]         |
0163B91C | call msi5fa6.160D580                   |
0163B921 | mov esi,dword ptr ss:[ebp-218]         |
0163B927 | push esi                               | L"C:\\users\\focht\\..."
0163B928 | call dword ptr ds:[<&PathFileExistsW>] |
0163B92E | mov ebx,dword ptr ss:[ebp-214]         |
0163B934 | cmp eax,1                              |
0163B937 | jne msi5fa6.163B971                    |
0163B939 | push ecx                               |
0163B93A | lea eax,dword ptr ds:[ebx-10]          | arg_4 = L""
0163B93D | mov dword ptr ss:[ebp-214],esp         |
0163B943 | mov edi,esp                            |
0163B945 | push eax                               | arg_4
0163B946 | call msi5fa6.16050F0                   |
0163B94B | add eax,10                             |
0163B94E | mov dword ptr ds:[edi],eax             |
0163B950 | lea ecx,dword ptr ds:[esi-10]          |
0163B953 | mov dword ptr ss:[ebp-214],esp         |
0163B959 | mov edi,esp                            |
0163B95B | push ecx                               | arg_0
0163B95C | call msi5fa6.16050F0                   |
0163B961 | add eax,10                             |
0163B964 | add esp,4                              |
0163B967 | mov dword ptr ds:[edi],eax             | arg_0 = L"C:\\users\\..."
0163B969 | call msi5fa6.163A860                   |
...
0163A860 | push ebp                               | func takes two arguments
0163A861 | mov ebp,esp                            |
0163A863 | push FFFFFFFF                          |
0163A865 | push msi5fa6.1830C67                   |
0163A86A | mov eax,dword ptr fs:[0]               |
0163A870 | push eax                               |
0163A871 | sub esp,270                            |
0163A877 | mov eax,dword ptr ds:[1932340]         |
0163A87C | xor eax,ebp                            |
0163A87E | mov dword ptr ss:[ebp-10],eax          |
0163A881 | push ebx                               |
0163A882 | push esi                               |
0163A883 | push edi                               |
0163A884 | push eax                               |
0163A885 | lea eax,dword ptr ss:[ebp-C]           |
0163A888 | mov dword ptr fs:[0],eax               |
0163A88E | mov eax,dword ptr ss:[ebp+C]           | arg_4 = pszPath = L""
0163A891 | push eax                               |
0163A892 | mov dword ptr ss:[ebp-4],1             |
0163A899 | call dword ptr ds:[<&PathFileExistsW>] | problem!
0163A89F | test eax,eax                           |
0163A8A1 | jne msi5fa6.163A8AF                    |
...
--- snip ---

I'm a bit stumped here and curious if this installer really works on Windows 10
without crashing the 32-bit custom action server process. Could someone create
a verbose MSI log and attach it here?

https://docs.microsoft.com/en-us/troubleshoot/windows-client/application-management/enable-windows-installer-logging

Tidbit:

https://answers.microsoft.com/en-us/windows/forum/all/windows-installer-stopped-working/6057303e-998d-4a34-8962-67cb20f9592c

Two search engine hits on custom action 'SetStartMenuWindows10T' name.

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