将VB6相关文件放在app目录中是否有任何缺点?

时间:2008-11-07 03:29:41

标签: vb6

假设Application目录是可写的并且HD空间不是问题,那么将VB6依赖文件(msvbvm60.dll等)放在.EXE的目录中是否有任何缺点?

我有最新的依赖文件,我猜测MS没有推出任何新版本的那些,所以我觉得最安全(就DLL地狱等而言)只保留那些我的app目录中不会修改它们的文件和(IFAIK)它们将是应用程序使用的第一个文件(在使用System32目录中的文件之前等等。

4 个答案:

答案 0 :(得分:2)

根据我的经验,像msvbvm60.dll这样的文件,各种OCX,都有微妙的依赖关系,当你尝试在自己的应用程序目录中安装时,这些依赖关系会造成严重破坏。我们的解决方案是跟踪所有依赖项,并确保它们是安装的一部分,并根据Microsoft的规则正确处理。

自从MS停止开发VB6以来的8年里,我们在DLL Hell的方式上几乎没有经历过。 (超过500多个安装中的大约六个事件)这些都是客户在我们到达之前使用Windows XP的原因。

简而言之,任何自定义或第三方内容都会放入您的应用程序目录中。其余部分确保包含所有内容,然后根据MS的建议将其安装到系统文件夹中。

答案 1 :(得分:2)

更深入的讨论in this question:讨论了强制VB6从其他位置加载相关文件的各种方法,如.local文件,免注册COM和DirectCOM。

答案 2 :(得分:1)

这应该没关系,我过去不得不为多年前在VB6项目中使用的第三方DLL执行此操作(我们依靠一个奇怪的组件实现来执行某些操作,后来又“修复了” “版本安装了一个流行的软件套件。虽然如果其COM的regsvr32安装库可能会破坏你的计划以避免DLL地狱。

答案 3 :(得分:0)

没有任何意义。只需使用基于MSI的高质量安装程序即可自我修复。这样,每次你的应用程序运行它将检查并在必要时安装和注册任何所需的DLL或其他组件。然后,您可以防止任何人抄袭文件。