I have a solution for VC6, but I am not sure if it will work in VS 2008.
(also check this article for what is causing the problem)
Here is an example of a simple manifest file that I've used to solve it:
Create the below XML file,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Microsoft.Windows.YourApplication"
type="win32"
/>
<description>YourApplication</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
First, let's add two lines to the resource.h file. Just copy and paste the following:
#define IDR_MANIFEST 1
#define RT_MANIFEST 24
Now, open the application custom resource file. Usually, it's located in the res directory; the default extention is
.rc2. Manually add the following line:
// Add manually edited resources here...
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE
"res\\ApplicationManifestXMLFile"
Replace ApplicationManifestXMLFile with the actual file name (the XML you have created).