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

C# 如何创建可执行文件以更新已安装应用程序中的DLL,c#,dll,installation,C#,Dll,Installation,我正在考虑使应用程序更加模块化并访问DLL,以便在客户端需要不同功能时可以更改它们 我知道如何创建dll并引用它们,但我正试图找到一种方法来创建一个可执行文件,将不同版本的dll安装到所需的应用程序文件夹中。我希望避免将新的DLL放入原始项目中,并构建一个新的安装文件,我希望为最终用户保持简单 目前我正在使用visual studio 2010,您可以为每个dll创建MSI文件,并使用标准安装程序过程更新dll。也可以编写一个exe来下载和提取任意数量的逻辑(授权、下载位置等) 两者的结合似乎是

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

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


目前我正在使用visual studio 2010,您可以为每个dll创建MSI文件,并使用标准安装程序过程更新dll。也可以编写一个exe来下载和提取任意数量的逻辑(授权、下载位置等)

两者的结合似乎是一件有趣的事情。引导程序下载msi文件并静默安装它们。您可以在安装程序中拥有高级功能,同时可以自由决定自己安装的内容和时间

技术方面突然出现在我的脑海中:使用中的文件可能不会被更改,如果您更改了界面,则未更改的主程序将无法使用新的库

看起来你正在搜索一个插件架构,你可能想看看MEF或Unity来执行合成,但这更多的是一个旁注。

这个伟大的网站上几乎没有可用的插件。你应该探索它们,并尝试最好的方法来实现任何情况

查看以下参考链接:

发件人:

如果已经使用VS安装项目,则可以部署新版本 并将升级现有安装。有一个 查看安装和升级ID。服务的停止和启动 可以通过项目中定义的自定义操作和 将在提交或回滚设置时执行




注意:请参阅clickonce

,对于最终用户来说,最简单的事情不是编码功能并提供一个界面来更改它,不必担心程序的安装?如果用户将程序安装在非默认位置,我如何确保msi中的DLL位于正确位置?您可以查看注册表(无论是您自己的设置还是从windows)