我已经制作了一个C#类库,它使用公司其他人制作的其他dll,用于COM互操作。它与MS Excel 2013一起使用,在我的开发机器上正常工作。使用安装程序部署C#COM DLL
要在其他机器上测试它,我已将输出(dll和.tlb文件)复制到我的系统32文件夹中。然后,我使用regasm注册了dll(使用/ codebase参数)。最后,我在Excel VBA编辑器中添加了对.tlb的引用。虽然这对6个dll来说有些乏味,但是regasm工作正常。
下一步是将Excel工作表分发给公司中的相关用户,其中大多数用户位于世界不同地区的不同部门。这意味着我不知道需要安装哪些程序(例如.net 4.5)。另外,由于公司大多数人对命令行知之甚少,使用上述过程不仅有点乏味,而且令人不安。因此我想做一个安装程序。
由于我使用VS2013,我有installed a plug在那允许我做一个安装文件。
我发现了this的问题,这与我的问题几乎相同,但我不需要GAC部分。我如何根据需要修改程序? - 我试图按照给定的程序,但我得到一个错误,说明我自己使用的DLL之一,没有强大的名称,不能在GAC中。因此构建失败。我如何纠正上述情况? - 我是否需要修复dll,还是可以在没有GAC部分的情况下执行此操作?
如何自动执行我的dll(s)的安装过程? - 现在的替代方案是将VS2013推广给用户,让他们运行项目并以此方式注册(VS表达是否足够?)。
在此先感谢 - 我从没有经验的项目开始这个项目,所以学习曲线有点陡峭。
使用ILSpy,我可以看到安装程序内部失败的dll有publictoken = Null。我认为这是我的问题的根源。也许我可以让它工作,如果我得到修复,并尝试再次建立一个安装程序。 – Anima