我正在考虑使应用程序更加模块化并访问dll,以便在客户端需要不同功能时我可以更改它们。
我知道如何创建dll并引用它们,但我试图找到一种方法来创建一个可执行文件,将dll的不同版本安装到所需的应用程序文件夹中。我想避免将新dll放入原始项目并构建新的安装文件,我希望为最终用户保持简单。
目前我正在使用visual studio 2010
答案 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
”