Beginning with Version 2010 release 2, Altova offers both 32- and 64-bit versions of all applications included in Enterprise and Professional Editions of the Altova MissionKit, and in Enterprise Editions of Altova Authentic. This page provides important information about the advantages, differences, and dependencies of 64-bit software that you should consider as you decide whether a 64-bit or 32-bit version is best for your needs.
Many modern software development and data processing environments are running up against a built-in memory limitation. Current and previous 32-bit versions of Microsoft Windows can only allocate a maximum of 2 GB of memory to each running process, regardless how much real or virtual memory is available on a particular machine. Translated to the real world of XML development, this means XML files larger than 100 to 200 MB (depending on complexity) can not be opened at all.
A 64-bit system is not subject to the same memory limitation. A 64-bit processor has a theoretical maximum addressable memory size so large it is measured in multiple petabytes (1 petabyte = 1 million gigabytes). Currently, 64-bit versions of Microsoft Windows 7 support up to 192 GB of installed memory. In practice, the maximum size XML file an individual user of a 64-bit application will be able to process is limited only by the amount of installed physical memory.
The screenshot below shows a 2.7GB file open in the 64-bit version of XMLSpy. This XML file contains the Wikipedia abstract XML feed and is over 35 million lines long.
(Even without enough physical memory, very large files can be processed by 64-bit systems using virtual memory, although significantly more slowly.)
Additionally, files smaller than 100 MB can be processed more efficiently by a 64-bit system that has a large amount of physical memory, because the system can maintain a much larger cache of hard disk data in memory.
Below are answers to the most frequently asked questions (FAQ) about 32-bit vs. 64-bit software.
Yes. Be aware, however, that Altova version 2010 is the earliest release compatible with Windows 7.
No.
Open the Windows Control Panel, Select Classic View (Vista) or Icons (Windows 7), then open the System icon. The line labeled System type will specify either “32-bit Operating System” or “64-bit Operating System.”
It depends. You will want to consider the additional information explained in detail below.
Starting with version 2010 release 2, valid keycodes for Enterprise and Professional Editions of Altova applications support both 32-bit and 64-bit versions. This feature enables flexibility in several important ways:
A 64-bit application will require more memory to open any particular file than a 32-bit application, because the address sizes of memory pointers and other structures automatically become larger. A rule of thumb for XML files is that memory consumption grows by about 50 to 60%. This means a user should have a minimum of 4 GB of memory installed to benefit from a 64-bit application.
In general, a 64-bit application requires a 64-bit driver for database connection. Here are some more specific concerns:
The Microsoft Jet database engine dates back to Windows 95 or earlier and was the original underlying database engine for *.mdb files created with Microsoft Access. Versions of Jet are contained in all editions of Microsoft Windows through Windows 7 and are used by 32-bit applications to connect to Access databases contained in *.mdb files.
Beginning in Office 2007, Microsoft Access gained a new file format with file extension *.accdb and additional functionality. Access 2007 (and later) database files are supported by the new Microsoft ACE (Access Database Engine) driver.
The Microsoft Jet database engine is considered a deprecated product. Although it is still contained in Windows 7, no plans have been announced for it to be ported to a 64-bit version. The Microsoft ACE database engine is available in a version for 64-bit systems and can be downloaded directly (driver only) at:
The Microsoft ACE database engine can also be downloaded as part of the x64 version of Microsoft Office 2010 at:
There is currently an unfortunate limitation of the 64-bit ACE driver – it cannot co-exist with 32-bit versions of Microsoft Office.
The 64-bit versions of Altova MissionKit applications currently require the x64 Microsoft ACE driver to open Access databases, regardless of whether the file extension is *.mdb or *.accdb.
Existing files created with 32-bit versions of Altova applications, such as MapForce mappings or StyleVision stylesheets, may contain connection information that specifies the 32-bit Jet OLEDB provider (Microsoft.Jet.OLEDB.4.0). Altova 64-bit applications will automatically convert these older files to ACE driven connections (Microsoft.ACE.OLEDB.12.0). Users only need to install the 64-bit ACE driver, as described above.
Altova has implemented the Microsoft Source Code Control Interface (MSSCCI) v1.1 – v1.3 in XMLSpy and UModel and has tested support with the many popular revision control systems. In addition, DiffDog can easily be configured to serve as the default diff/merge tool when a stand-alone versioning system is used.
Because most SCC clients do not have 64-bit versions, Altova delivers special SCC bridge software that allows 64-bit versions of Altova applications to use SCC 32-bit clients. This bridge is tightly integrated and works transparently from user’s perspective whenever a 64-bit SCC client is not available.
A 32-bit browser requires 32-bit plug-ins and a 64-bit browser requires 64-bit plug-ins. Currently only Internet Explorer is available in both versions, therefore Altova Authentic Browser Plug-ins for Internet Explorer are also available in both 32 and 64-bit versions. FireFox is currently only available as a 32-bit application. Sample HTML code is published in the documentation for the Authentic Browser Plug-in that shows how to embed instructions in an HTML page to download and install the correct version of the Authentic Browser Plug-in.
Visual Studio is only available as a 32-bit application. Therefore Altova Integration Packages for Visual Studio are also only available in 32-bit versions.
Since Visual Studio is only available in a 32-bit version, you must install the 32-bit version of XMLSpy, MapForce, StyleVision, UModel, or Authentic to run inside Visual Studio for seamless integration into the workflow of the IDE. You must also install the 32-bit version of the corresponding Integration Package, regardless whether you have a 32-bit or 64-bit version of Windows.
Eclipse is available as a 32-bit and a 64-bit application and requires a corresponding plug-in. Altova has offered 32-bit Eclipse Integration Packages for Eclipse since the release of Version 2007, and currently offers integration components for both the 32-bit and 64-bit versions.
Microsoft Word is available in 32-bit and 64-bit versions. Altova StyleVision renders and displays advanced reports in Microsoft Word 2007+ (OOXML) and .rtf formats, among others. Altova DiffDog includes a special comparison feature for Microsoft Word 2003 and later documents.
To display Microsoft Word documents in either StyleVision or DiffDog, the version of Microsoft Word displayed on its Help screen must match the version of the installed Altova tool. In other words, if you're using a 32-bit of Microsoft Word, you must use a 32-bit version of StyleVision or DiffDog. If you're using a 64-bit version of Word, you must use a 64-bit Altova tool.
An ActiveX interface can integrate the user interface and functionality of an Altova application in your own application. If your application is a 32-bit application, you will need to install a 32-bit version of Altova software. For your 64-bit application, a 64-bit version of the Altova software is required.
COM interfaces automate the functionality of Altova applications through the API without user interface integration. By default, Windows will make a 32-bit COM visible to a 32-bit application and 64-bit COM to a 64 application. A mixed use is possible, but requires some additional work: if, for example, you have only installed a 64-bit version of Altova software and want to use it from your 32-bit application, you need to do the following:
connect to an application:
CComPtr < IUnknown > ipApplication;
HRESULT hRes;
DWORD dwClsContext = CLSCTX_ALL;
hRes = ::CoCreateInstance( m_clsidOfApplication, NULL, dwClsContext, IID_IUnknown,
(void **)&ipApplication.p );
if ( !SUCCEEDED( hRes ) )
{
#if defined( _WIN64 )
dwClsContext |= CLSCTX_ACTIVATE_32_BIT_SERVER,
#else // _WIN64
dwClsContext |= CLSCTX_ACTIVATE_64_BIT_SERVER,
#endif // _WIN64
hRes = ::CoCreateInstance( m_clsidOfApplication, NULL, dwClsContext, IID_IUnknown,
(void **)&ipApplication.p );
}
if ( SUCCEEDED( hRes ) )
{
// some code
...
}
open CLSID in correct view:
LONG OpenCLSID( LPCTSTR strCLSID, REGSAM samDesired, hObjCLSIDKey )
{
HKEY hCLSIDKey;
LONG rc = RegOpenKeyEx( HKEY_CLASSES_ROOT,_T("CLSID"), 0, samDesired, &hCLSIDKey );
if ( rc == ERROR_SUCCESS )
{
LONG lRet = RegOpenKeyEx( hCLSIDKey, strCLSID, 0, samDesired, &hObjCLSIDKey );
RegCloseKey(hCLSIDKey);
if ( lRet != ERROR_SUCCESS && samDesired == KEY_READ )
{
#if defined( _WIN64 )
samDesired |= KEY_WOW64_32KEY;
#else // _WIN64
samDesired |= KEY_WOW64_64KEY;
#endif // _WIN64
// try other view
rc = OpenCLSID( strCLSID, samDesired, hObjCLSIDKey );
}
}
return rc;
}
...
HKEY hObjCLSIDKey;
if ( OpenCLSID( < a class id > , KEY_READ, hObjCLSIDKey ) == ERROR_SUCCESS )
{
// one can now open subkeys using this key as parent
...
}
Please note that when calling each other, Altova applications will try to call a corresponding version, but if the corresponding version is not found, the opposite one will be called when available. This means, for example, if you have installed a 64-bit version of MapForce and a 32-bit version of XMLSpy, they will be able to call each other in order to edit an XML Schema referenced in a MapForce mapping in XMLSpy, or to execute a MapForce transformation from within an XMLSpy project.
“I have learned that there is no substitute for quality tools. And truly, your MissionKit suite is a quality tool, easily the single best resource for enterprise development that I have ever encountered, and in itself a prime example of how software should be written. My sincere compliments on an excellent product.”