Select to view content in your preferred language

FileGDBAPI.dll Microsoft.VC90.CRT dependency

4713
2
Jump to solution
08-06-2013 06:55 AM
GediminasJasvilis
New Contributor
Hi,

I have a problem while trying to load FileGDBAPI.dll
Our software is not dependant on Microsoft VC 9.0 dlls, it is built using VS2010 and it uses FileGDB binaries from "File Geodatabase API 1.2 version for Windows (Visual Studio 2010)" (FileGDB_API_VS2010_1_2.zip).

After installing on clean Windows Server 2008 R2 machine it fails to load some dlls that links to FileGDBAPI.dll with errors in the event log:
"Activation context generation failed for "C:\Program Files\...\FileGDBAPI.dll". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis."

and indeed there is embedded manifest in this dll which says that it is dependant on Microsoft.VC90.CRT
using this command
>mt.exe -inputresource:"C:\Program Files\...\FileGDBAPI.dll";#2 -out:extracted.manifest

I get a result:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">     <security>       <requestedPrivileges>         <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>       </requestedPrivileges>     </security>   </trustInfo>   <dependency>     <dependentAssembly>       <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>     </dependentAssembly>   </dependency> </assembly>


after installing "Microsoft Visual C++ 2008 Redistributable Package (x64)" those dlls get loaded just fine, but the question I have maybe someone knows a way to avoid installing this package? I checked also binaries from "File Geodatabase API 1.3 version for Windows (Visual Studio 2010)" and "File Geodatabase API 1.3 version for Windows (Visual Studio 2012)" but they also seem to be dependant on VC 9.0 runtime...
0 Kudos
1 Solution

Accepted Solutions
LanceShipman
Esri Regular Contributor
The runtimes are required.

From the Windows Readme file. This is also in the Readme for VS2010 and VS2012.
SOFTWARE REQUIREMENTS:
      Visual Studio 2008 SP1 (C++) Standard, Professional, or Team Editions required for development.
      Visual Studio 2008 C and C++ Runtimes required for deployment.

View solution in original post

0 Kudos
2 Replies
LanceShipman
Esri Regular Contributor
The runtimes are required.

From the Windows Readme file. This is also in the Readme for VS2010 and VS2012.
SOFTWARE REQUIREMENTS:
      Visual Studio 2008 SP1 (C++) Standard, Professional, or Team Editions required for development.
      Visual Studio 2008 C and C++ Runtimes required for deployment.
0 Kudos
GediminasJasvilis
New Contributor
ok, that's clear then. thank you for such quick response.

PS. I checked once again readme in VS2010 and software requirements section has this:
SOFTWARE REQUIREMENTS:
      Visual Studio 2010 (C++) Standard, Professional, or Team Editions required for development.
      Visual Studio 2010 C and C++ Runtimes required for deployment.
      .NET 4.0 Framework is required for the .NET wrapper.
0 Kudos