如何防止应用程序被用户卸载(没有pipe理员权限)?

我需要禁止卸载一个应用程序(而不是服务!)由用户不具有一些特殊的权利。 这个怎么做? 安装将由域pipe理员完成

谢谢你的时间

[编辑]也我需要防止从Windows启动删除应用程序

[编辑1]澄清:应用程序很简单,并安装在其文件夹,并添加到Windows启动(实际上HKLM \ SOFTWARE \微软\的Windows \ CurrentVersion \运行registry)。 我需要的是禁止删除这个文件夹和这个registry项,对于序号用户,而不是本地pipe理员。

Solutions Collecting From Web of "如何防止应用程序被用户卸载(没有pipe理员权限)?"

[更新]文件位置很简单。 这是简单的撤销文件夹及其所有子文件夹和文件的写入权限,并为Builtin \ Administrators提供全面的权限。 你可以通过资源管理器,属性 – >权限或命令行明智地与cacls(或icalcs,如果你在win7上)

我的win7盒子上的regkey只能由用户读取(不可写入),并且由本地管理员读取/写入(regedit – >上下文菜单 – >授权)。

如果它仍然不像你想要找出一个普通用户所在的组(也是域组),然后检查这些组是如何传播到本地机器的。

正如在评论中Ben所要求的那样,您可能会在server Fault上开始一个新的问题。

[结束更新]

[edite响应之前]我怀疑你可以禁止卸载'one'应用程序。 通过组策略,您可以“禁止更新”

(在“计算机配置/管理模板”/“Windows组件/ Windows安装程序”下的GPedit.msc中)

组策略由域管理员设置,并通过域强制执行,因此不需要“保留”。 但是,您也需要防止本地管理员编辑本地组策略。

另一个更令人望而却步的选择是在安全设置的软件采集部分使用组策略。 在这里,您可以输入您不希望运行的msi或exe文件的名称的路径策略。

既要求验证/测试,以防止大大限制,防止大家开始任何东西…

如果应用程序需要安装管理权限,则非管理员将无权删除它。

如果用户具有本地管理权限,则无法阻止任何操作。