作为标准用户在 Windows Vista 上安装 VB6

标签 vb6 windows-vista

我有一个需要作为标准用户安装在 Windows Vista 上的 VB6 应用程序。我使用 Visual Studio 2005 创建了一个安装项目,该项目会将应用程序放置在标准的用户安全位置或文件夹中。我还有一个 dll,我想安装并注册到用户应用程序数据文件夹。在 VS'05 中创建 Windows 安装程序后,我使用 msiinfo.exe 翻转字数属性的第 3 位,以便 Vista 在运行 msi 时不会提示管理员凭据。应用程序安装没有任何问题,直到它尝试将 dll 注册到用户应用程序数据文件夹。当它到达那个点时,它会抛出一个错误,指出它无法为 dll 注册类型库。安装程序似乎无权将 dll 注册到用户文件夹。这样对吗?我的理解是,Vista 只提示标准用户更新或更改影响机器所有用户的项目。有任何想法吗?想法?建议?

最佳答案

您可以使用 RegFree COM,而不是直接注册您的 DLL 文件。

这涉及为您的应用程序创建一个 XML list 文件,因此 Windows 将在应用程序文件夹中查找您的 DLL 文件,而不是使用系统注册表来查找它们。

这意味着您的应用程序将正常运行,而您的安装程序无需注册 DLL。

这些链接有更多信息:

http://msdn.microsoft.com/en-us/magazine/cc188708.aspx

http://www.devx.com/vb/Article/32888/1954

您可以使用免费的 Make My Manifest 软件来创建您需要的 list 文件:

http://mmm4vb6.atom5.com/

关于作为标准用户在 Windows Vista 上安装 VB6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/654911/

相关文章:

c# - 将对象列表从 VB6 编码到 C#

vb6:中断无限的msgbox循环

windows-7 - 如何找到我的机器上已安装的 cygwin 版本

c# - 在 Vista 中获取可移植设备的路径

windows-7 - 让 VB6 ADO 应用程序在 Windows 7 中运行

multithreading - 在多线程Windows http服务器中运行非线程安全的dll

.net - ASP.NET MVC 性能突然变得很慢

java - 无法在 Vista 上从 HKEY_LOCAL_MACHINE 读取配置数据

用于 Vista UAC(用户访问控制)的 python IPC(进程间通信)

compiler-errors - VB6-找不到方法或数据成员