我已经从回收的硬盘复制(未安装)使用 Powerbuilder 开发的系统。我想运行该应用程序,但当然,它需要几个 DLL 和类似的东西,它们没有在我当前的系统中注册。
我的问题:是否有安装“powerbuilder 运行时”的程序,也就是说,为了运行应用程序?
我已经从回收的硬盘复制(未安装)使用 Powerbuilder 开发的系统。我想运行该应用程序,但当然,它需要几个 DLL 和类似的东西,它们没有在我当前的系统中注册。
我的问题:是否有安装“powerbuilder 运行时”的程序,也就是说,为了运行应用程序?
所以,你的问题有几个部分。第一个是定义所需的 DLL 列表。“应用程序技术”手册将引导您了解应用程序的要求(例如,您是否使用富文本控件?)并让您构建所需 DLL 的列表。如果您的硬盘驱动器或 CD 上没有该手册,您可以从Sybase 手册站点获取它,查看 PB8 的存档产品。
接下来,您询问是否必须做任何特别的事情来“注册”DLL。答案是,从技术上讲,不。关键是当应用程序“询问”DLL 时,Windows 必须能够“找到”它们。开发人员经常会将 DLL 与应用程序放在同一目录中,并希望之后一切顺利。微软倡导者在注册表中使用 App Paths。只需打开 RegEdit 并在“应用程序路径”上查找示例。这很简单,只是一个以分号分隔的目录列表。Windows 会先搜索此列表,然后再将其移至其他任何位置。创建此条目并将您的 DLL 放在这些目录之一将确保 Windows 可以找到您的 DLL。(您可以从仅 Microsoft 的参考资料中看出,这是通用的 Windows,而不是特定于 PB 的。对于一般 Windows 故障排除来说,这是一个很好的知识。)
祝你好运,
特里。
诚然,我对 PowerBuilder 一无所知,但我会尝试Dependency Walker来查看程序需要哪些 dll。
两个问题。
该应用程序是用哪个版本的 Powerbuilder 编写的?
根据错误消息,给我们一个缺少的 DLL 列表。
在大多数情况下,DLL 存在于应用程序目录中,但它们也可能存在于 Windows\System32 目录中。
列出丢失的 DLL 并搜索旧硬盘以查看是否可以找到它们。如果是这样,请将它们复制到新的应用程序目录并再次尝试该应用程序。
我有 PB 12.0,我试图让运行时打包程序工作(您需要为此安装 Powerbuilder)。我尝试了一切(除了明显有效的方法)。
Sybase 想要一个技术支持许可证,这又是 PB 的价格,所以我想通了。
/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** * \
我必须安装 PB Eval 版本才能使应用程序正常工作。我不需要许可证,它可能会过期并仍然运行。
** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** /
这特别有用,因为我是一家拥有 30 个使用我的程序的工作站的公司的开发人员。我只需要安装并忘记一个已失效的 PB(当然是相同的 12.0 版本)。这是我让它工作的唯一方法。
我很久没有做过 PB(PB 6.5/7/8 天),但当时的运行时间非常简单。您有一些 Win32/PE Dll(没有 COM),您可以使用您的应用程序私下部署它们。几个总是需要的,几个取决于您创建的对象(ODCB 与 PB 原生数据库驱动程序、RichText 控件等)。分析应用程序并查看它正在寻找的 DLL 总是很容易的。
现代版本的 PB 似乎正在跨入 .NET 世界,因此您可能必须安装 .NET 框架。如果是这样,3.5SP1 可能是一个安全的赌注。
这是我可以给出的最佳答案,而无需实际拥有您的应用程序副本和 PB 副本。
安装 Powerbuilder 将添加丢失的 dll,这就是您的问题似乎已解决的原因。如上所述,每个 PB 安装都可能需要许可。一个选项可以是让每个工作站直接从服务器位置运行应用程序。为此,我建议在工作站桌面上设置一个图标。请注意,以这种方式运行应用程序可能会导致速度问题。PB 应用程序在应用程序文件夹中查找 dll。发现任何缺失时会显示错误消息。为丢失的 dll 运行 Google 搜索。通常,您会在网上找到一份副本。