Can an application and a dll use different ComCtrl32.dll?

Vishnu Gopalakrishnan 126 Reputation points
2021-05-18T16:08:59.193+00:00

The application require ComCtrl32.dll 5.8 and where as one of its loaded require ComCtrl32.dll 6.0. How it possible?
Tried with specifying the versions in manifest of both application and dll project. But the dlls still using the 5.8 at some point( application manifest ).

Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,523 questions
C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,636 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Olaf Helper 43,246 Reputation points
    2021-05-19T06:22:49.7+00:00

    ComCtrl32.dll is an ActiveX control and on one machine only one version can be installed/registered; that's why it's called DLL-Hell: https://en.wikipedia.org/wiki/DLL_Hell

    0 comments No comments

  2. Xiaopo Yang - MSFT 12,231 Reputation points Microsoft Vendor
    2021-05-19T08:17:37.293+00:00

    According to MSDN Isolating Components and the SO thread, with ISOLATION_AWARE_ENABLED used, you need to save contexts which need to be isolated. Then you active the context before you call on each entry functions and deactivate the context after functions returned.

    0 comments No comments