Visual Studio 2008 Manifest Issue
-
I've created a MFC project in Visual Studio 2008. The manifest is correctly getting embed in the program if the configuration is Unicode otherwise, it will show an error like this (on changing the character set to Multibyte and build, (not rebuild) the soulution). 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\SampleProgram.exe.embed.manifest". The parameter is incorrect. This error will resolve when I Rebuild the entire project but manifest is not embedding inside the executable
-Sarath. "Great hopes make everything great possible" - Benjamin Franklin
My blog - Sharing My Thoughts, An Article - Understanding Statepattern
-
I've created a MFC project in Visual Studio 2008. The manifest is correctly getting embed in the program if the configuration is Unicode otherwise, it will show an error like this (on changing the character set to Multibyte and build, (not rebuild) the soulution). 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\SampleProgram.exe.embed.manifest". The parameter is incorrect. This error will resolve when I Rebuild the entire project but manifest is not embedding inside the executable
-Sarath. "Great hopes make everything great possible" - Benjamin Franklin
My blog - Sharing My Thoughts, An Article - Understanding Statepattern
I do get same error during build but not always. Typically if I build (not rebuild) again it do not occur again. Well I don't have solution but just sharing my expereince. -Saurabh
-
I've created a MFC project in Visual Studio 2008. The manifest is correctly getting embed in the program if the configuration is Unicode otherwise, it will show an error like this (on changing the character set to Multibyte and build, (not rebuild) the soulution). 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\SampleProgram.exe.embed.manifest". The parameter is incorrect. This error will resolve when I Rebuild the entire project but manifest is not embedding inside the executable
-Sarath. "Great hopes make everything great possible" - Benjamin Franklin
My blog - Sharing My Thoughts, An Article - Understanding Statepattern
The comctl32.dll version 6 supports only UNICODE version. If you open the stdafx.h you can find the switch as follows
#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
nave [OpenedFileFinder]
-
The comctl32.dll version 6 supports only UNICODE version. If you open the stdafx.h you can find the switch as follows
#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
nave [OpenedFileFinder]
Dear Naveen, Thanks for your reply.
Naveen wrote:
The comctl32.dll version 6 supports only UNICODE version
I just removed the #ifdef _UNICODE and #endif. and it's working fine. In a post of Raymond Chen, it's saying that Common Control 6 supports only UNICODE[^]. When I started using Windows XP, I enabled visual styles for existing applications by just putting "exe_name.exe.manifest" file in the same folder. I can't figure out how it's working it in a non-UNICODE build (even if Common Control 6 supports only Unicode).
-Sarath. "Great hopes make everything great possible" - Benjamin Franklin
My blog - Sharing My Thoughts, An Article - Understanding Statepattern
-
Dear Naveen, Thanks for your reply.
Naveen wrote:
The comctl32.dll version 6 supports only UNICODE version
I just removed the #ifdef _UNICODE and #endif. and it's working fine. In a post of Raymond Chen, it's saying that Common Control 6 supports only UNICODE[^]. When I started using Windows XP, I enabled visual styles for existing applications by just putting "exe_name.exe.manifest" file in the same folder. I can't figure out how it's working it in a non-UNICODE build (even if Common Control 6 supports only Unicode).
-Sarath. "Great hopes make everything great possible" - Benjamin Franklin
My blog - Sharing My Thoughts, An Article - Understanding Statepattern
I think untill you deal with message that handles strings, problem may not raise. Also if we subclass a control and handle messages that contains text, problem can arise. The comcomctl will be sending the text as wide char, but our program will interpret it as multibyte which can lead to undefined errors.
nave [OpenedFileFinder]