We are often asked “I have a 64-bit Windows computer. Should I install 32-bit or 64-bit components?”
Our recommendation is generally to install 64-bit components on a 64-bit OS.
For the KeyServer component in particular though, there are a few cases that require the use of 32-bit components on a 64-bit OS.
We’ll also describe bitness issues for Mac and Linux, but they are much more straightforward than Windows.
The Windows KeyServer component functions almost entirely the same regardless of bitness – except when it comes to dynamic loading of external libraries. An executable can only load libraries of a matching bitness. There are 3 places where KeyServer will load libraries:
- ODBC Export – If you are exporting via ODBC, your KeyServer executable must match the platform of the 3rd party ODBC module. If you only have a 32-bit ODBC driver for your database, then you should use 32-bit KeyServer even on a 64-bit computer. In this case you would also have to use the special 32-bit version of the Windows ODBC Administrator.
- Vendor Licenses – Some 3rd party software vendors embed the KeyServer API in their product to enforce licensing rights. If their implementation includes a DLL for installation in the KeyServer Data Folder (e.g. Sequencher), then KeyServer bitness must match the DLL.
- ODBC Authentication – Although most sites that make use of K2’s authentication features use the Active Directory module, it is possible to access other authentication services using the ODBC authentication module along with a third party ODBC driver . If a particular driver is only available as 32 bit, this will force a 32 bit install for the KeyServer component.
We recommend 64-bit KeyConfigure on a 64-bit OS. There is no compatibility consideration that would make you choose 32-bit KeyConfigure, and 64-bit KeyConfigure will run more efficiently and allow larger reports to be generated.
On 64-bit Windows, there are a few uncommon programs whose usage will not be reported accurately by the 32-bit KeyAccess (even though in all other respects, the bitness of KeyAccess on does not matter). Therefore it is best to install the KeyAccess to match the OS.
If using GPO for deployment, the appropriate installer can be selected like this:
\\server\share\K2Client.exe -platform 32 -gpo
\\server\share\K2Client-x64.exe -platform 64 -gpo
For more on configuring installation options, refer to the Deployment Documentation
Executables on mac are “fat” – meaning they can contain multiple architectures. Most K2 components include both 32-bit and 64-bit code. We started to include the 64-bit architecture in version 7.2.
Mac programs used to also include code for the PowerPC chip, but we stopped including PowerPC in an early version of 7.2.
If you are using KeyServer 7.1 or earlier with Vendor Licenses that use .so’s (libraries) you should make sure the .so’s contain the 64-bit architecture, or contact Sassafras Support for help.
On Linux you will almost always want to run 64-bit components on a 64-bit OS. It is possible to run 32-bit components on a 64-bit OS, but it means installing 32-bit libraries (in addition to the 64-bit libraries). So, our recommendation is to match the bitness of the OS.