注册C# com组件问题

itliyi 2012-05-28 04:15:56
C# 写的一个dll js调用,本地有vs环境
直接regasm 注册没问题

问题是 如何在其他没有vs环境注册?
thks
...全文
367 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lliu7qs 2014-01-02
  • 打赏
  • 举报
回复
在代码中怎么注册C# C++ 写的COM DLL呢 望大神回复啊
itliyi 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 bigbaldy 的回复:]

引用 14 楼 的回复:

引用 13 楼 的回复:

引用 9 楼 socketup 的回复:

做成安装包,把.net framework打包进去
真傻,竟然用c#做com
请问用什么做?我只接触过C#


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


C++的com太麻烦,C#的超级简单,所以用C#,还有,用啥得看你要干啥
[/Quote]请教下我用C# com,在客户端是不是通过regsvr32 注册?
bigbaldy 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 13 楼 的回复:

引用 9 楼 socketup 的回复:

做成安装包,把.net framework打包进去
真傻,竟然用c#做com
请问用什么做?我只接触过C#


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

C++的com太麻烦,C#的超级简单,所以用C#,还有,用啥得看你要干啥
SocketUp 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 9 楼 socketup 的回复:

做成安装包,把.net framework打包进去
真傻,竟然用c#做com
请问用什么做?我只接触过C#
[/Quote]

既然只用过C#,那就用好C#吧
叫你用C++,你也不会
itliyi 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 socketup 的回复:]

做成安装包,把.net framework打包进去
真傻,竟然用c#做com
[/Quote]请问用什么做?我只接触过C#
SocketUp 2012-06-01
  • 打赏
  • 举报
回复
vb的DLL天生就是COM,写个COM比写个EXE还简单
而且一定机率下不需要runtime
SocketUp 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 9 楼 的回复:
做成安装包,把.net framework打包进去
真傻,竟然用c#做com

用什么做com好
[/Quote]

VB
亡魂葬爱 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
做成安装包,把.net framework打包进去
真傻,竟然用c#做com
[/Quote]
用什么做com好
SocketUp 2012-06-01
  • 打赏
  • 举报
回复
做成安装包,把.net framework打包进去
真傻,竟然用c#做com
itliyi 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 itliyi 的回复:]

引用 3 楼 的回复:

试试这样,先在有VS环境的机器上注册了,打开项目中的 AssemblyInfo.cs 文件,在注册表中搜索文件里的 Guid 的值,看看有哪些对应项,然后没VS环境的就在程序里操作注册表写入那些项。
呵呵 能不能具体点?不大懂
[/Quote]导入注册表 还是不行 提示找不到文件
itliyi 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

试试这样,先在有VS环境的机器上注册了,打开项目中的 AssemblyInfo.cs 文件,在注册表中搜索文件里的 Guid 的值,看看有哪些对应项,然后没VS环境的就在程序里操作注册表写入那些项。
[/Quote]呵呵 能不能具体点?不大懂
itliyi 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

例如运行:regasm myTest.dll /regfile:myTest.reg
这样就把相关的注册表项生成到了一个myTest.reg文件里,打开该.reg文件就可以查看注册该dll所需要的注册表项。而只要导入该.reg文件至注册表就相当于直接注册:regasm myTest.dll
详见:
http://msdn.microsoft.com/zh-cn/library/tzat5y……
[/Quote]怎么打不开?地址
WAN 2012-05-28
  • 打赏
  • 举报
回复
regasm有一点是必须注意的,三选一:
或者将该dll注册到GAC;
或者将该dll放在COM客户端的应用程序目录里;
或者必须指定regasm的/codebase选项(这时如果使用.reg的方式则可能要手动修正路径)
WAN 2012-05-28
  • 打赏
  • 举报
回复
例如运行: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
__天涯寻梦 2012-05-28
  • 打赏
  • 举报
回复
试试这样,先在有VS环境的机器上注册了,打开项目中的 AssemblyInfo.cs 文件,在注册表中搜索文件里的 Guid 的值,看看有哪些对应项,然后没VS环境的就在程序里操作注册表写入那些项。
itliyi 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

regasm注册的本质就是添加注册表项,而regasm也有/regfile开关。
因此,在本机生成.reg,再发布它(或要根据实际的dll路径作修正),或直接程序写注册表
[/Quote]能不能具体点 额 不懂
WAN 2012-05-28
  • 打赏
  • 举报
回复
regasm注册的本质就是添加注册表项,而regasm也有/regfile开关。
因此,在本机生成.reg,再发布它(或要根据实际的dll路径作修正),或直接程序写注册表

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧