1

所以我的问题是我有一个应用程序,它时不时需要执行一项需要管理权限的任务。我一直在阅读,似乎解决方案是
a) 运行具有管理权限的程序的单独实例,并让它直接执行任务,执行工作并关闭;
b)创建一个单独的程序,该程序可以由具有管理权限的“父”应用程序运行,执行工作并关闭

我决定使用 2 个单独的应用程序,因为我认为这对我来说更容易实现,但是我对如何让提升的程序(以下称为“另一个应用程序”)执行工作和如何告诉它要执行什么工作。

至于如何,我想我可以将逻辑移动到另一个应用程序,或者在运行时将逻辑发送到另一个应用程序,即。通过代表(似乎很容易滥用)。
我什至提到第二种解决方案的原因是因为分离逻辑感觉有点奇怪,但我愿意接受建议。
至于告诉另一个应用程序做什么,我唯一的想法是在启动过程时使用参数;在这里,我肯定会很感激一些关于如何最有效地做到这一点的建议

4

1 回答 1

0

As for telling the other app what do to, my only idea is to use arguments when starting the process; here I would definitely appreciate some suggestions on how to do this most effectively

这几乎就是这样做的方法:让第一个应用程序使用程序参数启动您的第二个应用程序(也许是一项服务?不管它是什么,具有自动假定的管理员权限)。

但是,由于您似乎担心安全性,您应该仔细限制这一点:管理应用程序应该是所涉及的任何需要管理员权限的操作的逻辑,仅此而已。传递给它的参数可能应该像单个数字一样简单,标识要使用哪个逻辑集[以及所需的任何辅助数据](例如,如果参数是'1',使用DeleteLockedFiled(),如果参数是'2土豆',请确保'土豆' 是一个有效的文件名,然后使用SaveSystemFile("potato")等)

希望这可以帮助您弄清楚。如果没有,请告诉我您更具体关心什么,我本人或其他 SO 用户也会尝试提供帮助。

于 2013-06-30T02:46:37.257 回答