[Bug 29413] New: Acronis True Image 11 Home installer: custom action returns with invalid SQL syntax error (empty column name in select expression)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 22 07:57:21 CST 2011


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

             Bug #: 29413
           Summary: Acronis True Image 11 Home installer: custom action
                    returns with invalid SQL syntax error (empty column
                    name in select expression)
           Product: Wine
           Version: 1.3.35
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: msi
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net
    Classification: Unclassified


Hello,

while investigating bug 17212 I found another issue - though seems non-critical
to overall install process.

Actually I'm not sure if it's valid but here you go...

The console spits out:

--- snip ---
err:msi:custom_get_thread_return Invalid Return Code 1615
--- snip ---

This happens in "IsAllUsersPageEnabledCA" custom action.

The first "select distinct" query is executed successfully:

--- snip ---
...
0025:trace:msi:ACTION_CustomAction Handling custom action
L"IsAllUsersPageEnabledCA" (1 L"CustomActionDLL" L"IsAllUsersPageEnabled")
0025:trace:msi:HANDLE_CustomType1 Calling function L"IsAllUsersPageEnabled"
from L"C:\\users\\focht\\Temp\\msi5572.tmp" 
...
002d:trace:msi:ACTION_CallDllFunction calling L"IsAllUsersPageEnabled" 
...
002d:trace:msi:MsiGetActiveDatabase (1)
002d:trace:msi:alloc_msihandle 0x18bb68 -> 3
002d:trace:msi:alloc_msi_remote_handle 0x1182848 -> 4
002d:Ret  msi.MsiGetActiveDatabase() retval=00000004 ret=01c136c4
002d:Call msi.MsiDatabaseOpenViewW(00000004,01c55270 L"select distinct
`Directory`.`Directory`, `Directory`.`Directory_Parent`,
`Component`.`Condition` from `Component`, `Directory` where
`Component`.`Directory_` = `Directory`.`Directory`",01bfe7f0) ret=01c147ed
002d:trace:msi:MsiDatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, `Component`.`Condition` from `Component`,
`Directory` where `Component`.`Directory_` = `Directory`.`Directory`" 0x1bfe7f0
002d:trace:msi:MsiDatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, `Component`.`Condition` from `Component`,
`Directory` where `Component`.`Directory_` = `Directory`.`Directory`" 0x1bfe7f0
002d:trace:msi:MSI_DatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, `Component`.`Condition` from `Component`,
`Directory` where `Component`.`Directory_` = `Directory`.`Directory`" 0x1bfe604 
...
002d:trace:msidb:DISTINCT_CreateView (nil) 
...
002d:trace:msi:MSI_ParseSQL Parse returned 0
002d:trace:msi:alloc_msihandle 0x11fac30 -> 5
002d:Ret  msi.MsiDatabaseOpenViewW() retval=00000000 ret=01c147ed 
...
002d:trace:msidb:DISTINCT_execute 0x12108c0 (nil) 
...
002d:trace:msidb:DISTINCT_execute Row 69 -> 329 
...
002d:Ret  msi.MsiViewExecute() retval=00000000 ret=01c13c44  
...
--- snip ---

shortly after, another SQL query is done:

--- snip ---
002d:Call msi.MsiDatabaseOpenViewW(00000004,01c54f78 L"select distinct
`Directory`.`Directory`, `Directory`.`Directory_Parent`, '' from `Directory`
where `Directory`.`Directory` = ? ",01bfe774) ret=01c147ed
002d:trace:msi:MsiDatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, '' from `Directory` where
`Directory`.`Directory` = ? " 0x1bfe774
002d:trace:msi:MsiDatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, '' from `Directory` where
`Directory`.`Directory` = ? " 0x1bfe774
002d:trace:msi:MSI_DatabaseOpenViewW L"select distinct `Directory`.`Directory`,
`Directory`.`Directory_Parent`, '' from `Directory` where
`Directory`.`Directory` = ? " 0x1bfe594
..
002d:trace:msi:MSI_ParseSQL Parse returned 1 
...
002d:trace:msi:msiobj_release object 0x11fac30 destroyed
002d:Ret  msi.MsiDatabaseOpenViewW() retval=0000064f ret=01c147ed
002d:Call ntdll.RtlAllocateHeap(01c72000,00000000,00000100) ret=01c40d7f
002d:Ret  ntdll.RtlAllocateHeap() retval=01c76a28 ret=01c40d7f
002d:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,01bfe6ac)
ret=01c409c6
002d:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b838b5b
ip=7b838b5b tid=002d
002d:trace:seh:raise_exception  info[0]=19930520
002d:trace:seh:raise_exception  info[1]=01bfe714
002d:trace:seh:raise_exception  info[2]=01c5f8fc
002d:trace:seh:raise_exception  eax=7b826171 ebx=7b8a97a8 ecx=19930520
edx=01bfe5b4 esi=01bfe690 edi=01bfe610
002d:trace:seh:raise_exception  ebp=01bfe5f8 esp=01bfe594 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000203 
...
002d:trace:msi:DllThread custom action (2d) returned 1615  
--- snip ---

-> invalid SQL syntax.

The SQL query is hard coded into msi package:

--- snip ---
$ strings -e l AcronisTrueImage.msi | grep 'distinct'
select distinct `Directory`.`Directory`, `Directory`.`Directory_Parent`, ''
from `Directory` where `Directory`.`Directory` = ? 
select distinct `Directory`.`Directory`, `Directory`.`Directory_Parent`,
`Component`.`Condition` from `Shortcut`, `Directory`, `Component` where
`Shortcut`.`Directory_` = `Directory`.`Directory` and `Component`.`Component` =
`Shortcut`.`Component_`
select distinct `Directory`.`Directory`, `Directory`.`Directory_Parent`,
`Component`.`Condition` from `Component`, `Directory` where
`Component`.`Directory_` = `Directory`.`Directory` 
--- snip ---

It's probably the empty column name ", ''" in select expression.
Maybe someone knowledgeable in SQL query language can shed a light on this if
this is allowed or the failure is expected.

$ sha1sum TrueImage11.8053_s_en.exe 
61e8ad32e4fc05ceeb6a125f2c026323a73db032  TrueImage11.8053_s_en.exe

$ wine --version
wine-1.3.35-117-g27e3e1a

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