所以我的问题是我有一个应用程序,时不时需要执行一项需要管理权限的任务。我一直在阅读,似乎解决方案是
a)使用行政特权运行一个单独的程序实例,让它直接执行任务,执行工作并关闭;
b)创建一个单独的程序,该程序可由具有管理权限的“父”应用程序运行,执行工作并关闭
我决定使用2个单独的应用程序,因为我认为这对我来说更容易实现,但是我对我应该如何升级程序(以下简称“其他应用程序”)表示感到有些困惑工作以及如何告诉它要做什么工作。
至于如何,我想我可以将逻辑移动到另一个应用程序或在运行时将逻辑发送到另一个应用程序,即。通过代表(似乎高度滥用) 我甚至提到第二种解决方案的原因是因为分离逻辑感觉有点奇怪,但我愿意接受建议 至于告诉其他应用程序做什么,我唯一的想法是在启动进程时使用参数;在这里,我非常感谢有关如何最有效地做到这一点的一些建议
答案 0 :(得分: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
这几乎就是这样做的方法:使用程序参数启动第一个应用程序启动的第二个应用程序(可能是服务,无论是什么,具有自动假定的管理权限)。
但是,由于您似乎担心安全问题,因此您应该仔细限制:admin-app应该是涉及任何需要管理权限的操作的逻辑,而不是其他任何内容。传递给它的参数应该像单个数字一样简单,以识别使用哪个逻辑集[以及所需的任何副数据](EG,如果参数为'1',则使用DeleteLockedFiled()
,如果参数为'2 potato ',确保'马铃薯'是有效的文件名,然后使用SaveSystemFile("potato")
等。)
希望这可以帮助您解决问题。如果没有,请告诉我你更关心的是什么,我自己或其他SO用户也会尝试提供帮助。