I’d like to ask about the bitness of the OpenTAP.dll in the 64-bit installation of Keysight and OpenTAP v9.21. I noticed that this dll appears to be 32-bit even though the applications installed are 64-bit (e.g. Editor.exe and tap.exe).
See below for a screenshot of the OpenTAP.dll file headers from 64-bit OpenTAP v9.21:
OpenTAP.dll file headers
Are the OpenTAP dlls in the 64-bit installations of Keysight and OpenTAP meant to be 32-bit still, and that only the application executables are 64-bit?
Hi @yuancai and welcome to the forum.
The DLLs are .NET DLLS and not native DLLs. They are compiled for “AnyCPU”, this means that they don’t really have any bitness until they get loaded by an application.
tap.exe is a 32bit or 64 bit application depending on how it is installed. The OpenTAP installer only bundles a 64 bit tap.exe.
@rolf_madsen thanks for the clarification.
I have one more question: will the DLLs continue to be compiled for “AnyCPU” for the foreseeable future, or will they be targeted for a specific platform, e.g. 64-bit, eventually?
Hi @yuancai, OpenTAP.dll will never target anything else than AnyCPU and we generally don’t use anything else than AnyCPU, unless it cannot be prevented.
That being said, an application needs to decide if it is a 32 or 64 bit application. In OpenTAP we do this by selecting which architecture the OpenTAP package targets. So you can install the 32 bit or 64 bit version of te Opentap package depending on your needs.
In order to keep things simple we recommend everybody to use AnyCPU for their package so they don’t have to ship different packages for different CPU architectures and they will work whether it is x86-64, x86, ARM64 or AARCH64.
Hi @rolf_madsen , thank you for the clear and detailed response!