在win7下开发activex控件的时候,首先将“为COM互操作注册”打上勾,之后如果在AssemblyInfo.cs里设置
[assembly: ComVisible(true)]
则提示如下的错误信息
错误 2 Cannot register assembly "e:\netproject\activex\RftPwdActivex\RftPwdActivex\bin\Debug\RftPwdActivex.dll" - access denied. Please make sure you're running the application as administrator. 对注册表项“HKEY_CLASSES_ROOT\RftPwdActivex.RftPwdTextbox”的访问被拒绝。 RftPwdActivex
如果设置为[assembly: ComVisible(false)],则提示如下信息警告 1 "e:\netproject\activex\RftPwdActivex\RftPwdActivex\bin\Debug\RftPwdActivex.dll" does not contain any types that can be registered for COM Interop. RftPwdActivex
请问是怎么回事?有人做过类似的开发吗?急求解决,非常感谢啊!
备注:win7的UAC已经降低到最低值

解决方案 »

  1.   

    项目-Properties-Compile-Register for COM interop 去掉勾
      

  2.   

    这种情况多数发生在Window 7或者vista上,其实不需要像楼上说的那样,在运行vs2008的时候右键--以管理员身份运行就可以了。
      

  3.   

    下午2点14出个WIN7下函数打不开注册表的问题,找到现在。
    之前查到很多说设置Properties下安全性那个app.manifest的,但是我的VS2008SP1项目属性里翻遍每一项完全找不到“安全性”这一栏。
    虽然是2年前的帖子,1年前的回复,纠结一个下午的问题终于解决了,太感谢了~~