opentok / opentok-windows-sdk-samples

Sample applications illustrating best practices using OpenTok Windows SDK
MIT License
9 stars 29 forks source link

Win10 cannot run BasicVideoChat sample compiled on Win7. #8

Closed fidergo-stephane-gourichon closed 6 years ago

fidergo-stephane-gourichon commented 6 years ago

List the steps to reproduce the problem.

What is the expected output?

What do you see instead?

System.Windows.Markup.XamlParseException occurred HResult=0x80131501 Message='L'invocation du constructeur sur le type 'BasicVideoChat.MainWindow' qui correspond aux contraintes de liaison spécifiées a levé une exception.' numéro de ligne '7' et position de ligne '9'. Source=PresentationFramework StackTrace: at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)

Inner Exception 1: DllNotFoundException: Impossible de charger la DLL 'MFCapturer': Le module spécifié est introuvable. (Exception de HRESULT : 0x8007007E)

What OS and version are you seeing this problem with?

What OpenTok versions were you running (i.e. iOS SDK version, Android SDK version, JS version, etc)

What session ID (and archive ID if relevant) did you see this problem on? What token did you use? What date did you encounter this error?

Please attach any relevant logs, screenshots, or any other information that can help solve the problem.

fidergo-stephane-gourichon commented 6 years ago

Compilation output dir shows a x64 subdir with copies of MFCapturer.dll and opentok.dll, suggesting a possible architecture mismatch.

Changed target architecture to see if it changes anything.

Results:

See upcoming pull request for source code of that attempt.

result_on_project_type_AnyCpu.txt result_on_project_type_x64.txt result_on_project_type_x86.txt

fidergo-stephane-gourichon commented 6 years ago

Attached files 20 minutes ago were using that code: https://github.com/apc-hub/opentok-windows-sdk-samples/tree/github_issue8_attempt_change_target More specifically the 2 latest commits on this tip: https://github.com/apc-hub/opentok-windows-sdk-samples/commit/4d721377e4019340be3fc6cf2f87e50e69c0fa64

fidergo-stephane-gourichon commented 6 years ago

Official documentation OpenTok Windows SDK - for building WebRTC video apps on Windows states:

When creating an installer for your application, add Visual C++ Redistributable for Visual Studio 2015 as an installer package. Use the x86 version, the x64 version, or both, depending on the architecture of your application.

We observed that even with platform-agnostic .NET code, running on a 64-bit OS required installing 32-bit version of the C++ redistributable on the target as for some reason the .NET app is run as 32-bit not 64-bit.