[Bug 34770] Some WMI applications fail when incorrectly passing WBEM_MASK_CONDITION_ORIGIN to IWbemClassObject::GetNames method

WineHQ Bugzilla wine-bugs at winehq.org
Tue Nov 24 11:44:20 CST 2020


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
                URL|http://www.cppfans.com/cntf |https://web.archive.org/web
                   |ile.asp?fn=wmi_bcb          |/20201124164809/http://www.
                   |                            |cppfans.com/dldir/cpp_sourc
                   |                            |e/wmi_bcb.rar
            Summary|WMI applications fail when  |Some WMI applications fail
                   |incorrectly passing         |when incorrectly passing
                   |WBEM_MASK_CONDITION_ORIGIN  |WBEM_MASK_CONDITION_ORIGIN
                   |to                          |to
                   |IWbemClassObject::GetNames  |IWbemClassObject::GetNames
                   |method (DS License Server,  |method
                   |some WMI examples)          |
      Fixed by SHA1|                            |06e455c247c4e7ba56cbdcd636e
                   |                            |165418490b299

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

this is fixed by commit
https://source.winehq.org/git/wine.git/commitdiff/06e455c247c4e7ba56cbdcd636e165418490b299
("wbemprox: Accept 0 and WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN as flags
in IWbemClassObject::GetNames()."), part of Wine 5.15 release.

Thanks Gijs

Adding stable downloads via Internet Archive:

https://web.archive.org/web/20201124164809/http://www.cppfans.com/dldir/cpp_source/wmi_bcb.rar

https://web.archive.org/web/20201124170913/https://www.technia.com/wp-content/uploads/2018/09/DSLS.zip

@Gijs

--- quote ---
The sample from the download works as of
<https://source.winehq.org/git/wine.git/commit/06e455c247c4e7ba56cbdcd636e165418490b299>.

Can someone retest DS License Server?
--- quote ---

The DS License Server doesn't suffer from this problem. The FIXME trace message
'wbemprox:class_object_GetNames flags 00000070 not supported' was always benign
and not the reason for the installer failures, even with Wine 1.7.4 this bug
was reported against.

Wine 2.0

--- snip ---
$ WINEDEBUG=+tid,seh,+loaddll,+wbemprox,+process wine msiexec -i DSLS.msi
...
0042:trace:process:__wine_kernel_init starting process name=L"C:\\Program Files
(x86)\\Dassault Systemes\\DS License Server\\win_b64\\code\\bin\\DSLicSrv.exe"
argv[0]=L"C:\\Program Files (x86)\\Dassault Systemes\\DS License
Server\\win_b64\\code\\bin\\DSLicSrv.exe"
0042:trace:loaddll:load_native_dll Loaded L"C:\\Program Files (x86)\\Dassault
Systemes\\DS License Server\\win_b64\\code\\bin\\DSLicSrv.exe" at 0x140000000:
native
0016:trace:process:create_process_impl started process pid 0041 tid 0042
...
0047:trace:loaddll:load_native_dll Loaded L"C:\\Program Files (x86)\\Dassault
Systemes\\DS License Server\\win_b64\\startup\\DSLSJRE\\bin\\server\\jvm.dll"
at 0x180000000: native
...
0047:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\wbemprox.dll" at 0x7efdf4840000: builtin
0047:trace:wbemprox:DllGetClassObject {4590f811-1d3a-11d0-891f-00aa004b2e24}
{00000001-0000-0000-c000-000000000046} 0x113af28
0047:trace:wbemprox:wbemprox_cf_CreateInstance (nil)
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x113af20
0047:trace:wbemprox:WbemLocator_create (0x113adf8)
0047:trace:wbemprox:WbemLocator_create returning iface 0x56da0
0047:trace:wbemprox:wbem_locator_QueryInterface 0x56da0
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x113af20
0047:trace:wbemprox:wbem_locator_ConnectServer 0x56da0, L"ROOT\\CIMV2", (null),
(null), (null), 0x00000000, (null), (nil), 0x113b1e0)
0047:trace:wbemprox:WbemServices_create (0x113b1e0)
0047:trace:wbemprox:WbemServices_create returning iface 0x54740
0047:trace:wbemprox:wbem_services_QueryInterface 0x54740
{0000013d-0000-0000-c000-000000000046} 0x113b078
0047:fixme:wbemprox:client_security_SetBlanket 0x7efdf486f060, 0x54740, 10, 0,
(null), 3, 3, (nil), 0x00000000
0047:fixme:wbemprox:client_security_Release 0x7efdf486f060
0047:trace:wbemprox:wbem_services_ExecQuery 0x54740, L"WQL", L"SELECT * FROM
Win32_DiskDrive", 0x00000030, (nil), 0x113b208
0047:trace:wbemprox:grab_table returning 0x7efdf486e8e0
0047:trace:wbemprox:parse_query wql_parse returned 0
0019:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and
DISK_DETECTION_INFO structures will not be filled
0047:trace:wbemprox:fill_diskdrive created 2 rows
0047:trace:wbemprox:EnumWbemClassObject_create 0x113b208
0047:trace:wbemprox:EnumWbemClassObject_create returning iface 0x5a2a0
0047:trace:wbemprox:enum_class_object_Next 0x5a2a0, -1, 1, 0x113b200, 0x113baf8
0047:trace:wbemprox:create_class_object L"Win32_DiskDrive", 0x113b200
0047:trace:wbemprox:create_class_object returning iface 0x5a2d0
0047:trace:wbemprox:class_object_GetNames 0x5a2d0, (null), 00000070, (null),
0x113b1d8
0047:fixme:wbemprox:class_object_GetNames flags 00000070 not supported
0047:trace:wbemprox:enum_class_object_Next 0x5a2a0, -1, 1, 0x113b200, 0x113baf8
0047:trace:wbemprox:create_class_object L"Win32_DiskDrive", 0x113b200
0047:trace:wbemprox:create_class_object returning iface 0x5a320
0047:trace:wbemprox:class_object_GetNames 0x5a320, (null), 00000070, (null),
0x113b1d8
0047:fixme:wbemprox:class_object_GetNames flags 00000070 not supported
0047:trace:wbemprox:enum_class_object_Next 0x5a2a0, -1, 1, 0x113b200, 0x113baf8
0047:trace:wbemprox:wbem_services_Release destroying 0x54740
0047:trace:wbemprox:wbem_locator_Release destroying 0x56da0
0047:fixme:advapi:RegisterEventSourceW ((null),L"License Server"): stub
0047:fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0xc00003ea,(nil),0x0001,0x00000000,0x113a5c8,(nil)):
stub
0047:err:eventlog:ReportEventW L"DSLicSrv does not run in a virtual machine\n"
0047:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
0009:err:msi:ITERATE_Actions Execution halted, action L"StartServices" returned
1627
0009:err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned
1627
--- snip ---

Wine 5.14

--- snip ---
$ WINEDEBUG=+seh,+loaddll,+wbemprox wine msiexec -i DSLS.msi
...
0130:trace:loaddll:build_module Loaded
L"C:\\windows\\system32\\wbem\\wbemprox.dll" at 0000000001530000: builtin
0130:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\winex11.drv" at
00007F75567A0000: builtin
0130:trace:wbemprox:DllGetClassObject {4590f811-1d3a-11d0-891f-00aa004b2e24}
{00000001-0000-0000-c000-000000000046} 000000000127C120
0130:trace:wbemprox:wbemprox_cf_CreateInstance 0000000000000000
{dc12a687-737f-11cf-884d-00aa004b2e24} 000000000127C110
0130:trace:wbemprox:WbemLocator_create (000000000127C050)
0130:trace:wbemprox:WbemLocator_create returning iface 0000000000DFA230
0130:trace:wbemprox:wbem_locator_QueryInterface 0000000000DFA230
{dc12a687-737f-11cf-884d-00aa004b2e24} 000000000127C110
0130:trace:wbemprox:wbem_locator_ConnectServer 0000000000DFA230,
L"ROOT\\CIMV2", (null), (null), (null), 0x00000000, (null), 0000000000000000,
000000000127C2B0)
0130:trace:wbemprox:WbemServices_create (000000000127C2B0)
0130:trace:wbemprox:WbemServices_create returning iface 0000000000DF95E0
0130:trace:wbemprox:wbem_services_QueryInterface 0000000000DF95E0
{0000013d-0000-0000-c000-000000000046} 000000000127C208
0130:fixme:wbemprox:client_security_SetBlanket 000000000155BCC0,
0000000000DF95E0, 10, 0, (null), 3, 3, 0000000000000000, 0x00000000
0130:fixme:wbemprox:client_security_Release 000000000155BCC0
0130:trace:wbemprox:wbem_services_ExecQuery 0000000000DF95E0, L"WQL", L"SELECT
* FROM Win32_DiskDrive", 0x00000030, 0000000000000000, 000000000127C2D8
0130:trace:wbemprox:grab_table returning 000000000155B4F0
0130:trace:wbemprox:parse_query wql_parse returned 0
00a0:fixme:mountmgr:query_property Faking StorageDeviceProperty data
00a0:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and
DISK_DETECTION_INFO structures will not be filled
0130:trace:wbemprox:fill_diskdrive created 2 rows
0130:trace:wbemprox:EnumWbemClassObject_create 000000000127C2D8
0130:trace:wbemprox:EnumWbemClassObject_create returning iface 0000000000DF9F10
0130:trace:wbemprox:enum_class_object_Next 0000000000DF9F10, -1, 1,
000000000127C2D0, 000000000127CBC8
0130:trace:wbemprox:create_class_object L"Win32_DiskDrive", 000000000127C2D0
0130:trace:wbemprox:create_class_object returning iface 0000000000DEB7B0
0130:trace:wbemprox:class_object_GetNames 0000000000DEB7B0, (null), 00000070,
(null), 000000000127C2A8
0130:fixme:wbemprox:class_object_GetNames flags 00000070 not supported
0130:trace:wbemprox:enum_class_object_Next 0000000000DF9F10, -1, 1,
000000000127C2D0, 000000000127CBC8
0130:trace:wbemprox:create_class_object L"Win32_DiskDrive", 000000000127C2D0
0130:trace:wbemprox:create_class_object returning iface 0000000000DF9F40
0130:trace:wbemprox:class_object_GetNames 0000000000DF9F40, (null), 00000070,
(null), 000000000127C2A8
0130:fixme:wbemprox:class_object_GetNames flags 00000070 not supported
0130:trace:wbemprox:enum_class_object_Next 0000000000DF9F10, -1, 1,
000000000127C2D0, 000000000127CBC8
0130:trace:wbemprox:wbem_services_Release destroying 0000000000DF95E0
0130:trace:wbemprox:wbem_locator_Release destroying 0000000000DFA230
...
DSLicSrv does not run in a virtual machine
...
0024:err:msi:execute_script Execution of script 0 halted; action L"[C:\\Program
Files\\Dassault Systemes\\DS License Server\\?win_b64?NO?4084?4085?NO?
?<=>S-1-5-21-0-0-0-1000<=>{EDAAAC13-6A72-4023-A479-FCD4973F2FD7}]ActionInitData"
returned 1603
0024:err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize"
returned 1603
0024:fixme:msi:internal_ui_handler internal UI not implemented for message
0x0b000000 (UI level = 5)
0024:fixme:msi:internal_ui_handler internal UI not implemented for message
0x0b000000 (UI level = 5)
0024:err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned
1603
--- snip ---

Wine 5.22

--- snip ---
...
017c:Call advapi32.RegOpenKeyExA(ffffffff80000002,14002f850
"SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}",00000000,00020019,0168c738)
ret=14000244e
...
017c:Ret  advapi32.RegOpenKeyExA() retval=00000002 ret=14000244e 
...
017c:Call user32.MessageBoxW(00000000,0168be10 L"DSLicSrv does not run in a
virtual machine\n",0008d5c0 L"C:\\Program Files\\Dassault Systemes\\DS License
Server\\win_b64\\code\\bin\\DSLicSrv.exe",00000010) ret=14000acfd 
--- snip ---

That's bug 9137

$ sha1sum wmi_bcb.rar 
01d1914213122324674a76b2acad7cde5f9fd25a  wmi_bcb.rar

$ du -sh wmi_bcb.rar 
220K    wmi_bcb.rar

$ sha1sum DSLS.*
e2adad311add5d250d8d863a96ffc95a98e0a3d2  DSLS.msi
13168250ca4f7b5579d9b994cf30a07ef593fab8  DSLS.zip

$ du -sh DSLS.*
36M    DSLS.msi
35M    DSLS.zip

$ wine --version
wine-5.22-39-g4807a8f588c

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