我在冶金企业工作,在那里我们制作自己的生产软件。我们正在考虑改变我们的分销计划以满足我们当前的需求。我希望你能提出一些想法。
我们的应用程序是WinForms,C#Framework 4.0。它位于内联网中。它分为三个项目(UX,业务层和模型层)。应用程序在模块中“逻辑”划分,每个模块执行不同的任务,但它们共享一些功能(即商业模块,财务模块,报价模块)。
如果需要,还需要注销所有用户,以便他们可以更新他们的应用程序(如果发生严重更新)。
我们有两种情况(也许您可以添加其他情景):
情景1。
整个应用程序只有一个与ClicOnce一起分发的EXE。
优点:
缺点:
情景2。
一个小型应用程序(EXE)“触发”不同的EXE(每个模块一个)。
优点:
缺点:
谢谢!
哈维尔
答案 0 :(得分:3)
我将采用您的两种方案的混合,并为每个模块进行ClickOnce部署。共享代码中的更改将“触发”每个依赖模块的新部署。
您可以浏览System.Deployment namespace,尤其是ApplicationDeployment.CheckForUpdate method,以便整合“严重更新”要求,以便应用程序自行更新。
答案 1 :(得分:0)
嗯......我觉得有人已经遇到过这个问题。 他决定创建动态链接库。
你应该
1 exe:具有非常简单代码的GUI:仅调用模块
n dll:具有明确API的模块可以通过GUI或其他模块调用。
然后您可以使用自动更新轻松替换一个模块。 这就是IE的工作原理。