程序中引用了几个控件,编译程序后只拿*.exe到客户那里运行肯定是不行的。问题就是这些控件是否需要注册。
方法1:拷贝*.dll,*.ocx到system32,然后regsvr32。
方法2:让*.dll,*.ocx和*.exe一个目录即可。
上面两种方法都可以使程序正常运行,我的问题是
1。你用哪种方法部署你的程序?
2。如果是第一种方法,获取不同系统system32并copy文件到system32文件夹的程序你是怎么写的?
3。第二种方法在注册表中没有信息,程序是怎么找到这个控件的?
4。你认为哪种方法比较好?--------------------------------
有识别不同系统system文件夹,并copy文件的程序请贴出来,谢谢。
方法1:拷贝*.dll,*.ocx到system32,然后regsvr32。
方法2:让*.dll,*.ocx和*.exe一个目录即可。
上面两种方法都可以使程序正常运行,我的问题是
1。你用哪种方法部署你的程序?
2。如果是第一种方法,获取不同系统system32并copy文件到system32文件夹的程序你是怎么写的?
3。第二种方法在注册表中没有信息,程序是怎么找到这个控件的?
4。你认为哪种方法比较好?--------------------------------
有识别不同系统system文件夹,并copy文件的程序请贴出来,谢谢。
Dim sSave As String, Ret As Long
sSave = Space(255)
Ret = GetSystemDirectory(sSave, 255)
sSave = Left$(sSave, Ret)
MsgBox "Windows System directory: " + sSave
End Sub
本示例使用 FileCopy 语句来复制文件。示例中假设 SRCFILE 为含有数据的文件。Dim SourceFile, DestinationFile
SourceFile = "SRCFILE" ' 指定源文件名。
DestinationFile = "DESTFILE" ' 指定目的文件名。
FileCopy SourceFile, DestinationFile ' 将源文件的内容复制到目的文件中。
//安装,而不是按你上面的2钟方法。
2。如果是第一种方法,获取不同系统system32并copy文件到system32文件夹的程序你是怎么写的?
//如果使用安装不存在这个问题,如果强行放到system32下很可能会与原系统文件冲突,用VB安装程序则会避免这个问题
3。第二种方法在注册表中没有信息,程序是怎么找到这个控件的?
4。你认为哪种方法比较好?
//3,4个问题我一起答你。如果你清楚一下vb程序的访问你就应该知道,程序首先需要ocx和dll时候会查找自己相同的根目录或者指定目录,当你regsvr32的时候,讲会给你的ocx指定好路径。
如果根目录下找不到所需要的ocx和dll的时候,程序才会从system32下去找
所有优先采用第2个方法。 其实你用打包工具打包安装就没这个烦恼了。
-------------------------
那就是不用安装了?
-------------------------
那就是不用安装了?
-------------------------
大部分控件都不必安装,程序会按以上路径找到后自动注册。