I realize that this question is likely no longer relevant to OP but just wanted to post my answer here in case it is helpful to anyone else.
I had this error earlier today on my 64-bit Windows 7 Pro (after uninstalling an application called PinnacleMyDVD I was not longer able to launch Outlook, MS Access, and some other apps).
I my case Windows event viewer displayed the following error:
Activation context generation failed for "C:\Program Files
(x86)\Microsoft Office\Office14\OUTLOOK.EXE.Manifest". Dependent
Assembly
Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"
could not be found. Please use sxstrace.exe for detailed diagnosis.
After reading through some of the other answers on this site, I decided to download and install the Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
from here. This did not however resolve the issue.
One of the answers though pointed to this Microsoft article which is largely for Vista but also has a paragraph for Other versions of Windows (the instructions are practically the same for Vista and other versions, the only difference being the expected location of the registry keys).
According to the article the location of the registry key for non-Vista versions is:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners
Anyway, I had already checked my Windows\winsxs
directory after reinstalling the C++ redistributable, and found that it had a folder with a name that closest matched the parameters in the Windows event text:
x86_microsoft.vc90.openmp_1fc8b3b9a1e18e3b_9.0.30729.1_none_118a7387f9d14a82
In this case it looked like the string 9.0.30729.1 in the folder name was the version of the file in that folder.
So I followed the instructions in the Microsoft article mentioned above, and changed my registry key to point to that version as shown in below screen shot.
After this the error was gone.
The Microsoft article of Managing Data Sources says the following :
To manage a data source that connects to a 32-bit driver under 64-bit
platform, use c:\windows\sysWOW64\odbcad32.exe
. To manage a data
source that connects to a 64-bit driver, use
c:\windows\system32\odbcad32.exe
. In Administrative Tools on a
64-bit Windows 8 operating system, there are icons for both the 32-bit
and 64-bit ODBC Data Source Administrator dialog box.
If you use the 64-bit odbcad32.exe to configure or remove a DSN that
connects to a 32-bit driver, for example, Driver to Microsoft Access
(*.mdb), you will receive the following error message:
The specified DSN contains an architecture mismatch between the Driver and Application
To resolve this error, use the 32-bit odbcad32.exe to configure or remove the DSN.
Your application is evidently 32-bit. Have you used the right odbcad32.exe to define the DSN ?
Best Answer
If you run the application, in Task Manager it should have a *32 beside it to indicate it's 32-bit. I'm pretty sure they had this implemented in Server 2003, not positive though, hopefully someone can clarify.
You could also run it through PEiD. PEiD does not support 64-bit PEs, so it will choke if it's 64-bit.
There is also the famous GNU file for Windows. It will tell you all sorts of information about an executable.
Example:
As you can see, the 64-bit WinRAR installer is classified as PE32+, which signifies a 64-bit executable. The 32-bit application is simply PE32, a 32-bit executable.