regasm注册的本质就是添加注册表项,而regasm也有/regfile开关。
因此,在本机生成.reg,再发布它(或要根据实际的dll路径作修正),或直接程序写注册表

解决方案 »

  1.   

    试试这样,先在有VS环境的机器上注册了,打开项目中的 AssemblyInfo.cs 文件,在注册表中搜索文件里的 Guid 的值,看看有哪些对应项,然后没VS环境的就在程序里操作注册表写入那些项。
      

  2.   

    例如运行:regasm myTest.dll /regfile:myTest.reg
    这样就把相关的注册表项生成到了一个myTest.reg文件里,打开该.reg文件就可以查看注册该dll所需要的注册表项。而只要导入该.reg文件至注册表就相当于直接注册:regasm myTest.dll
    详见:
    http://msdn.microsoft.com/zh-cn/library/tzat5yw6(VS.80).aspx
      

  3.   

    regasm有一点是必须注意的,三选一:
    或者将该dll注册到GAC;
    或者将该dll放在COM客户端的应用程序目录里;
    或者必须指定regasm的/codebase选项(这时如果使用.reg的方式则可能要手动修正路径)
      

  4.   

    做成安装包,把.net framework打包进去
    真傻,竟然用c#做com
      

  5.   

    vb的DLL天生就是COM,写个COM比写个EXE还简单
    而且一定机率下不需要runtime
      

  6.   


    既然只用过C#,那就用好C#吧
    叫你用C++,你也不会
      

  7.   


    C++的com太麻烦,C#的超级简单,所以用C#,还有,用啥得看你要干啥
      

  8.   

    请教下我用C# com,在客户端是不是通过regsvr32 注册?
      

  9.   

    在代码中怎么注册C# C++ 写的COM DLL呢
    望大神回复啊