I am probably being a bit naive, but need to quickly create some low footprint apps (using Telerik Components) to a number of customers. This is a quick and dirty solution to overcome lack of Oracle software on different laptop builds.
I had an idea that ClickOnce would allow me to package the application up with all dependencies, and there would be no software installation required. I work in a large corporate environment, software installation requires admin access. So hosting a self contained application with all dependencies (ClickOnce) sounded great, simply host the app on a global file share.
Working through the reality of it, the application isn't self contained. It requires a bootstrap application and creation of a setup.exe. My customers can't install software (no admin access), nor would I want to install software dependencies which may be outside the corporate standard (.NET version).
I am assuming when people have to install the pre-requisites via setup.exe, I could end up overwriting the installed .NET version on the client, or my customers may not be able to execute setup.exe as they do not have admin rights to install software.
Any advice appreciated, perhaps I am misunderstanding the process. I was hoping for a fully self contained application people could open, have dependencies available to that running application, no installation required, and zero footprint change to corporate client.
答案 0 :(得分:1)
ClickOne并不神奇。剥去一切,这是非常基本的。它将文件复制到您的用户配置文件中,并使这些文件与服务器上的文件保持同步。就是这样。是的,它可以执行额外的操作,例如在"添加/删除程序",创建开始菜单快捷方式等中添加条目,但其核心只是在客户端和服务器之间同步文件。
有"额外"尝试解决其他问题的东西(比如bootstrapper aka setup.exe),但它确实超出了ClickOnce的范围。引导程序尝试使安装依赖项更容易。如果没有引导程序,您将告诉用户首先安装.NET,然后找到Oracle位并安装它们,然后启动ClickOnce应用程序。相反,您将所有这些包装到一个安装中。它将检查是否已安装.NET,如果已安装,请跳过它,转到Oracle,然后最后启动ClickOnce应用程序。
令人困惑,因为Visual Studio将它们整合在一起并使其看起来像引导程序是ClickOnce的一部分。它不是。除了简单地安装先决条件之外,没有神奇的方法来安装它。如果该先决条件需要管理员访问权限,那么就无法安装它,管理员必须安装它。
答案 1 :(得分:0)
不确定它是否对您有所帮助,但是来自ClickOnce Wikipedia页面: ClickOnce部署的应用程序被视为"影响较小",因为它们是按用户安装的,而不是按机器安装的。安装其中一个应用程序不需要管理员权限。每个ClickOnce应用程序都与其他应用程序隔离。这意味着一个ClickOnce应用程序无法打破"另一个