[Bug 22680] Adobe CS5.x product installers fail due to missing support for named pipe message mode

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 23 10:23:58 CST 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |focht at gmx.net
         Resolution|---                         |DUPLICATE
            Summary|Photoshop CS5 installer     |Adobe CS5.x product
                   |fails                       |installers fail due to
                   |                            |missing support for named
                   |                            |pipe message mode

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

confirming, still present.

It's essentially bug 17273

--- snip ---
0025:Call KERNEL32.CreateProcessW(00000000,004dfc98 L"\"C:\\users\\focht\\Local
Settings\\Application Data\\Adobe\\OOBE\\PDApp\\core\\PDApp.exe\"
--media=\"Z:\\home\\focht\\Downloads\\Adobe Photoshop CS5\\Adobe Photoshop
CS5.1 Extended Edition\\Adobe Photoshop CS5\" --appletID=\"DWA_UI\"
--appletVersion=\"1.0\"
--requiredSize=61963",00000000,00000000,00000001,00000010,00000000,004dc8c0
L"C:\\users\\focht\\Local Settings\\Application
Data\\Adobe\\OOBE\\PDApp\\core",009fe878,009fe868) ret=0040fc07
...
0027:Call KERNEL32.__wine_kernel_init() ret=7bc5a259
...
0025:trace:process:create_process_impl started process pid 0026 tid 0027
0025:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=0040fc07 
...
0027:Call KERNEL32.CreateFileW(0033b3a8
L"C:\\users\\focht\\Temp\\\\PDApp.log",40000000,00000003,00000000,00000003,00000080,00000000)
ret=028b6f6f
0027:Ret  KERNEL32.CreateFileW() retval=00000138 ret=028b6f6f
...
0027:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0033a304 "[INFO]
DWANative - Build Version - 2.0.240.0",ffffffff,0033a76c,000003ec) ret=028b6e85
0027:Ret  KERNEL32.MultiByteToWideChar() retval=0000002d ret=028b6e85
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cd80 "[INFO]
DWANative -  IPC Listen thread STARTED...",ffffffff,0337d1e8,000003ec)
ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=00000031 ret=028b6e85
0027:Call KERNEL32.CreateProcessW(00000000,0033aea8 L"C:\\users\\focht\\Local
Settings\\Application Data\\Adobe\\OOBE\\PDApp\\core\\..\\DWA\\Setup.exe
--deploymentFile=\"C:\\users\\focht\\Temp\\{FD1CDBC9-5120-4EF7-80FA-BBE5C2D45B63}\\deploy.xml\"
--userASUPath=\"C:\\users\\focht\\LOCA~ZN4\\APPL~JHT\\Adobe\\OOBE\\PDApp\"
",00000000,00000000,00000000,00000410,00000000,0cbcdd20
L"C:\\users\\focht\\Local Settings\\Application
Data\\Adobe\\OOBE\\PDApp\\core\\..\\DWA",0033a560,0033a550) ret=7ec3c6a3
...
0036:Call KERNEL32.CreateNamedPipeW(028c939c
L"\\\\.\\pipe\\asurd_deploywr",00000001,00000006,000000ff,00000400,00000400,00000000,00000000)
ret=0283b490
0036:Ret  KERNEL32.CreateNamedPipeW() retval=00000020 ret=0283b490
0036:Call KERNEL32.CreateNamedPipeW(028c93cc
L"\\\\.\\pipe\\asuwr_deployrd",00000002,00000006,000000ff,00000400,00000400,00000000,00000000)
ret=0283b4b7
0036:Ret  KERNEL32.CreateNamedPipeW() retval=00000184 ret=0283b4b7
0036:Call KERNEL32.GetLastError() ret=0283b512
0036:Ret  KERNEL32.GetLastError() retval=00000000 ret=0283b512
0036:Call KERNEL32.ConnectNamedPipe(00000020,00000000) ret=0283b2d5
0036:Ret  KERNEL32.ConnectNamedPipe() retval=00000001 ret=0283b2d5 
...
0038:Call KERNEL32.__wine_kernel_init() ret=7bc5a259
...
0027:trace:process:create_process_impl started process pid 0037 tid 0038
0027:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=7ec3c6a3
...
0038:Call KERNEL32.CreateFileW(0053b28c
L"\\\\.\\pipe\\asuwr_deployrd",80000000,00000000,00000000,00000003,00000000,00000000)
ret=004d7a5a 
0038:Ret  KERNEL32.CreateFileW() retval=00000050 ret=004d7a5a 
...
0038:Call KERNEL32.CreateFileW(0053b2bc
L"\\\\.\\pipe\\asurd_deploywr",40000000,00000000,00000000,00000003,00000000,00000000)
ret=004d7a76 
0038:Ret  KERNEL32.CreateFileW() retval=00000058 ret=004d7a76
...
0036:Call KERNEL32.ReadFile(00000020,0337c9ac,00001028,0337c990,00000000)
ret=0283b71c
0036:Ret  KERNEL32.ReadFile() retval=00000001 ret=0283b71c
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337c8f4 "[INFO]
DWANative -  KID_PROGRESS_AUTHORIZATION_SUCCESSFUL <<>> ignored
progressType",ffffffff,0337cd5c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=00000054 ret=028b6e85
...
0036:Call ole32.CLSIDFromProgID(0337ce38 L"MSXML2.DOMDocument.3.0",0337ce04)
ret=028384fc 
...
0036:Ret  ole32.CoCreateInstance() retval=00000000 ret=02838264
0036:Call ole32.OleRun(0cbd01a8) ret=02838277
0036:Ret  ole32.OleRun() retval=00000000 ret=02838277
...
0036:Call oleaut32.SysStringLen(02b4b5ec
L"<result>\n\t<authentication_status>1</authentication_status>\n</result>\n")
ret=7d4cfac8
0036:Ret  oleaut32.SysStringLen() retval=00000045 ret=7d4cfac8
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337c704 "[INFO]
DWANative -  KID_PROGRESS_AUTHORIZATION_SUCCESSFUL <<>>
<",ffffffff,0337cb6c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=00000041 ret=028b6e85 
...
0036:Call KERNEL32.ReadFile(00000020,0337c9ac,00001028,0337c990,00000000)
ret=0283b71c
0036:Ret  KERNEL32.ReadFile() retval=00000001 ret=0283b71c
...
0036:Call ole32.CLSIDFromProgID(0337d0a8 L"MSXML2.DOMDocument.3.0",0337d074)
ret=028384fc 
...
0036:Call oleaut32.SysStringLen(001b1b14
L"<command>\n\t<message>dwaui_progressUpdate</message>\n\t<sourceID>DWA_Native</sourceID>\n\t<targetID>DWA_UI</targetID>\n\t<targetType>appletSWF</targetType>\n\t<targetVersion>1.0</targetVersion>\n\t<sourceVersion>1.0</sourceVersion>\n\t<isAsync>true</isAsync>\n\t<enableLog>true</enableLog>\n\t<xmlDat"...)
ret=7d4cfac8
0036:Ret  oleaut32.SysStringLen() retval=00000207 ret=7d4cfac8
...
0036:Call user32.PostMessageW(0001009e,0000052c,005c20d0,00000000) ret=00405419
0036:Ret  user32.PostMessageW() retval=00000001 ret=00405419
...
0038:Call KERNEL32.WriteFile(00000058,003371e4,00001028,003371dc,00000000)
ret=004d7bda
0036:Ret  KERNEL32.ReadFile() retval=00000001 ret=0283b71c 
...
<good XML packets>
...
<bad packet read here, no blocking read, immediately returns short?>
0036:Call KERNEL32.ReadFile(00000020,0337c9ac,00001028,0337c990,00000000)
ret=0283b71c
0036:Ret  KERNEL32.ReadFile() retval=00000001 ret=0283b71c 
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cc14 "[INFO]
DWANative - Received Invalid packet\n",ffffffff,0337d07c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=0000002c ret=028b6e85 
...
<good XML packets>
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cc14 "[INFO]
DWANative - Received Invalid packet\n",ffffffff,0337d07c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=0000002c ret=028b6e85 
...
<good XML packets>
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cc14 "[INFO]
DWANative - Received Invalid packet\n",ffffffff,0337d07c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=0000002c ret=028b6e85 
...
<good XML packets>
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cc14 "[INFO]
DWANative - Received Invalid packet\n",ffffffff,0337d07c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=0000002c ret=028b6e85
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cc14 "[INFO]
DWANative - Received Maximum invalid packets
,Quit...\n",ffffffff,0337d07c,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=0000003e ret=028b6e85
...
0036:Call ole32.CLSIDFromProgID(0337d168 L"MSXML2.DOMDocument.3.0",0337d134)
ret=028384fc 
...
0036:Call oleaut32.SysStringLen(001a76bc
L"<exit>\n\t<exit_code>-1</exit_code>\n</exit>\n") ret=7d4cfac8
0036:Ret  oleaut32.SysStringLen() retval=0000002a ret=7d4cfac8 
...
0036:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0337cd80 "[INFO]
DWANative - END DEListenThread",ffffffff,0337d1e8,000003ec) ret=028b6e85
0036:Ret  KERNEL32.MultiByteToWideChar() retval=00000026 ret=028b6e85 
... 
--- snip ---

The main installer communicates to sub-installer over named pipes (IPC) with
some proprietary XML protocol/payload.

There are a few occurrences where corrupted (shortened?) packets are reported:
"DWANative - Received Invalid packet".
After exceeding the threshold of 4 bad packets, the installer bails.

Debugging the installer made the error appear much later (timing/race?).

The installer contains some trace capability.
Create the following empty files:

--- snip ---
"C:\\users\\focht\\Temp\\asu.trace"
"C:\\users\\focht\\Temp\\asu.debug"
"C:\\users\\focht\\Temp\\asu.buffer"
--- snip ---

This switches the verbosity to level 6.

The main log file is 'C:\\users\\focht\\Temp\\PDApp.log'.

--- snip ---
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Processing
"CallSWFOnWindowForMessage" on thread - 52
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Sending message from thread
- 52
11/23/2014 16:02:12 [DEBUG] PDApp - Received message on window to call swf
11/23/2014 16:02:12 [DEBUG] PDApp - Calling swf with message. Window ID is 1
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Processing "CallSWF" on
thread - 37
11/23/2014 16:02:12 [TRACE] DWANative - PACKET MESSAGE
:{635FED5B-2C6D-49BE-87E6-7A6FCD22BC5A}
11/23/2014 16:02:12 [TRACE] DWANative - Received a progress packet from
deployment
11/23/2014 16:02:12.923 [DEBUG] PDAPP.MessageQueueManager Adding new Message -
11/23/2014 16:02:12 [DEBUG] XMLParser - addChildToNode ... XMLParser not
Initialized ...
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Received message from
AppletNative
11/23/2014 16:02:12.924 [DEBUG] PDAPP.MessageQueueManager Notification :
externalCallNotification
11/23/2014 16:02:12.925 [DEBUG] PDAPP.MessageQueueManager MessagexmlData :
<progress>
  <payloadid>{635FED5B-2C6D-49BE-87E6-7A6FCD22BC5A}</payloadid>
  <payload_progress>100.000000</payload_progress>
  <total_progress>1.926740</total_progress>
</progress>
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Message - <command>
    <message>dwaui_progressUpdate</message>
    <sourceID>DWA_Native</sourceID>
    <targetID>DWA_UI</targetID>
    <targetType>appletSWF</targetType>
    <targetVersion>1.0</targetVersion>
    <sourceVersion>1.0</sourceVersion>
    <isAsync>true</isAsync>
    <enableLog>true</enableLog>
    <xmlData>
        <progress>
            <payloadid>{635FED5B-2C6D-49BE-87E6-7A6FCD22BC5A}</payloadid>
            <payload_progress>0.000000</payload_progress>
            <total_progress>1.926740</total_progress>
        </progress>
    </xmlData>
    <windowID>1</windowID>
</command>
--- snip ---

--- snip ---
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Processing
"CallSWFOnWindowForMessage" on thread - 52
11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Sending message from thread
- 52
11/23/2014 16:02:12 [TRACE] DWANative - PACKET MESSAGE :
11/23/2014 16:02:12 [DEBUG] PDApp - Received message on window to call swf
11/23/2014 16:02:12 [INFO] DWANative - Received Invalid packet

11/23/2014 16:02:12 [DEBUG] PDApp - Calling swf with message. Window ID is 1
11/23/2014 16:02:12 [INFO] DWANative - Received Maximum invalid packets
,Quit...

11/23/2014 16:02:12 [DEBUG] PDApp.ExternalGateway - Processing "CallSWF" on
thread - 37
11/23/2014 16:02:12 [INFO] DWANative - Message created :<exit>
    <exit_code>-1</exit_code>
</exit>
--- snip ---

I cherry picked/rebased some patches from Wine-Staging (formerly
Wine-Compholio) 'namedpipe' branch:
https://github.com/wine-compholio/wine-staging/tree/namedpipe/patches/kernel32-Named_Pipe
to Wine 1.7.31+ and it made the CS5 installer succeed in clean 32-bit
WINEPREFIX.

Although (meta)bug 17195 is now kind of a mess, resolving as dupe.

Refining summary to capture all Adobe CS5 installers.

$ wine --version
wine-1.7.31-109-g9e23620

Regards

*** This bug has been marked as a duplicate of bug 17195 ***

-- 
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