Zoom SDK.dll does not match version.txt and crashes on starting a meeting

The recently released SDK version (30 minutes ago) has a version.txt that is the current version but the sdk.dll GetVersion() call returns the OLD version.

How are we to detect which version to use?

Also, the meeting crashes on meeting startup after the “connecting” phase. I would like to detect which version the SDK is currently and force an upgrade but the version number returned is wrong!!

Which version?

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Download v4.6.21666.0428
  2. Start a meeting via the SDK
  3. Request version (it returns 4.6.15837.something)
  4. Meeting crashes on startup.


Smartphone (please complete the following information):
Windows 10

Additional context
None applicable

OK so I am using the wrapper from the C# as getting the Windows SDK version to build correctly didn’t work.
I have fetched the last wrapper + rebuilt wrap.sln from the C# and the version is now correct. This seems odd because I am certain the wrapper should be making the call into the SDK version, so I am not sure what is happening?
It is no longer crashing now anyway.

A customer tried using my software that has this and is having the same problem. It’s reporting 4.6.15837 even for 4.6.21666

I think the SDK.dll gets loaded (looking at the modules) but calling CleanupSDK() doesn’t unload sdk.dll so it hangs around and my program still thinks it is the old version, even though the sdk.dll has been redownloaded and overwritten. If I call CleanupSDK and then CSDKWrap::GetInst(), CSDKWrap is invalid and any calls to the “instance” it returns are garbage and crash. CSDKWrap’s instance is static, so there’s no way of unloading it!!

If I restart the program without restarting the machine, calls to InitSDK are now busted and sdk.dll crashes inside. I cannot do anything without restarting the machine!!
Is Zoom’s DLL hanging around in memory or has a reference count problem/leak or something so is not being unloaded by Windows?

How do I fully UNLOAD the SDK without having to restart the application or machine???

So I discovered the problem:
a. I deleted the SDK directory (but it actually doesn’t remove the files in use).
b. I fetched the SDK zip and decompressed it.
c. The sdk.dll had not been deleted, removed from memory, or replaced.
d. I attempted to use the SDK again but now half of the SDK is the old, half is the new. Crashing ensues!

The only successful way to update it is to restart the application and get it to upgrade the SDK before attempting to use it.
There is simply no other way of “unloading” the SDK since it is a static member in the lib.

Hopefully this helps someone else.

Hi side.parting,

Thanks for the post and glad to hear it is working now. You may refer to the SDK version shown in version.txt as the real SDK version.

And regarding the unloading case you are mentioning, I will forward to the engineering team and investigate if there is any we could optimize it.

Thanks! Happy Zooming!