经过前面几章零碎的讲解,我们大致了解了用PB开发和发布.NET程序的环境配置情况,这一章我们再来总结一下。
经过前面几章零碎的讲解,我们大致了解了用PB开发和发布.NET程序的环境配置情况,这一章我们再来总结一下。
开发.NET程序时需要安装以下软件
- .NET Framework 2.0 或更新版本
- .NET Framework SDK
- IIS5以上并配置ASP.NET的版本
- AJAX extensions
- POWERBUILDER11.5以上版本
发布所有.NET 程序时所需要的
- 操作系统可以是Windows XP SP2以上, Windows 2003, Windows Vista, Windows 2008
- .NET Framework 2.0 或更新版本
- Visual C++ 的几个动态链接库文件msvcr71.dll 、 msvcp71.dll 和.NET Active Template Library (ATL:一套微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序) 库文件 atl71.dll (这3个dll都可以在sybase"shared"powerbuilder目录下找到)
- 如果希望PB开发的.NET assemblies被其他程序共享使用的话,需要安装到global assembly cache (GAC) 中(GAC的解释详见下文)
- PB的动态链接库(详见下文)
在发布NET Web Forms 和 Web Service 的服务器上还必须
- 安装IIS 5, IIS 6, 或 IIS 7
- 为IIS配置ASP.NET
- 安装AJAX extensions (仅针对Web Forms)
PB动态链接库发布说明
发布PB动态链接库最简单的办法就是使用使用PB自带的PowerBuilder Runtime Packager工具,这个工具会将需要的文件生成一个MSI安装包方便你在其他电脑上进行安装。值得注意的是客户端、服务端以及开发时所使用的DLL版本必须保持一致,以免发生不必要的错误。
如果你需要手工或使用其他工具安装的话,请参考下面的列表,其中以Sybase.PowerBuilder 开头的文件表示它是一个强名称的.NET assemblies所以能被安装到GAC中。
PowerBuilder runtime files for .NET targets
文件名 | 针对对象 |
pbshr115.dll, Sybase.PowerBuilder.ADO.dll, Sybase.PowerBuilder.Common.dll, Sybase.PowerBuilder.Core.dll, Sybase.PowerBuilder.Interop.dll, Sybase.PowerBuilder.Web.dll, Sybase.PowerBuilder.Win.dll | 所有程序必需 |
pbrth115.dll | 使用.NET Web Forms 和 ADO.NET |
pbdwm115.dll, Sybase.PowerBuilder.Datawindow.Web.dll, Sybase.PowerBuilder.DataWindow.Win.dll, Sybase.PowerBuilder.Datawindow.Interop.dll | DataWindows 和 DataStores |
pbdpl115.dll | Data pipelines (仅针对Windows Forms) |
Sybase.PowerBuilder.EditMask.Win.dll, Sybase.PowerBuilder.EditMask.Interop.dll | Edit masks |
Sybase.PowerBuilder.Graph.Web.dll, Sybase.PowerBuilder.Graph.Win.dll, Sybase.PowerBuilder.Graph.Core.dll, Sybase.PowerBuilder.Graph.Interop.dll | Graphs |
pbrtc115.dll, Sybase.PowerBuilder.RTC.Win.dll, Sybase.PowerBuilder.RTC.Interop.dll, tp13.dll, tp13_bmp.flt, tp13_css.dll, tp13_doc.dll, tp13_gif.flt, tp13_htm.dll, tp13_ic.dll, tp13_ic.ini, tp13_jpg.flt, tp13_obj.dll, tp13_pdf.dll, tp13_png.flt, tp13_rtf.dll, tp13_tif.flt, tp13_tls.dll, tp13_wmf.flt, tp13_wnd.dll, tp4ole13.ocx | Rich text |
PBXerces115.dll, xerces-c_2_6.dll, xerces-depdom_2_6.dll | XML export 和 import |
Sybase.PowerBuilder.WebService.Runtime.dll, Sybase.PowerBuilder.WebService.RuntimeRemoteLoader.dll | Web service DataWindows |
ExPat115.dll, libeay32.dll, ssleay32.dll, xerces-c_2_6.dll, xerces-depdom_2_6.dll, EasySoap115.dll, pbnetwsruntime115.dll, pbsoapclient115.pbx, pbwsclient115.pbx, Sybase.PowerBuilder.WebService.Runtime.dll, Sybase.PowerBuilder.WebService.RuntimeRemoteLoader.dll | Web service 客户端 |
pblab115.ini | Label DataWindow presentation-style predefined formats |
pbtra115.dll, pbtrs115.dll | Database connection tracing |
Table 1-4 lists the files you need to deploy if your application uses a PowerBuilder database interface.
数据库连接所需要的动态链接库
文件名 | 针对对象 |
pbin9115.dll | Informix I-Net 9 native interface |
pbo84115.dll | Oracle8i native interface |
pbo90115.dll | Oracle9i native interface |
pbo10115.dll | Oracle 10g native interface |
pbsnc115.dll | SQL Native Client for Microsoft SQL Server native interface |
pbdir115.dll | Sybase DirectConnect™ native interface |
pbase115.dll | Sybase Adaptive Server® |
pbsyc115.dll | Sybase Adaptive Server Enterprise native interface |
pbado115.dll, pbrth115.dll, Sybase.PowerBuilder.Db.dll, Sybase.PowerBuilder.DbExt.dll | ADO.NET standard interface |
pbjvm115.dll, pbjdb115.dll, pbjdbc12115.jar | JDBC standard interface |
pbodb115.dll, pbodb115.ini | ODBC standard interface |
pbole115.dll, pbodb115.ini | OLE DB standard interface |
关于程序集缓存global assembly cache(GAC)
程序集缓存GAC是.NET的又一个特有功能,每一个CLR(Common Language Runtime)所在的计算机都有一个全局程序集缓存(Global Assembly Cache,GAC)。部署在GAC上的程序集必须有一个强名称。一种由.net framework sdk提供的名叫 "Global Assembly Cache tool" (Gacutil.exe)的开发工具,可以把程序集部署到GAC上。GAC存储专门指定的程序集以供计算机上多个应用程序共享。它也为我们提供了克服"DLL地狱"的问题。
有了GAC我们不再需要再把所有要用到的Assembly都拷贝到应用程序的执行目录下面。举例而言,如果没有GAC,那么势必每个WinForm程序的目录下就都要从 C:"WINDOWS"Microsoft.NET"Framework"v1.0.3705下面拷贝一份 System.Windows.Forms.dll,这样显然不如都从GAC里面取用方便,也有利于Assembly的升级和版本控制。
.NET Framework中附带了一些和GAC有关的工具,其中包括:
1)Gacutil.exe,一个命令行的工具,用于在GAC中浏览、添加、删除Assembly
2)Ngen.exe,也是一个命令行的工具,用于在GAC中创建Native Image
3)mscorcfg.msc,一个MMC终端,可以图形化完成Gacutil.exe的主要功能,可以在控制面板>管理工具>Microsoft .NET Framework 2.0 配置中打开这个图形管理器来管理程序集缓存。