0

我正在开发一个 Firefox 扩展,它与底层 Windows 服务(我已经做了)接口。

在到目前为止的开发过程中,我在安装程序中遇到了一个错误(它安装了 FF 扩展和服务)。这是由于 Vista 上的安全模型需要提升权限才能安装和启动服务。我调整了安装程序,现在它安装得很好(只是向最终用户显示了额外的 Vista'esque 警告对话框——我可以忍受!)

我现在正在开发一个 XPCOM 组件,它将与我已经制作的 XUL 东西一起安装。XPCOM 将有一个 XUL javascript 接口,它将尝试执行停止和启动服务等操作(例如,当用户配置数据更改时)。

我的问题:由于 FF 通常会在用户帐户下运行,我会在 Vista 或其他 Windows 版本上尝试通过 XPCOM启动或停止我自己的服务时遇到任何困难吗?

(当用户运行安装程序时,我不介意在 Vista 中弹出安全对话框。但我当然不希望在他们尝试更改 XUL 界面中的信息时发生这种情况。)

解决这个问题的正确方法是什么?

4

1 回答 1

2

是的,如果您的服务以管理员身份运行,那么以普通用户身份运行的 Firefox 进程将无法启动或停止它。但是,您似乎可以使用“sc”命令从安装程序中设置对服务的访问控制,这意味着您可以允许非管理员用户启动和停止您的服务。

您需要使用“sc sdset”,此处记录(轻微): http ://technet.microsoft.com/en-us/library/cc742037%28WS.10%29.aspx

但是,要使用它,您需要阅读“安全描述符定义语言”,它看起来有点复杂:http: //msdn.microsoft.com/en-us/library/aa379567%28VS.85% 29.aspx

这个博客条目似乎有一些人类可读的信息:http: //blogs.dirteam.com/blogs/jorge/archive/2008/03/26/parsing-sddl-strings.aspx

于 2009-10-13T16:05:04.817 回答