3

我正在使用 .NET 为 IE 开发工具栏。目前,我使用 gacutil 插入我的 .NET 程序集,并使用 regasm 注册我的 COM 程序集。

我想为项目创建一个设置(MSI),但我似乎无法注册类型。我在安装项目的 GAC 文件夹中有所有内容,但我找不到基本上运行 regasm 的方法 - 我不想将它包含在项目中。/regfile 选项与注册类型不同。

我尝试使用 tlbexp 导出 .tlb 文件并将其包含在 MSI 的 Application 文件夹中,但它似乎无法解决问题。如果运行 MSI 安装程序并在我的程序集上手动运行 regasm,则一切正常。有任何想法吗?

谢谢。

4

2 回答 2

3

根据这个:

http://www.codeproject.com/KB/cs/C__Deployment.aspx?fid=439178

在 Setup 项目的已添加输出文件的属性中,确保将 Register 属性设置为 vsdrpCOM。设置此属性可确保 MSI 文件使用 .NET 中的 regasm 工具注册 ActiveX 组件。在安装过程中,安装程序自己负责注册这个 C# 组件以公开 COM 接口。

于 2009-07-13T18:37:27.163 回答
0

不知道这会有所帮助,但这里有..

我使用了 InstallShield InstallScript MSI 项目,创建了一个功能,并为每个必须放入 GAC 的 dll 创建了一个带有目标 GlobalAssemblyCache 的组件。对于 regasm,我将所需 dll 的 .NET COM Interop 属性设置为“是”。

于 2009-12-14T13:26:58.750 回答