PowerBuilder在Windows 7上的兼容性



将PowerBuilder应用程序从XP迁移到Windows7时遇到问题。

我们在Windows XP上的PowerBuilder中构建了该应用程序,当我们试图将组件安装到Windows 7计算机上的组件服务中时,会出现兼容性错误。在Windows XP上一切都很好。但我认为因为7上的DLL太不一样了,它出现了问题。

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

该应用程序分为
-一个运行在server 2003上的服务器组件
-一个在Win7
上成功安装的客户端组件-在安装服务器组件时生成MSI的代理组件。

问题只是代理。MSI不想在Windows7上工作。如果客户端桌面上没有安装代理,客户端就无法与服务器通信。

当我在Windows7上以兼容模式运行MSI时,我会得到一些错误的详细信息。这是

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

发现问题不兼容的应用程序CCS_Proxy_XP_Exports为不相容的

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

检测详细信息收集信息计算机名称:##########Windows版本:6.1体系结构:amd64时间:11月3日2012年11月14日上午11:56:36

Publisher详细信息程序兼容性使旧程序在中运行此版本的Windows。软件包版本:1.5发布者:MicrosoftWindows

程序兼容性使旧程序在此版本中运行Windows。软件包版本:1.0发行商:Microsoft Corporation

如果我在事件日志上查看更多详细信息,我会得到以下

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

总体思路

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

我怀疑您可能有一些与UAC和/或ACL管理有关的问题。我最近升级了一些传统的PB应用程序,为Vista/Win7规范添加了兼容性。

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

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

Com+错误

考虑到您的错误消息,如果代理也是PB应用程序,考虑到PB只生成32位二进制文件,而您的系统是64位二进制文件的事实,那么在Win2008上注册32b COM+的技巧可能会对您有所帮助?

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

相关内容

  • 没有找到相关文章

最新更新