I got the following info from a colleague who had problems with TobToolbars in their packaged Application. The effect was that their Toolbars behaved like in the IDE when running on Windows XP: old style buttons that only react on double clicks.
What he found out was that if you remove the manifest file of the exe on XP, the Toolbars work. Of course, you loose the support for theming on Win XP if you do so.
By experimenting a little, he found that the problem is the (hardcoded) dependence on the Win 32 Common controls DLL version 6.0.0
- Code: Select all
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
So another option is to find out which version of the DLL is installed on your machine and replace the version.
But this is of course not a good solution if you need to deliver to an unknown machine park.
So this brings up a few questions:
What if the version attribute is simply left out?
Is it possible to add multiple assemblyIdentity tags into the manifest that reference the resp. version of the DLL? What would the type attribute look like for a dsitinction between Win XP, Vista, Windows 7? What DLL versions are appropriate for each of the Windows versions? How could I find out myself on newer versions of Windows?
Joachim