WACK Failure on ARM "XXXXX takes a dependency on Microsoft Visual C++ Runtime Package (Microsoft.VCLibs.110.00) framework but is missing the framework dependency declaration in the manifest."

Feb 21, 2014 at 1:13 PM
Edited Feb 21, 2014 at 1:44 PM
Hi,
I am receiving the following error when I run WACK on ARM, but not on x86.

"XXXXX takes a dependency on Microsoft Visual C++ Runtime Package (Microsoft.VCLibs.110.00) framework but is missing the framework dependency declaration in the manifest."

I have narrowed it down to SQLite-WinRT, but I can't seem to track down what is creating the dependency.
I have been able to reproduce this by creating a new blank windows store app and adding references to SQLite and SQLite-WinRT.
I am using SQLite 3.8.3.1

Thanks.

Some of the supported apis errors;

◦API ??0AccessDeniedException@Platform@@Q$AAA@P$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0COMException@Platform@@Q$AAA@HP$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0ChangedStateException@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0Delegate@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0Exception@Platform@@Q$AAA@HP$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0FailureException@Platform@@Q$AAA@P$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0FailureException@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0InvalidArgumentException@Platform@@Q$AAA@P$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0NotImplementedException@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0NullReferenceException@Platform@@Q$AAA@P$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0Object@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0OutOfBoundsException@Platform@@Q$AAA@P$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0OutOfBoundsException@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ??0OutOfMemoryException@Platform@@Q$AAA@XZ in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ?Allocate@Heap@Details@Platform@@SAPAXI@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ?AllocateException@Heap@Details@Platform@@SAPAXI@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ?CreateException@Exception@Platform@@SAP$AAV12@H@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
◦API ?EventSourceAdd@Details@Platform@@YA?AVEventRegistrationToken@Foundation@Windows@@PAPAXPAUEventLock@12@P$AAVDelegate@2@@Z in vccorlib110.dll is not supported for this application type. SQLiteWinRT.dll calls this API.
Coordinator
Feb 21, 2014 at 1:34 PM

Are you adding a reference directly to the SqliteWinRT.dll, or (as you should do) adding the SQLite-WinRT project to your solution, and adding a reference to that from your main project? Do it the latter way, and all the C++ references should take care of themselves.

Alternatively, instead of working with the downloaded project code, you can now add a reference to the SQLite-WinRT NuGet package which again should take care of all required references.

Andy

Feb 21, 2014 at 1:47 PM
Edited Feb 21, 2014 at 1:52 PM
Thanks for the quick reply Andy, I have been using the NuGet package. after I discovered the issue I downloaded the source and added the project to the solution but I get the same error.
It passes WACK on an x86 machine
Feb 22, 2014 at 9:56 AM
Edited Feb 22, 2014 at 9:58 AM
I fixed it!
I removed the reference to SQLite in the SQLite-WinRT project from Visual Studio then re-added it.
the problem appears to have these lines from the vcxproj file.
<Import Project="$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.7.17\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props" Condition="exists('$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.7.17\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props')" />
<Import Project="$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.2\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props" Condition="exists('$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.2\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props')" />
which are now
<Import Project="$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.2\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props" Condition="exists('$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.2\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props')" />
<Import Project="$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.3.1\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props" Condition="exists('$(ExtensionSDKDirectoryRoot)\Windows\v$(TargetPlatformVersion)\ExtensionSDKs\SQLite.WinRT81\3.8.3.1\DesignTime\CommonConfiguration\Neutral\SQLite.WinRT81.props')" />