Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to use Common Controls version 6?

19 views
Skip to first unread message

Stefanie Mehl

unread,
Nov 23, 2007, 10:27:01 AM11/23/07
to
Hi,

there is a multitude of blog entries and posts that explain how to embed a
certain passage in an application's manifest file in order to use common
controls version 6 (xp style) like that:

<dependency>
<dependentAssembly>
<assemblyIdentity type='win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*' />
</dependentAssembly>
</dependency>

However, if you happen to start on the system without the exact version of
Common Controls 6.0.0.0 but e.g. 6.0.10.0 this would fail (at least for an
application deployed with ClickOnce) because the version is fixed and I
didn't find a way to specify something like "use this version or a higher
one".

In the documentation I found the following article:
http://msdn2.microsoft.com/en-us/library/bb776779.aspx.
There is a note that states that version 6 is not redistributable and that
the manifest should indicate that version 6 should be used if it is
available. But what should the application do if version 6 is not available?

It would be great if someone out there can help me to implement this
correctly.

Best regards,

Stefanie

Stefanie Mehl

unread,
Dec 3, 2007, 3:21:00 AM12/3/07
to
Hi,

sorry, but did anyone read this post? I think it is a little strange that
there is no reaction at all since an answer within two working days is
promised. If this is the wrong newsgroup, it would have been nice to get at
least that as an answer.

Best regards,

Stefanie

Adrian Accinelli

unread,
Dec 3, 2007, 6:32:47 PM12/3/07
to

"Stefanie Mehl" <Stef...@nospam.nospam> wrote in message
news:3E32C1B8-48F3-4D44...@microsoft.com...

Are you sure that this is a managed group? I haven't checked but there's a
full list on MSDN. Also your posting address has to be registered with your
MSDN subscriptions.

Anyways normally this situation would be handled either:
1. Privately -- by using a local application Config file (executable.exe +
executable.exe.config)
2. Globally -- installing a global binding redirect in global assembly

In case of the common controls I believe Microsoft will always take care of
this through method 2 for you (as new OS comes out with newer Common control
they will automatically redirect the older versions to the newer one).

Search MSDN for bindingRedirect for definition and favourite search engine
for how people are using it.

Sincerely,
Adrian Accinelli


Stefanie Mehl

unread,
Dec 4, 2007, 3:02:01 AM12/4/07
to

Hi Adrian,

"Adrian Accinelli" wrote:
> Are you sure that this is a managed group? I haven't checked but there's a
> full list on MSDN. Also your posting address has to be registered with your
> MSDN subscriptions.

I entered this through my msdn subscription account, so I was positive it is
a managed newsgroup but maybe I got to a wrong one.


>
> Anyways normally this situation would be handled either:
> 1. Privately -- by using a local application Config file (executable.exe +
> executable.exe.config)
> 2. Globally -- installing a global binding redirect in global assembly

This is the way I know for managed assemblies, but I didn't find any hint on
how this works for SxS assemblies like Common Controls.


>
> In case of the common controls I believe Microsoft will always take care of
> this through method 2 for you (as new OS comes out with newer Common control
> they will automatically redirect the older versions to the newer one).

Yes, there are some redirects, but they are incomplete. For example on a x64
machine, there is no 32 bit installation of Common Controls version 6.0 or
higher and there is also no redirect to the version 5.8 that is installed.

Anyway, thank you very much for your answer, it was at least nice that this
did not become one of the dead posts you find all over the web once you start
looking for the solution of a problem...
I will continue my search and if I find the answer, I will post it here.

Best regards,

Stefanie

Adrian Accinelli

unread,
Dec 4, 2007, 1:53:20 PM12/4/07
to

"Stefanie Mehl" <Stef...@nospam.nospam> wrote in message
news:76900CF5-874D-4D68...@microsoft.com...

>
>
> Yes, there are some redirects, but they are incomplete. For example on a
> x64
> machine, there is no 32 bit installation of Common Controls version 6.0 or
> higher and there is also no redirect to the version 5.8 that is installed.
>
> Anyway, thank you very much for your answer, it was at least nice that
> this
> did not become one of the dead posts you find all over the web once you
> start
> looking for the solution of a problem...
> I will continue my search and if I find the answer, I will post it here.
>
> Best regards,
>
> Stefanie

Well on Vista x64 there's no policy redirect but they have a
HKLM\COMPONENTS\Winners key and in there they redirect the 5.82 and 6.0
versions of common controls to 5.82.6000.16386 and 6.06000.16386
respectively. Because the assemblies are platform specific there is one
specifically for 32-bit common controls.

In general, on Vista running SxSTrace prior to launching your application
will show you why an assembly cannot be loaded as well the order by which it
searches for an assembly that is found.

I have no problems using Common controls 6 with any of my 32-bit apps on any
x64 platforms including Vista. If you post your specific error you might
get a better response than "works for me".

Sincerely,
Adrian Accinelli


Stefanie Mehl

unread,
Dec 5, 2007, 3:32:01 AM12/5/07
to
Hi Adrian,

sorry, I forgot to mention that my problems are mainly on Windows XP 64 bit.
For Vista 64 bit it seems to work ok. Furthermore, I found out that the
problem is only related to WPF applications (Windows Forms and others just
work fine without any special effort...), so I decided to bring the topic up
in the C# group because it might be interesting for all people using WPF (WPF
and old style Open File Dialog on x64 systems?).

Best regards and thank you very much,

Stefanie

khushal

unread,
Feb 19, 2009, 1:14:00 AM2/19/09
to

"Stefanie Mehl" wrote:

> > hello all
i am trying to embedded window xp look and feel to my application that is
build on older enviroment of MFC with older window OS , i just added that
folloeing code " #ifdef UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df'
language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df'
language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
"
in the stdafx.h of my application


but i am getting a problem that all the dialog that comes from this
application are not coming now means dialogs comes only for a fraction of
second.....

plz give me some suggestion wheather it is correct to use this or not .

fasil....@gmail.com

unread,
Dec 31, 2018, 8:13:48 AM12/31/18
to
0 new messages