我经常听到的Web应用程序的一个主要优点是部署过程快速而轻松,只要安装了浏览器,它甚至可以在最密封的操作系统中运行。我想知道是否可以为瘦客户端桌面应用程序(例如用C ++编写)制作轻量级安装程序,而不需要很多用户权限。
答案 0 :(得分:2)
这取决于您的安装程序要尝试做什么。如果需要写入受保护的文件夹(如“Program Files”)或注册表的受保护部分(包括HKEY_Local_Machine下的任何内容),则必须以高于受限用户的权限运行。如果它只是将某个文件放在用户自己的“Documents and Settings”文件夹中,或者在用户的开始菜单中放入快捷方式,那么默认情况下这不是问题。
一个棘手的问题是“安全环境”的含义。管理员可以使用组策略来锁定Windows Installer服务,如果这是他们为保护环境所做的一件事,那么普通用户当然会被阻止。
另一个可能的问题是UAC认为您的安装需要比实际更高的权限。您可以通过使用应用程序清单来防止这种情况,明确告诉UAC您对以受限用户运行的安装没有问题。
答案 1 :(得分:1)
不幸的是,你正在努力克服现代操作系统的功能集,试图让人们安装软件 hard 。想象一下,如果恶意应用程序可以由具有有限权限的用户安装;这就是我们(很多人)以及我们正在努力解决的问题。
为Windows编写的不需要很多权限的应用程序根本无法在“沙箱”之外执行任务。
这方面的一个例子是Silverlight或Web部署的WPF应用程序。
如果要与你的硬盘,网络共享,注册表,COM端口,复杂的内存操作等进行交互,它将需要一些特权。最低限度,它需要编写和编译为一个框架,如java / silverlight / etc,虽然它有一个沙盒可以存在,但它们已经被允许做了一系列事情。