【问题标题】:Why is an installation is required for ClickOnce .NET deployment为什么 ClickOnce .NET 部署需要安装
【发布时间】:2016-04-04 16:47:45
【问题描述】:

我可能有点天真,但需要快速为许多客户创建一些低占用空间的应用程序(使用 Telerik 组件)。这是一种快速而肮脏的解决方案,可以解决不同笔记本电脑版本缺乏 Oracle 软件的问题。

我有一个想法,ClickOnce 将允许我将应用程序与所有依赖项打包在一起,并且不需要安装软件。我在大型企业环境中工作,软件安装需要管理员权限。因此,托管具有所有依赖项的自包含应用程序 (ClickOnce) 听起来很棒,只需将应用程序托管在全局文件共享上即可。

从实际情况来看,该应用程序并不是自包含的。它需要一个引导应用程序并创建一个 setup.exe。我的客户无法安装软件(没有管理员访问权限),我也不想安装可能超出公司标准(.NET 版本)的软件依赖项。

我假设当人们必须通过 setup.exe 安装先决条件时,我最终可能会覆盖客户端上已安装的 .NET 版本,或者我的客户可能无法执行 setup.exe,因为他们没有拥有安装软件的管理员权限。

感谢任何建议,也许我误解了这个过程。我希望人们可以打开一个完全自包含的应用程序,该应用程序具有可用的依赖项,无需安装,并且对企业客户端的占用空间更改为零。

【问题讨论】:

    标签: .net visual-studio deployment clickonce bootstrapping


    【解决方案1】:

    ClickOne 并不神奇。剥离一切,这是非常基本的。它将文件复制到您的用户配置文件中,并使这些文件与服务器上的文件保持同步。就是这样。是的,它可以做一些额外的事情,比如在“添加/删除程序”中添加一个条目,创建开始菜单快捷方式等,但它的核心只是在客户端和服务器之间同步文件。

    有一些“额外”的东西(如引导程序又名 setup.exe)试图解决其他问题,但这确实超出了 ClickOnce 的范围。引导程序试图使安装依赖项更容易。如果没有引导程序,您会告诉用户首先安装 .NET,然后查找 Oracle 位并安装它们,然后启动 ClickOnce 应用程序。相反,您将所有这些包装到一个安装中。它会检查 .NET 是否已安装,如果存在则跳过它,然后转到 Oracle,最后最后启动 ClickOnce 应用程序。

    这很令人困惑,因为 Visual Studio 将它们混为一谈,看起来引导程序是 ClickOnce 的一部分。它不是。除了简单地安装它之外,没有安装先决条件的神奇方法。如果该先决条件需要管理员权限才能安装,则无法绕过它,必须由管理员安装。

    【讨论】:

      【解决方案2】:

      不确定它是否对您有帮助,但来自 ClickOnce 维基百科页面: ClickOnce 部署的应用程序被认为是“低影响”,因为它们是按用户安装的,而不是按机器安装的。安装这些应用程序之一不需要管理员权限。每个 ClickOnce 应用程序都与其他应用程序隔离。这意味着一个 ClickOnce 应用程序无法“破坏”另一个应用程序

      【讨论】:

      • 您好,但是如果不满足先决条件,可能会创建一个 setup.exe,需要安装整个 .net 框架?那是本地 .net 安装吗? .net 4.5 安装可以在低影响且无需管理员访问的情况下完成,这似乎很疯狂?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 2014-06-16
      • 2020-02-24
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多