如何创建可执行文件以更新已安装的应用程序中的DLL

时间:2012-04-20 04:10:49

标签: c# dll installation

我正在考虑使应用程序更加模块化并访问dll,以便在客户端需要不同功能时我可以更改它们。

我知道如何创建dll并引用它们,但我试图找到一种方法来创建一个可执行文件,将dll的不同版本安装到所需的应用程序文件夹中。我想避免将新dll放入原始项目并构建新的安装文件,我希望为最终用户保持简单。

目前我正在使用visual studio 2010

2 个答案:

答案 0 :(得分:0)

您可以为每个dll创建MSI文件,并使用标准安装程序进程更新dll。也可以编写一个下载和提取的exe,它将具有任意数量的逻辑(许可,下载位置,然后......)。

两者的结合可能看起来很有意思。一个bootstrapper下载msi文件并静默安装它们。您可以在安装程序中使用高级功能,同时可以自由决定自行安装的内容和时间。

突然出现技术问题:正在使用的文件可能无法更改,如果您更改界面,则主程序将无法使用新库。

看来你正在寻找一个插件架构,你可能想看一下MEF或Unity来执行这个组合,但这更像是一个侧面评论。

答案 1 :(得分:0)

这个伟大的网站上提供的SO thread很少。你应该探索它们并尝试最好的方法来实现你拥有的任何情况..

检查以下参考链接:

来自:Creating a patch to upgrade .NET application

  

如果您已使用VS安装项目,则可以部署新版本   这个项目,它将升级现有的安装。有一个   查看设置和升级ID。停止和开始服务   可以通过可以在项目中定义的自定义操作来完成   将被执行,即当您的设置被提交或回滚等时。

Patch development in DotNet
How to make Patch-able/Update-able application?
create patch file using .net windows application

注意:请参阅“Clickonce how to build a patch for existing installer