[Bug 14277] SnelStart installer bails out with error box

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jul 8 15:21:58 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14277


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #1 from Anastasius Focht <focht at gmx.net>  2008-07-08 15:21:56 ---
Hello,

the bug is due to incorrect handling of WIN_SPUB_ACTION_PUBLISHED_SOFTWARE
action in wintrust.

The installer downloads some custom .NET install engine from
http://www.installengine.com/cert05/dotnetfx/dotnetfx.exe

--- snip Setup.INI ---
[dotnetfx.exe]
CertKey=DotNet.isc
Type=2
Location=http://www.installengine.com/cert05/dotnetfx/dotnetfx.exe
--- snip Setup.INI ---

This seems to be for apps which were packaged with InstallShield 12+ and the
'Download from the Web' option (Macrovision bought InstallShield a while ago).
The installer will verify the integrity of the downloaded custom .NET install
engine which fails.

--- snip ---
..
0032:Call wintrust.WinVerifyTrust(00110072,0043b320,0032abc0) ret=00409aa9
0032:trace:wintrust:WinVerifyTrust (0x110072,
{64b9d180-8da2-11cf-8736-00aa00a485eb}, 0x32abc0)
0032:trace:wintrust:dump_wintrust_data 0x32abc0
0032:trace:wintrust:dump_wintrust_data cbStruct: 0
0032:trace:wintrust:dump_wintrust_data pPolicyCallbackData: 0x43b310
0032:trace:wintrust:dump_wintrust_data pSIPClientData: 0x32abcc
0032:trace:wintrust:dump_wintrust_data dwUIChoice: 0
0032:trace:wintrust:dump_wintrust_data fdwRevocationChecks: 0056cf70
0032:trace:wintrust:dump_wintrust_data dwUnionChoice: 1622127976
0032:trace:wintrust:dump_wintrust_data dwStateAction: 3320832
0032:trace:wintrust:dump_wintrust_data hWVTStateData: 0x431dd8
0032:trace:wintrust:dump_wintrust_data pwszURLReference: (null)
0032:trace:wintrust:dump_wintrust_data dwProvFlags: 0032ac0c
0032:trace:wintrust:dump_wintrust_data dwUIContext: 4326804
0032:trace:wintrust:WINTRUST_PublishedSoftware subjectFile->hFile: (nil)
0032:trace:wintrust:WINTRUST_PublishedSoftware subjectFile->lpPath:
L"C:\\windows\\temp\\{735C90D0-4D20-11DD-879C-0018F3866A01}\\dotnetfx.exe"
0032:trace:wintrust:WINTRUST_DefaultVerifyAndClose (0x110072,
{64b9d180-8da2-11cf-8736-00aa00a485eb}, 0x32aacc)
0032:trace:wintrust:WINTRUST_DefaultVerify (0x110072,
{64b9d180-8da2-11cf-8736-00aa00a485eb}, 0x32aacc)
..
0032:Call wintrust.SoftpubInitialize(0014f378) ret=60b097b0
0032:trace:wintrust:SoftpubInitialize (0x14f378)
0032:trace:wintrust:SoftpubInitialize returning 00000000
0032:Ret  wintrust.SoftpubInitialize() retval=00000000 ret=60b097b0
0032:Call wintrust.SoftpubLoadMessage(0014f378) ret=60b09942
0032:trace:wintrust:SoftpubLoadMessage (0x14f378)
0032:Call KERNEL32.CreateFileW(0032abb4
L"\c1502",80000000,00000001,00000000,00000003,00000080,00000000) ret=60b0815d
0032:Ret  KERNEL32.CreateFileW() retval=ffffffff ret=60b0815d
0032:trace:wintrust:SOFTPUB_OpenFile returning 0
0032:trace:wintrust:SoftpubLoadMessage returning 1 (00000002)
0032:Ret  wintrust.SoftpubLoadMessage() retval=00000001 ret=60b09942
0032:trace:wintrust:WINTRUST_DefaultVerify returning 00000001
0032:trace:wintrust:WINTRUST_DefaultClose (0x110072,
{64b9d180-8da2-11cf-8736-00aa00a485eb}, 0x32aacc)
0032:Call wintrust.SoftpubCleanup(0014f378) ret=60b09537
..
0032:trace:wintrust:WINTRUST_DefaultClose returning 00000000
0032:trace:wintrust:WINTRUST_DefaultVerifyAndClose returning 00000001
0032:trace:wintrust:WinVerifyTrust returning 00000001
0032:Ret  wintrust.WinVerifyTrust() retval=00000001 ret=00409aa9
..
0032:Call KERNEL32.lstrcpyA(0032a46c,0032a88c "1621: Kan de handtekening van
het bestand dotnetfx.exe niet controleren.") ret=004090d1
0032:Ret  KERNEL32.lstrcpyA() retval=0032a46c ret=004090d1
0032:Call user32.DialogBoxParamA(00400000,00000402,00000000,004090f5,0032a468)
ret=004090ec 
..
--- snip ---

For the WIN_SPUB_ACTION_PUBLISHED_SOFTWARE action, the action data parameter is
a pointer to a WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT structure. 
The subject is actually a pointer to WIN_TRUST_SUBJECT_FILE.
The caller passes subjectFile->hFile = NULL and a valid (full)
subjectFile->lpPath to the file to be verified.

Just cast to appropriate struct types and correctly fill the file info with it
(handle, path).
This lets the downloaded installer pass the integrity check and starts the
download of real .NET Framework.
Although only a small fix, I'll leave out any patch snippets to give potential
patch implementor full freedom.

This bug is only valid for the purpose of fixing
WIN_SPUB_ACTION_PUBLISHED_SOFTWARE action.

Don't let the setup download and install .NET 2.0 Framework anyway (bug 10601).
Use 'sh winetricks dotnet20' as prerequisite!

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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