2010-06-21 78 views
26

我已经创建了一个COM组件,.NET互操作,这是我开发的机器上运行良好。我目前正试图弄清楚如何使用Visual Studio的“安装项目”将DLL部署到目标机器。如何使用VIsual Studio安装项目执行以下操作:使用Visual Studio安装项目以自动注册和广汽COM互操作程序DLL

  • 注册程序集(当前使用的是regasm)。
    • 该程序集需要成功注册 并且类型库(.tlb)需要成功注册
    • This answer表明赞成的自定义代码报废regasm。我这是个好主意?如果是这样,这个代码如何包含在安装项目中?
    • This answer建议使用的regasm/regfile命令,然后使用在安装项目注册表导入工具。这会工作吗?
  • (目前使用gacutil)安装在GAC大会
    • 我在知道了“全局程序集缓存文件夹”的“目标计算机上的文件系统。”在安装项目中包含程序集时,我需要做什么吗?

任何其他意见或疑虑,将不胜感激。

回答

33

Gacutil.exe在目标机器上不可用。不是问题,MSI可以完成工作。右键点击“目标机上的文件系统”,添加GAC。右键单击添加的文件夹Add,Project Output。这确保了组装得以实现。

它也可以像Regasm.exe一样注册程序集。将项目输出参考的Register属性设置为vsdrpCOM。

+1

将寄存器属性设置为'vsdrpCOM'是否会自动创建并注册.tlb文件?如果不是,我如何在设置项目中包含.tlb(它似乎不喜欢在安装项目中的GAC文件夹中共享)? – 2010-06-21 18:12:47

+0

这是一个很好的观点。我习惯于输入'regasm/tlb ...',我只是假设我需要它,但是你提出了一个很好的观点 - 客户端机器不会针对这些程序集编写代码。非常感谢。 – 2010-06-21 18:22:15

+0

要在他的评论中回答Ben的问题,请使用vsdrpCOM *自动创建并注册.tlb文件。 – Keith 2011-05-18 17:10:15

相关问题