我们使用Click Once来安装我们的自定义应用。但我喜欢将我的应用程序设计为单独的程序集。例如,我刚制作了一个标签和信封打印机,它包含多个项目,例如,数据管理器,Word Automation,错误记录等。错误日志记录非常详细,它会将发起调用的事件一直记录到导致实际错误的方法。使用相同的dll会很好,虽然我可以点击一次,如果我更新项目,我将不得不发布使用它的每个解决方案,确实非常愚蠢。
虽然错误记录重复可能不会太糟糕,但这个问题会变得更糟。
点击一次只是一次性而非严肃的开发者吗?这将是蹩脚的,因为就分销和更新而言,它在企业中运作得非常好。从我看到的可扩展部门失败。除非我错过了什么。 。 。
答案 0 :(得分:2)
我认为这是不可能的。应用程序清单包含所有应用程序文件及其版本信息和哈希值。也许你可以做一些肮脏的黑客,但这感觉不对。
当然,如果您更新单个项目(dll),该项目在几次单击应用程序中使用,并且您手动必须发布所有这些应用程序,我同意您的意见 - 这不是开发人员应该做的工作。
更好的方法是使用发布管理设置自动构建。或者至少每个应用程序的每晚构建和自动clickonce部署的脚本。完成此设置后,您将不再关心更改的数量。
答案 1 :(得分:1)
解决方案是使用Windows安装程序,然后单击一次。
Use Both Windows Installer and ClickOnce
以下是摘录:
此处的基本概念是基于Windows Installer技术创建外部安装。此外部安装负责在安装应用程序之前检查和询问系统。它可以与用户交互并收集和存储配置信息, 将共享程序集安装到GAC ,等等。在卸载时,它负责清理我们的应用程序通常会遗留的资源。例如,它可以卸载文件,删除运行时创建的日志文件,卸载服务,从GAC中删除程序集等。
将ClickOnce应用程序插入到我们的安装中也是一项相当简单的任务。由于可以通过Internet或Intranet URL激活ClickOnce应用程序,因此我们可以在目标系统上创建指向应用程序清单的快捷方式。为此,我们可以使用Windows Installer在安装时动态创建.url文件。 .url文件是一种特殊类型的快捷方式,符合标准的.ini文件格式。