我有一个"高级安装程序"我试图用来安装我的" TopShelf"我已经建立的Windows服务。
我在Advanced Installer中找到了授予安装文件夹权限的位置,但我没有看到一种方法来授予"本地系统"帐户。
手动执行此操作,方法是转到文件夹属性中的安全选项,然后添加一个与计算机名称相同但以$
结尾的用户。例如MyNiceComputer$
。 (哦,你必须在types
区域选择" Computers"选项。)
但是在Advanced Installer中无法做到这一切。如果我确实创建了MyNiceComputer$
,它只会在安全选项卡中创建一个空条目。 (没有权限,即使我设置完全控制。)
有没有人需要使用Advanced Installer执行此操作?
其他详细信息 :
我正在安装一个作为Windows服务运行的应用程序。 (这是一个使用TopShelf构建的控制台应用程序。)
我们公司的政策是将所有应用程序安装到如下所示的文件夹中:
C:\ OurCompanyApps \ MyApp的
当我创建安装程序时,它运行正常,但是当我启动Windows服务时,我收到以下错误:
Windows无法在本地计算机上启动MyApp服务
错误5:访问被拒绝。
但是,当我授予对本地系统的访问权限时(通过在MyApp文件夹上为myNiceComputer$
提供完全控制权限),则此错误消失,应用程序运行正常。从我读到的,这是因为应用程序作为本地系统运行。
它似乎很奇怪,它需要完全控制,但没有它就无法工作。 (但据我所知,该文件夹的内容未经更改)。
@Bogdan Mitrache似乎表明,通过Advanced Installer无法授予本地系统权限。这很好(所以我不会浪费更多时间)。我可能会问我的系统管理员一个专用的系统帐户来运行我的服务。不理想,但它可以作为一种解决方法。
答案 0 :(得分:0)
所以,在我的一个不那么精细的"调试的时刻,我混淆了两件不同的事情。
还有一个文件缺失,(我的配置文件)。我恢复了它并同时更改了权限。但后来我忘了回去验证哪一个是实际修复。 (我知道,调试不好。)
因此,Access被拒绝错误是由于文件丢失造成的。