我有一个c#解决方案,有两个常规项目和一个安装项目.其中一个常规项目是可执行文件,而另一个是dll,我也在其他解决方案中使用. dll项目依赖于某个事件日志源,它可以登录,并且由于该程序旨在由不允许创建日志源的用户运行,因此必须在安装时创建此源.
我通过为可执行项目创建安装程序类,在安装程序中创建日志源,并在安装项目中的自定义操作中包含该安装程序来完成此操作.这有效,但现在我必须为每个其他项目创建一个类似的安装程序,它也使用该DLL.
最好的解决方案是,如果我可以为dll编写安装程序,然后在安装项目中为自定义操作选择dll.这样我只需要说明一次日志创建要求.但是,我无法为安装项目中的自定义操作选择dll项目输出.
另一个好的解决方案是,如果我能以某种方式指定可执行文件的安装程序应该是可传递的,这样它也会对可执行项目所依赖的任何项目执行安装操作,但我不知道如何指定该需求.
那么我该怎么做才能避免在不同项目之间复制安装代码?
解决方法:
您应该能够向DLL添加安装程序类,然后注册DLL以在安装项目中执行自定义操作.如果您已经尝试过并遇到问题,请问您可以更具体地了解Visual Studio的哪个版本以及您正在使用哪种类型的安装项目?