0

首先,我关于 Windows 7 64 位上的 PB 10.5 的原始问题链接在以下链接中得到了大部分解答 - PowerBuilder 10.5 Application on Windows XP 32-bit to Windows 7 64-bit

有没有人在 64 位机器上使用过 PB 10.5 运行时文件?

目前在 Windows XP 上有一个 32 位应用程序。客户希望它在 Windows 7 64 位中运行。我知道这是一个很大的飞跃,而且 PB 10.5 长期以来一直不受支持。

有没有人成功地使用 The Runtime Packager PowerBuilder 运行时 DLL 并在 Windows 7 64 位系统中获得以下任何 DLL 的工作?libjcc.dll libjutils.dll pbacc105.dll pbdwe105.dll pbdwr105.dll pbdwr105.pbd pbjag105.dll pbjvm105.dll pbshr105.dll pbtra105.dll pbvm105.dll

我意识到这些是 32 位 DLL,但我需要从某个地方开始,不知道如何解决这个问题。希望得到任何人的帮助或建议。

4

4 回答 4

3

我怀疑对您最有用的答案是一个完全无用的答案。

第一点是 PB 10.5 早于 Windows 7。很明显,10.5 在 Windows 7 上的任何成功都将依赖于微软提供应用程序向前兼容性的能力。(与我使用的其他平台相比,MS 在提供前向兼容性方面的成功非常出色,但从来都不是完美的。)

Windows 7 在 PB 11.0 时间框架 IIRC 左右发布。Sybase 在 12.0 周期的某个地方宣布他们将支持 Windows 7。对新平台的支持对您的营销上限来说是一件好事,因此对这种延迟的合理解释是他们发现了一些问题并不得不解决这些问题出去。(据我所知,Sybase 从未在一个地方列出这些问题,尽管有些问题可能出现在每个补丁发布的错误列表中。)

我敢打赌,如果您创建了一个 10.5 应用程序,并且在应用程序打开事件中有一行:

MessageBox ("Hello World!", "It's me!")

并将其部署到 Windows 7,它会工作。相反,根据我们从 Sybase 的行为推断,存在一些功能组合和排列在部署到 Windows 7 时将失败。您的应用程序位于此 n 维功能和复杂性范围内的位置很难判断。

因此,我怀疑您对问题最有用的回答是,是否在 Windows 7 上成功使用 10.5 应用程序并不重要;我的经验可能不会影响您的应用程序在 Windows 7 上的成功。存在已知的风险,即使我们不确切知道这些风险是什么。

于 2013-04-05T14:58:24.437 回答
0

我确实在 Win7/64(也就是 32b)上使用 PB11.5 IDE 没有问题。

关于运行时打包器,我不再使用它,因为我开发和维护了几个异步发布的产品,并且可能需要不同的运行时,有时来自不同的主要 PB 版本(10.5 / 11.5),有时来自不同的版本(EBF)同一个专业。

由于 PB 似乎对运行时的版本非常挑剔(从某种意义上说,您最好为运行时分发与构建应用程序的版本完全相同的构建),我将运行时 dll 放在与应用程序相同的目录中文件。PB 10.5 / 11.5 PB 应用程序使用同一目录中的运行时文件没有问题。

于 2013-04-03T14:22:08.997 回答
0

从工作的 xp 32 位系统中导出这些 dll 的注册表信息。如果 dll 不在 powerbuilder 的可执行路径中,而是位于 C:\windows\system32 或 system32 的子目录之一中,则将 dll 复制到 windows 7 64 位系统的相关 c:\windows\syswow64 文件夹区域。如果有必要将它们放置在新位置,则修改注册表导出以指向新位置。如果您来自 powerbuilder 的可执行路径,则无需修改注册表导出。将它们合并到注册表中。可能需要重新启动。当旧的 dll 和 ocx 文件证明对于在升级 Office 版本后保持 Office 数据库应用程序之类的东西正常工作时,我已经取得了成功。你' 我希望在离线存储中保留 dll 和注册表合并文件的副本,以防您在将来的某个日期必须从头开始重建系统。祝你好运。

于 2014-10-02T12:56:50.007 回答
0

根据我的所有经验,PB 10.5 在 Windows 7(32 或 64 位)上运行良好。PB 10.5与 11.5、12.5 和 PB 2017(及更高版本)在大型企业 IT 商店中仍然相对常见。

PowerBuilder 包含的包管理器将收集所有需要的运行时库。Windows 7 64 位可以通过 SYSWoW64 运行 32 位或 64 位,'WoW64' 代表 Windows 64 位上的 Windows 32 位。在您的 Windows 中运行的SysWoW64进程是您的 Windows 操作系统的一部分。

于 2019-09-03T16:32:35.290 回答