Windows 7上的PowerBuilder兼容性

时间:2012-11-21 15:50:49

标签: migration powerbuilder powerbuilder-build-deploy

我在将PowerBuilder应用程序从XP迁移到Windows 7时遇到了问题。

我们在Windows XP上的PowerBuilder中构建了应用程序,当我们尝试在Windows 7计算机上的组件服务中安装组件时,会出现兼容性错误。一切都在Windows XP上运行良好。但我认为因为7上的DLL是如此不同,它有问题。

如果程序是在Windows 7环境中使用PowerBuilder IDE构建的,那可能会解决问题吗?

申请分为
- 在Server 2003上运行的服务器组件 - 在Win7上成功安装的客户端组件 - 安装服务器组件时生成到MSI中的代理组件。

问题只是代理。 MSI不想在Windows 7上运行。 如果客户端桌面上未安装代理,则客户端无法与服务器通信。

当我在Windows 7上以兼容模式运行MSI时,我会得到错误的一些细节。他们在这里

  

程序兼容性问题发现不兼容的应用程序修复程序   应用程序CCS_Proxy_XP_Exports

     

发现的问题不兼容的应用程序CCS_Proxy_XP_Exports是   不兼容。

     

修复应用程序CCS_Proxy_XP_Exports提供修复的步骤   不兼容的应用程序。 CompatMode CompatMode UserVerifySolution   用户验证解决方案Verify_NO

     

检测详情收集信息计算机名称:##########   Windows版本:6.1架构:amd64时间:11月3日星期三   14,2012 11:56:36 AM

     

发布商详情程序兼容性让旧程序运行   这个版本的Windows。软件包版本:1.5发布者:Microsoft   视窗

     

程序兼容性使旧版程序在此版本中运行   视窗。软件包版本:1.0发布者:Microsoft Corporation

如果我查看有关事件日志的更多详细信息,我会收到以下内容

  

“产品:客户端通信(应用程序代理) - 错误1928。   注册COM +应用程序时出错。联系您的支持人员   了解更多信息。“

2 个答案:

答案 0 :(得分:0)

一般想法

实际上,win7平台上的dll与之前的版本并没有什么不同。可能存在与现在存在于WinSxS dll-hell目录中的多个和不同C运行时相关的差异,但这不应该影响powerbuilder(正如我从11.5经典版本体验中所说)。

我怀疑您可能遇到与UAC和/或ACL管理相关的一些问题。我最近通过增加Vista / Win7规范的兼容性来升级一些传统的PB应用程序。

简而言之:应用程序必须在不需要管理权限的情况下运行,并且不得尝试修改c:\c:\windows等特权位置的数据。

因此,不能再在program files目录中安装所有内容。应用程序二进制文件可以部署在program files中,但如果应用程序需要创建/修改某些文件,则必须将它们部署在用户共享数据的ProgramData子目录中和/或本地用户数据文件中。私人数据。必须修改应用程序才能在正确的目录中创建或查找文件。如果您不遵守该标准,则文件虚拟化机制可以隐藏权限不足,并且可以模拟用户本地数据中VirtualStore目录中的文件,但这只是一种解决方法,它还提供了一些其他问题。 / p>

Com +错误

鉴于您的错误消息,如果代理也是PB应用程序,假设PB只生成32位二进制文​​件并且您的系统是64位,那么register a 32b COM+ onto a Win2008的提示可能对您有帮助吗? / p>

答案 1 :(得分:0)

以为,您的代理exe / dll文件没有清单或清单不包含兼容性部分。尝试将compatibility info添加到清单。