[Bug 27943] iTunes 10.x 64-bit reports incomplete install on startup (GEAR ASPI drivers not installed due to missing 32-bit custom action server)

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Apr 3 15:02:29 CDT 2012


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
          Component|-unknown                    |msi
            Summary|iTunes 10.4 (64 bit):       |iTunes 10.x 64-bit reports
                   |doesn't run, incomplete     |incomplete install on
                   |install ?                   |startup (GEAR ASPI drivers
                   |                            |not installed due to
                   |                            |missing 32-bit custom
                   |                            |action server)
     Ever Confirmed|0                           |1

--- Comment #3 from Anastasius Focht <focht at gmx.net> 2012-04-03 15:02:29 CDT ---
Hello,

confirming. "iTunes x64" is not really pure 64 bits. Most parts are still 32
bits.

--- snip ---
...
0034:Call advapi32.RegOpenKeyExW(80000002,110d5418
L"SYSTEM\\CurrentControlSet\\Services\\Cdrom",00000000,00000001,0032f618)
ret=100e08f9
0034:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=100e08f9
0034:Call advapi32.RegQueryValueExW(000002d4,110d5468
L"AutoRun",00000000,0032f624,0032f61c,0032f620) ret=100e0924
0034:Ret  advapi32.RegQueryValueExW() retval=00000000 ret=100e0924
0034:Call advapi32.RegCloseKey(000002d4) ret=100e092e
0034:Ret  advapi32.RegCloseKey() retval=00000000 ret=100e092e
0034:Call advapi32.RegOpenKeyExW(80000002,110d9298 L"SOFTWARE\\Apple Computer,
Inc.\\iTunes\\",00000000,00000001,0032f484) ret=103c660a
0034:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=103c660a
0034:Call advapi32.RegOpenKeyExW(80000001,110d4cb0
L"Software\\Microsoft\\Windows
NT\\CurrentVersion\\AppCompatFlags\\Layers",00000000,00000001,0032f274)
ret=100e2088
0034:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=100e2088
0034:Call KERNEL32.ExpandEnvironmentStringsW(110c9dbc
L"%windir%\\Sysnative",0032f444,00000103) ret=1000f228
0034:Ret  KERNEL32.ExpandEnvironmentStringsW() retval=00000015 ret=1000f228
0034:Call KERNEL32.GetFileAttributesExW(0032f444
L"C:\\windows\\Sysnative\\drivers\\GEARAspiWDM.sys",00000000,0032f420)
ret=1000f280
0034:Ret  KERNEL32.GetFileAttributesExW() retval=00000000 ret=1000f280
0034:Call KERNEL32.GetLastError() ret=1000f28a
0034:Ret  KERNEL32.GetLastError() retval=00000002 ret=1000f28a 
...
0034:Call
user32.CreateDialogParamW(06700000,041b4ec0,00000000,1008aaa0,041b4de0)
ret=1008a8ef 
...
0034:Call user32.SetWindowTextW(000100aa,041b4cd8 L"iTunes was not properly
installed. If you wish to import or burn CDs you need to reinstall iTunes.")
ret=1008b9c3 
--- snip ---

It seems the GEAR Aspi driver package was not installed.
Not uncommon for Windows x64 ;-)

http://www.gearsoftware.com/support/forum/viewtopic.php?t=1529

http://www.gearsoftware.com/wiki/index.php?title=GEARAspi_drivers_are_not_correctly_installed

The package is properly unpacked into:

--- snip ---
[drive_c]$ find . -iname GEAR*
./users/Public/Application
Data/{93E26451-CD9A-43A5-A2FA-C42392EA4001}/x64/gearaspiwdmx64.cat
./users/Public/Application
Data/{93E26451-CD9A-43A5-A2FA-C42392EA4001}/x64/x64/GEARAspi64.dll
./users/Public/Application
Data/{93E26451-CD9A-43A5-A2FA-C42392EA4001}/x64/x64/GEARAspi.dll
./users/Public/Application
Data/{93E26451-CD9A-43A5-A2FA-C42392EA4001}/x64/x64/GEARAspiWDM.sys
./users/Public/Application
Data/{93E26451-CD9A-43A5-A2FA-C42392EA4001}/x64/GEARAspiWDM.inf
--- snip ---

The problem is a custom action executed in 64-bit msi server process:

--- snip ---
0026:Call KERNEL32.CreateProcessA(0022f290
"C:\\windows\\system32\\msiexec.exe",0022f3a0
"\"C:\\windows\\system32\\msiexec.exe\" /i
\"C:\\users\\focht\\Temp\\IXP535.TMP\\iTunes64.msi\"",00000000,00000000,00000000,00000020,00000000,00000000,0022fb80,0022f278)
ret=140001970
0028:trace:relay:load_list L"RelayExclude" =
L"ntdll.RtlEnterCriticalSection;ntdll.RtlLeaveCriticalSection;kernel32.48;kernel32.49;kernel32.94;kernel32.95;kernel32.96;kernel32.97;kernel32.98;kernel32.TlsGetValue;kernel32.TlsSetValue;kernel32.FlsGetValue;kernel32.FlsSetValue;kernel32.SetLastError"
0028:trace:relay:load_list L"RelayFromExclude" =
L"winex11.drv;user32;gdi32;advapi32;kernel32"
0028:Call KERNEL32.__wine_kernel_init() ret=7f9ea204e63e
0026:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=140001970
0026:Call KERNEL32.CloseHandle(00000054) ret=14000198f
0026:Ret  KERNEL32.CloseHandle() retval=00000001 ret=14000198f
0026:Call KERNEL32.WaitForSingleObject(00000050,ffffffff) ret=1400019a2
...
0028:Starting process L"C:\\windows\\system32\\msiexec.exe"
(entryproc=0x7f9e9b7b0528) 
...
0028:trace:msi:HANDLE_CustomType1 Calling function L"GEARDIFxInstall" from
L"C:\\users\\focht\\Temp\\msi9893.tmp" 
...
0028:trace:msi:wait_thread_handle waiting for
L"GEARDIFxInstall.08F8F817_EC7E_417F_A476_DAF2501E83FC" 
...
005a:Ret  PE DLL (proc=0x180008104,module=0x180000000
L"msi9060.tmp",reason=THREAD_ATTACH,res=(nil)) retval=1
005a:Starting thread proc 0x7f9e9b49e7c7 (arg=0xf472b4)
005a:trace:msi:DllThread custom action (5a) started
005a:trace:msi:ACTION_CallDllFunction {f4d14065-6ab4-4d9c-9d43-ae2cb7ba97b5}
005a:trace:msi:DllGetClassObject {ba26e6fa-4f27-4f56-953a-3f90272018aa}
{00000001-0000-0000-c000-000000000046} 0x1a7e150
005a:trace:msi:MsiCF_CreateInstance 0x7f9e9b79a880 (nil)
{56d58b64-8780-4c22-a8bc-8b0b29e4a9f8} 0x1a7e148
005a:Call ntdll.RtlAllocateHeap(00010000,00000000,00000010) ret=7f9e9b49cafc
005a:Ret  ntdll.RtlAllocateHeap() retval=00f42ce0 ret=7f9e9b49cafc
005a:trace:msi:alloc_msihandle 0x75d70 -> 1
005a:Call oleaut32.SysAllocString(00f3ee40
L"C:\\users\\focht\\Temp\\msi9893.tmp") ret=7f9e9b4a175d
005a:Call ntdll.RtlAllocateHeap(00010000,00000000,00000044) ret=7f9e99c56535
005a:Ret  ntdll.RtlAllocateHeap() retval=00f435f0 ret=7f9e99c56535
005a:Ret  oleaut32.SysAllocString() retval=00f435f4 ret=7f9e9b4a175d
005a:Call oleaut32.SysAllocString(00f46cf0 L"GEARDIFxInstall") ret=7f9e9b4a1777
005a:Call ntdll.RtlAllocateHeap(00010000,00000000,00000024) ret=7f9e99c56535
005a:Ret  ntdll.RtlAllocateHeap() retval=00f42b80 ret=7f9e99c56535
005a:Ret  oleaut32.SysAllocString() retval=00f42b84 ret=7f9e9b4a1777
005a:Call ntdll.RtlAllocateHeap(00010000,00000000,00000010) ret=7f9e9b4dbda7
005a:Ret  ntdll.RtlAllocateHeap() retval=00f47750 ret=7f9e9b4dbda7
005a:Call ntdll.RtlFreeHeap(00010000,00000000,00f42ce0) ret=7f9e9b49cbbe
005a:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7f9e9b49cbbe
005a:Call KERNEL32.LoadLibraryW(00f435f4
L"C:\\users\\focht\\Temp\\msi9893.tmp") ret=7f9e9b49e405
005a:Ret  KERNEL32.LoadLibraryW() retval=00000000 ret=7f9e9b49e405
005a:warn:msi:ACTION_CallDllFunction failed to load dll
L"C:\\users\\focht\\Temp\\msi9893.tmp" (193)
005a:trace:msi:DllThread custom action (5a) returned 0
005a:trace:msi:MsiCloseAllHandles 
005a:trace:msi:MsiCloseHandle 1
005a:trace:msi:MsiCloseHandle handle 1 destroyed 
--- snip ---

Dumping with ORCA:

--- snip ---
GEARDIFxInstall.08F8F817_EC7E_417F_A476_DAF2501E83FC    3137   
NewBinary2.08F8F817_EC7E_417F_A476_DAF2501E83FC    GEARDIFxInstall    
--- snip ---

The library is really 32-bit PE:

--- snip ---
$ file Binary.NewBinary2.08F8F817_EC7E_417F_A476_DAF2501E83FC 
Binary.NewBinary2.08F8F817_EC7E_417F_A476_DAF2501E83FC: PE32 executable (DLL)
(GUI) Intel 80386, for MS Windows
--- snip ---

I remember Hans recently commented on a similar issue in another bug but I
can't find it anymore.
This is most likely a dupe of need-separate-32/64-bits-custom-action server
bug(s).

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