从2010年版本第二版开始,Altova为Altova MissionKit的企业版和专业版以及Altova Authentic的企业版,提供所有应用程序的32位和64位版本。本页面提供了关于64位软件的优势、差异和依赖关系的重要信息,供您在选择最适合您需求的32位或64位版本时参考。
许多现代软件开发和数据处理环境正面临着内置的内存限制。当前的以及之前的32位版本的Microsoft Windows操作系统,无论特定机器上有多少实际或虚拟内存可用,每个运行的进程最多只能分配2GB的内存。 换句话说,在XML开发领域,这意味着如果XML文件的大小超过100到200MB(具体取决于复杂程度),就无法打开。
64位系统不受相同的内存限制。64位处理器理论上可以寻址的内存大小非常大,以“拍字节”(petabyte)为单位衡量(1拍字节 = 100万吉字节)。目前,Microsoft Windows 7的64位版本支持高达192GB的已安装内存。实际上,对于64位应用程序的单个用户来说,能够处理的最大XML文件大小仅受已安装物理内存量的限制。
以下截图显示,在 XMLSpy 的 64 位版本中,正在打开一个 2.7GB 的文件。该 XML 文件包含维基百科的摘要 XML 数据流,其长度超过 3500 万行。
即使物理内存不足,64位系统仍然可以使用虚拟内存来处理非常大的文件,但处理速度会明显变慢。
此外,对于小于100MB的文件,配备大量物理内存的64位系统可以更高效地进行处理,因为该系统可以在内存中维护一个更大的硬盘数据缓存。
以下是关于32位软件与64位软件之间最常被问到的问题(常见问题解答)。
是的。但请注意,Altova 2010版本是与Windows 7兼容的早期版本。
不。
打开Windows控制面板,选择“经典视图”(适用于Vista系统)或“图标”(适用于Windows 7系统),然后打开“系统”图标。在“系统类型”这一行中,会显示“32位操作系统”或“64位操作系统”。
这取决于具体情况。您需要仔细考虑以下详细说明中的额外信息。
从2010年第二版开始,Altova应用程序的企业版和专业版都支持有效的授权码。 两者。 32位。 和。 64位版本。此功能在以下几个重要方面提供了灵活性:
一个64位应用程序在打开任何特定文件时,所需的内存量会比32位应用程序更多,因为内存指针和其他结构的地址大小会自动增大。对于XML文件,一个经验法则是,内存占用会增加大约50%到60%。这意味着,用户至少需要安装4GB的内存,才能充分利用64位应用程序的优势。
一般来说,一个64位应用程序需要一个64位的驱动程序才能连接到数据库。以下是一些更具体的问题:
Microsoft Jet 数据库引擎的历史可以追溯到 Windows 95 甚至更早,它是 Microsoft Access 中用于创建 *.mdb 文件的最初底层数据库引擎。 Jet 引擎的各个版本都包含在 Microsoft Windows 的所有版本中,直到 Windows 7,并且被 32 位应用程序用于连接存储在 *.mdb 文件中的 Access 数据库。
从Office 2007开始,Microsoft Access 引入了新的文件格式,文件扩展名为*.accdb,并增加了更多功能。Access 2007(以及后续版本)的数据库文件由新的Microsoft ACE(Access数据库引擎)驱动程序支持。
Microsoft Jet 数据库引擎已被视为一种已过时的产品。虽然它仍然包含在 Windows 7 中,但尚未公布将其移植到 64 位版本的计划。Microsoft ACE 数据库引擎提供了一个适用于 64 位系统的版本,您可以直接下载(仅限驱动程序):
Microsoft ACE 数据库引擎也可以作为 Microsoft Office 2010 的 x64 版本的一部分进行下载,具体下载地址为:
目前,64位ACE驱动存在一个令人遗憾的限制:它无法与32位版本的Microsoft Office同时运行。
目前,Altova MissionKit 应用程序的 64 位版本在打开 Access 数据库时,无论文件扩展名是 *.mdb 还是 *.accdb,都需要 x64 版本的 Microsoft ACE 驱动程序。
使用 32 位版本的 Altova 应用程序创建的现有文件,例如 MapForce 映射或 StyleVision 样式表,可能包含连接信息,这些信息指定了 32 位版本的 Jet OLEDB 驱动程序 (Microsoft.Jet.OLEDB.4.0)。 Altova 的 64 位应用程序将自动将这些旧文件转换为使用 ACE 驱动程序的连接 (Microsoft.ACE.OLEDB.12.0)。 用户只需要按照上述说明安装 64 位的 ACE 驱动程序即可。
Altova公司已在XMLSpy和UModel中实现了Microsoft源代码控制接口(MSSCCI)版本1.1至1.3,并已测试了其与众多流行的版本控制系统的兼容性。此外,DiffDog可以轻松配置为默认的差异/合并工具,尤其是在使用独立的版本控制系统时。
由于大多数 SCC 客户使用的都是 32 位版本,Altova 提供了一种特殊的 SCC 桥接软件,它允许 Altova 应用程序的 64 位版本使用 SCC 的 32 位客户端。这种桥接软件与系统紧密集成,并且从用户的角度来看,它能够无缝工作,尤其是在没有 64 位 SCC 客户端可用时。
32位浏览器需要32位的插件,而64位浏览器需要64位的插件。目前,只有Internet Explorer提供32位和64位两种版本,因此,Altova Authentic Browser插件的Internet Explorer版本也同时提供32位和64位两种。Firefox目前仅提供32位版本。在Authentic Browser插件的文档中,发布了示例HTML代码,展示了如何在HTML页面中嵌入指令,以便下载和安装正确的Authentic Browser插件版本。
Visual Studio 仅提供 32 位版本的应用程序。因此,适用于 Visual Studio 的 Altova 集成工具包也仅提供 32 位版本。
由于Visual Studio目前只提供32位版本,您.. 必须。 为了将 XMLSpy、MapForce、StyleVision、UModel 或 Authentic 软件无缝集成到 Visual Studio 的工作流程中,您需要安装这些软件的 32 位版本。 此外,无论您使用的是 32 位还是 64 位的 Windows 系统,您也必须安装相应的集成包的 32 位版本。
Eclipse 软件提供 32 位和 64 位两种版本,并且需要相应的插件。自 2007 版本发布以来,Altova 一直为 Eclipse 提供 32 位的集成包,目前还提供适用于 32 位和 64 位版本的集成组件。
Microsoft Word 软件提供 32 位和 64 位两种版本。Altova StyleVision 能够生成和显示高级报表,支持 Microsoft Word 2007 及更高版本(OOXML 格式)以及 .rtf 格式等多种格式。Altova DiffDog 包含一项特殊的功能,用于比较 Microsoft Word 2003 及更高版本的文档。
为了在 StyleVision 或 DiffDog 中正确显示 Microsoft Word 文档,其帮助界面上显示的 Microsoft Word 版本必须与已安装的 Altova 工具的版本相匹配。 换句话说,如果您使用的是 32 位的 Microsoft Word,则 必须 使用 32 位的 StyleVision 或 DiffDog。 如果您使用的是 64 位的 Word,则 必须 使用 64 位的 Altova 工具。
ActiveX 接口可以将 Altova 应用程序的用户界面和功能集成到您的应用程序中。如果您的应用程序是 32 位应用程序,则需要安装 Altova 软件的 32 位版本。对于您的 64 位应用程序,则需要安装 Altova 软件的 64 位版本。
COM 接口通过 API 自动化 Altova 应用程序的功能,无需集成用户界面。 默认情况下,Windows 会将 32 位 COM 接口暴露给 32 位应用程序,并将 64 位 COM 接口暴露给 64 位应用程序。 混合使用是可能的,但需要进行一些额外的操作:例如,如果您只安装了 Altova 软件的 64 位版本,但希望从您的 32 位应用程序中使用它,则需要执行以下操作:
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
...
}
请注意,当 Altova 应用程序互相调用时,它们会尝试调用相应的版本。但如果找不到相应的版本,则会在可用情况下调用相反的版本。这意味着,例如,如果您安装了 MapForce 的 64 位版本和 XMLSpy 的 32 位版本,它们可以互相调用,以便在 XMLSpy 中编辑 MapForce 映射中引用的 XML 模式,或者在 XMLSpy 项目中执行 MapForce 转换。
“我了解到,没有什么是能替代高质量的工具。 事实上,您的MissionKit套件是一款高质量的工具,它是我所接触过的企业开发领域中最好的资源,并且本身就是一个优秀软件编写的典范。 我对这款出色的产品表示由衷的赞赏。”

