我正在使用.NET的IE工具栏上工作。目前,我使用gacutil插入我的.NET程序集,并使用regasm注册我的COM程序集。
我想为项目创建一个设置(MSI),但我似乎无法注册这些类型。我在安装项目的GAC文件夹中有所有内容,但我找不到基本上运行regasm的方法 - 我不想将它包含在项目中。 / regfile选项与注册类型不同。
我尝试使用tlbexp导出.tlb文件并将其包含在MSI的Application文件夹中,但它似乎无法解决问题。如果运行MSI安装程序并在我的程序集上手动运行regasm,则everytihng正常工作。有什么想法吗?
感谢。
答案 0 :(得分:3)
根据这个:
http://www.codeproject.com/KB/cs/C__Deployment.aspx?fid=439178
在安装项目中添加输出文件的属性中,确保将Register属性设置为vsdrpCOM。设置此属性可确保MSI文件使用.NET中的regasm工具注册ActiveX组件。在安装过程中,安装程序本身负责注册此C#组件以公开COM接口。
答案 1 :(得分:0)
不知道这会有什么帮助,但是这里有..
我使用了InstallShield InstallScript MSI项目,创建了一个功能,并且为每个必须放入GAC的dll创建了一个带有目标GlobalAssemblyCache的组件。 对于regasm,我将.NET COM Interop属性设置为“是”以获取所需的dll。