3

我有一个 .NET 程序集并使用 regasm.exe 注册 COM。用户使用 tlb 在 Excel 中用 VBA 编写代码。

我做了一个 regasm /regfile,我看到所有的注册表项都属于“HKEY_CLASSES_ROOT\”。我有一个管理员约束(遗憾的是)在所有用户的机器上运行 regasm,因为它需要管理员访问权限才能将注册表项写入 *HKEY_CLASSES_ROOT*。

我的问题是,如果我将其更改为写入“HKEY_LOCAL_MACHINE”或“HKEY_CURRENT_USER”,COM 互操作是否仍然有效并且 Excel 是否能够找到我的类型?

这样,我想我可以为我的用户争取更少的特权,这样他们就可以运行这个新的 reg 文件而不是运行 regasm。

谢谢玛尼

4

1 回答 1

1

可悲的是,这并不容易,因为它取决于用户设置,请在以下位置进行战利品:http: //blogs.msdn.com/b/cjacks/archive/2008/06/06/per-user-com-registrations-and- windows-vista-sp1.aspx 上的 uac 提升进程

于 2012-03-06T12:52:55.123 回答