天天看点

为什么程序要打包

        以我目前的理解,打包,是将你用VB程序写的软件包装成一个在别的机子上直接安装运行的应用软件。

     打包是打包的环境。为了在没装VB的机子上运行,因为vb程序运行是需要vb运行持的,如果那台机子上没装VB而你的vb程序又没有打包这个运行库的话。你写的vb程序在那台机子上是运行不了的。

     如果你得机子上运用了第三方控件该怎么办??

 也就是在你没有考虑这个问题的情况下,程序异地发布后出现了这个错误该如何解决??如:机房收费系统的报表不可以使用的问题。

这里有两种解决方法,在解决之前先简绍一个概念。

        DLL是Dynamic LinkLibrary的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下,或在你的软件安装程序目录下。 

源文档 <http://jingyan.baidu.com/article/ca00d56c82ddcee99eebcfd1.html>

为什么程序要打包

         Grid++Report 5.0的最终发布文件只有两个DLL:gregn50.dll 与 grdes50.dll。gregn50.dll是报表引擎模块,grdes50.dll 是报表设计器模块。这两个文件可以在 Grid++Report的安装目录下找到,默认安装在 C:\Grid++Report 5.0目录中。如果在程序中没有嵌入报表设计器控件,只要发布 gregn50.dll这一个文件就可以了。

解决方法:

1、手工注册发布文件

regsvr32.exe程序是 Windows 自带的注册进程内 COM 对象的工具,在每种 Windows 版本中都带有此应用程序。如果将用 Grid++Report 开发的应用程序分发到目标计算机时,在安装过程中没有对 Grid++Report 的两个发布 DLL 进行自注册,则必须用 regsvr32.exe 程序进行注册操作,在命令行窗口中,执行 regsvr32 命令。语法如下:

regsvr32"%FilePath%\gregn50.dll"

regsvr32"%FilePath%\grdes50.dll"

其中%FilePath% 代表这两个 DLL 文件的目录,在实际中应用目录进行替换

为什么程序要打包

2、用安装程序制作工具发布文件并注册

可以将相应的第三方控件的DLL文件打包到你的程序中去,就可解决。

如以上问题只需要将 gregn50.dll打包进去,那么报表就可以用了。

继续阅读