2016-04-04 46 views
1

我可能有点幼稚,但需要快速创建一些低占用空间的应用程序(使用Telerik组件)给许多客户。这是一种快速而肮脏的解决方案,可以克服不同笔记本电脑版本上Oracle软件的不足。为什么ClickOnce .NET部署需要安装

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

通过它的实际工作,应用程序不是自包含的。它需要一个引导程序并创建一个setup.exe。我的客户无法安装软件(无管理员权限),也不想安装可能超出企业标准(.NET版本)的软件依赖项。

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

任何意见赞赏,也许我误解了这个过程。我希望可以打开一个完全自包含的应用程序,可以为该正在运行的应用程序提供依赖项,无需安装,并且可以对公司客户端进行零脚本更改。

回答

0

不知道,如果它可以帮助你,但是从ClickOnce的维基百科页面: 的ClickOnce部署的应用程序被认为是“低影响”,因为它们是每个用户安装,而不是每个机。无需管理员权限即可安装其中一个应用程序。每个ClickOnce应用程序都与其他应用程序隔离。这意味着一个ClickOnce应用程序不能“打破”另一个

+0

嗨,但可能会有一个setup.exe创建需要安装整个.net框架,如果不满足前提条件的目标?那是一个本地.net安装 - 看起来很疯狂,因为.net 4.5的安装可以做得很低而且没有管理员权限? – smackenzie

1

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

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

这很令人困惑,因为Visual Studio将它集中在一起,并使它看起来像引导程序是ClickOnce的一部分。事实并非如此。除了简单安装之外,没有安装先决条件的神奇方法。如果该先决条件需要管理员访问权限进行安装,则无法安装,管理员必须安装它。

相关问题