Raman Sharma
Raman Sharma

Reputation: 4571

Using a Windows 8.0 Extension SDK component built using Visual C++ 2012 in a Windows 8.1 app

I have a Windows 8 app built using Visual Studio 2012. This app also uses a 3rd party component (packaged as an Extension SDK) also built using Visual Studio 2012. Since this component is written using C++, the Extension SDK has a dependency on Microsoft.VCLibs.110.00 (Visual C++ 2012 Runtime).

Now, I am trying to rebuild this app for Windows 8.1. When I try to build this project using using Visual Studio 2013, I see the following behavior (using Bing Maps SDK only as an example, this applies to any other SDK built using VS 2012):


Windows 8.1 C++ app referencing a Windows 8.0 Extension SDK component

Build fails with following errors:

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): warning MSB3842: Project "cppapp" depends upon SDK "Bing Maps for C#, C++, or Visual Basic v1.113.0601.2" which supports apps targeting "Windows 8.0". To verify whether "Bing Maps for C#, C++, or Visual Basic v1.113.0601.2" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181.

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): warning MSB3781: The SDK "Bing.Maps.Xaml, Version=1.113.0601.2" depends on the following SDK(s) "Microsoft.VCLibs, version=11.0", which have not been added to the project or were not found. Please ensure that you add these dependencies to your project or you may experience runtime issues. You can add dependencies to your project through the Reference Manager.

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): error MSB3841: The SDK "Bing Maps for C#, C++, or Visual Basic" depends on the SDK "Microsoft.VCLibs, version=11.0", which is not compatible with "Windows 8.1". Please reference a version of SDK "Bing Maps for C#, C++, or Visual Basic" which supports "Windows 8.1".

Windows 8.1 C# app referencing a Windows 8.0 Extension SDK component

Build fails with following errors:

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): warning MSB3842: Project "csharpapp" depends upon SDK "Bing Maps for C#, C++, or Visual Basic v1.113.0601.2" which supports apps targeting "Windows 8.0". To verify whether "Bing Maps for C#, C++, or Visual Basic v1.113.0601.2" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181.

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): warning MSB3783: Project "csharpapp" depends upon SDK "Microsoft Visual C++ Runtime Package v11.0" which was released originally for apps targeting "Windows 8.0". To verify whether "Microsoft Visual C++ Runtime Package v11.0" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181.

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): error MSB3841: The SDK "Bing Maps for C#, C++, or Visual Basic" depends on the SDK "Microsoft.VCLibs, version=11.0", which is not compatible with "Windows 8.1". Please reference a version of SDK "Bing Maps for C#, C++, or Visual Basic" which supports "Windows 8.1".

WACK Errors

If I am somehow able to move forward (after changing the SDKManifest.xml of the Bing Maps SDK), I am able to create an app package. When I run WACK on my app, I get the following error:

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


Has anyone else faced these problems. If yes, then how have you addressed them?

Upvotes: 3

Views: 2292

Answers (2)

Raman Sharma
Raman Sharma

Reputation: 4571

Visual Studio 2013 Update 1 (see this blog post for details) address these issues. It contains the appropriate fixes to unblock the above mentioned scenario and allows Windows 8.1 apps being built using VS2013 to reference SDKs which are marked as Windows 8 and/or built using Visual C++ 2012.

Upvotes: 2

Benoit Catherinet
Benoit Catherinet

Reputation: 3345

To reference bing map from a windows 8.1, you should use the SDK for windows 8.1 instead of the one for windows 8.

From here and here an C++ package need to be recompiled to be compatible with windows 8.1 so not much you can do if it is not yet updated and you don't have access to the source code...:

Extension SDKs that were authored in C++ and created for Windows 8 aren't compatible with Windows 8.1.

Upvotes: 1

Related Questions