授予"Local System"高级安装程序中的安装文件夹的权限



我有一个"高级安装程序";我正试图用来安装我的";TopShelf";我建立的windows服务。

我在Advanced Installer中找到了向安装文件夹授予权限的位置,但我看不到向";"本地系统";账户

手动完成此操作的方法是转到文件夹属性中的安全选项,然后添加一个与计算机名称相同但以$结尾的用户。例如MyNiceComputer$。(哦,你必须在types区域选择"计算机"选项。)

但是在高级安装程序中没有办法做到这一切。如果我真的做了一个像MyNiceComputer$这样的,它只会在安全选项卡中做一个空条目。(没有权限,即使我设置为完全控制。)

有人需要用高级安装程序来做这件事吗?

其他详细信息
我正在安装一个作为windows服务运行的应用程序。(这是一款使用TopShelf构建的控制台应用程序)。

我们公司的政策是将我们所有的应用程序安装到如下文件夹中:

C:\OurCompanyApps\MyApp

当我创建安装程序时,它运行良好,但当我启动Windows服务时,我会收到以下错误:

Windows无法在本地计算机上启动MyApp服务

错误5:访问被拒绝。

但当我授予对本地系统的访问权限时(通过授予MyApp文件夹上myNiceComputer$的完全控制权限),此错误就会消失,应用程序也会正常运行。据我所知,这是因为应用程序以本地系统的形式运行。

它需要完全控制,但没有它就无法工作,这似乎很奇怪。(但据我所见,文件夹的内容没有更改)。

@Bogdan Mitrache似乎表明,通过高级安装程序向本地系统授予权限是不可能的。很高兴知道这一点(这样我就不会浪费更多的时间去寻找)。我可能会要求我的系统管理员提供一个专用的系统帐户来运行我的服务。这并不理想,但它将作为一种解决方案。

因此,在调试的一个"不太精细"的时刻,我混淆了两件不同的事情。

还有一个文件丢失了,(我的配置文件)。我恢复了它,同时更改了权限。但后来我忘了回去核实哪一个是真正的修复。(我知道,调试不好。)

因此,拒绝访问错误是由于缺少一个文件。

最新更新