COM部署VISTA

什么是COM接口,需要实施以在Vista / win7机器部署COM DLL。 我听说用COM来处理UAC帐号是有的,但是我找不到这个MSDN页面,请大家帮忙。

谢谢

您只需要注册一个COM对象就可以将相应的键写入注册表中。 在Vista上没有特殊的界面来实现; 但是,您需要确保您的安装程序具有管理权限,以便它实际上可以写入注册表。 默认情况下,程序将作为中等完整性级别的应用程序运行,不能写入HKLM和HKCR(一般情况下)。 如果您使用MSI进行安装(查看WiX工具包 ,它使注册COM对象变得容易),那么操作系统将在安装时自动提示用户提升。

如果您正在部署COM控件,则可能是作为应用程序安装的一部分。

在这种情况下,可以使用应用程序清单来实现免注册的COM 。 (链接的文章是在.NET部分而不是MSDN的Windows部分,但适用于Win32的开发和部署)。

没有特殊的COM接口,但是您必须提升权限才能运行regsvr32.exe来注册您的COM DLL。 如果您使用MSI进行安装,则当安装程序尝试注册COM DLL时,Vista会自动提示UAC提升。

这里有更多关于Vista上UAC问题的信息http://blogs.msdn.com/vcblog/archive/2006/09/06/742187.aspx