2011-01-22 74 views
2

当我们在.NET中开发应用程序时,我们还在开发结束时创建了安装程序并将安装程序发送给客户端。客户端安装安装文件。DotNet中的修补程序开发

当我们改变我们的代码或在我们的应用程序中添加新的功能,然后我们再次创建设置,并让客户端再次安装。在这种情况下,如果安装文件的大小变得很大,有没有什么出路像补丁一样,当我们在代码中进行更改时,我们只是创建一个补丁并将该补丁提供给客户端?

客户端将安装该补丁程序将获得更改,并且以前的功能将在应用程序中完好无损。所以我如何才能赋予唯一的新增功能,或者只需要在补丁程序的帮助下将应用程序的一部分更改为客户端。

请详细介绍所有实施此类设置开发的步骤,因为它的重量非常轻。

感谢

回答

4

一个简单的方法(特别是如果你的代码签名或混淆你的组件)就是要打破你的应用分成若干独立的集(DLL)的。然后,如果更新代码,则只需要部署实际更改的程序集。

最重要的是控制依赖关系:在开始时就很好地定义程序集之间的接口,并添加新接口来扩展现有功能(而不是对现有接口进行“重大更改”),以便可以对应用程序进行有用的更改,而无需在修补程序中部署大量程序集。 (如果存在很多依赖关系,您会发现在任何地方进行更改仍然需要您将几乎所有的程序集部署到客户,这在某种程度上会失败)。

这种方法不能提供最紧凑的修补程序,但它非常简单且易于实现 - 而且在很多情况下它可以提供“可接受的小”修补程序。它还鼓励开发人员认真思考如何使用具有最小依赖性的优质模块化设计 - 因此,即使您在顶部添加更复杂的修补机制,也值得这样做(在合理范围内)。

如果使用补丁方法,我还建议定期给客户一个完整版本,因为您应用的补丁越多,出现不同步的风险就越大。 (考虑Windows Update的工作原理 - 操作系统是通过补丁程序逐步更新的,但是现在和微软都会发布一个服务包,将所有小补丁卷成一个大补丁,并且不太经常地发布全新版本的操作系统用户必须从头重新安装)