

the GetThinAppType method call) from the 64-bit process to ThinAppSDKSrvr.exe, which will in turn forward it to ThinAppSDK.dll. Windows will then “forward” ThinApp SDK calls (e.g. Since ThinAppSDKSrvr.exe is a 32-bit application, it can load ThinAppSDK.dll just fine.

Windows will detect this situation and will automatically launch ThinAppSDKSrvr.exe. That’s where ThinAppSDKSrvr.exe comes in. So if you try to create a ThinApp.Management object from a 64-bit process, ThinAppSDK.dll cannot be loaded directly into that process. However, it’s not possible to load a 32-bit DLL into a 64-bit process. It is a 32-bit DLL, if you create a ThinApp.Management object from a 32-bit process Windows will load ThinAppSDK.dll into that process (if the DLL was registered correctly with regsvr32). “ThinAppSDK.dll is the DLL that implements the ThinApp SDK objects like ThinApp.Management. Thanks to Greg Geldorp, the VMware Engineer that owns the ThinApp SDK, we know how the DLL gets loaded on a 64-bit client.

On a Windows client that has UAC enabled make sure you run regsvr32 from an elevated command prompt (run as administrator) ! Then register the DLL with the regsvr32 command. But the ThinApp SDK has foreseen this.įirst make sure you have the ThinAppSDK.dll and ThinAppSDKSrvr.exe files together in a directory. The SDK package doesn’t contain a DLL with a manifest so we can’t use the LoadFile method to load the DLL into memory.
