我有一个“高级安装程序”项目,我试图用它来安装我构建的“TopShelf”Windows 服务。
我在 Advanced Installer 中找到了授予安装文件夹权限的位置,但我没有看到授予“本地系统”帐户权限的方法。
手动,这是通过转到文件夹属性中的安全选项并添加与计算机名称同名但以$
. 例如MyNiceComputer$
。(哦,您必须在该types
区域中选择“计算机”选项。)
但是在 Advanced Installer 中没有办法做到这一切。如果我做了一个 like MyNiceComputer$
,它只会在安全选项卡中创建一个空条目。(没有权限,即使我设置为完全控制。)
有没有人需要使用 Advanced Installer 执行此操作?
其他详细信息:
我正在安装一个作为 Windows 服务运行的应用程序。(这是一个使用TopShelf构建的控制台应用程序)。
我们公司的政策是将我们所有的应用程序安装到如下所示的文件夹中:
C:\OurCompanyApps\MyApp
当我创建安装程序时,它运行良好,但是当我启动 Windows 服务时,我收到以下错误:
Windows 无法在本地计算机上启动 MyApp 服务
错误 5:访问被拒绝。
但是,当我授予对本地系统的访问权限(通过授予myNiceComputer$
对 MyApp 文件夹的完全控制权限)时,此错误消失并且应用程序运行正常。根据我的阅读,这是因为应用程序作为本地系统运行。
它需要完全控制似乎很奇怪,但没有它就无法工作。(但据我所知,文件夹的内容没有改变)。
@Bogdan Mitrache 似乎表明无法通过高级安装程序授予本地系统权限。很高兴知道这一点(所以我不会浪费更多时间寻找)。我可能会要求我的系统管理员提供一个专用的系统帐户来运行我的服务。不理想,但它可以作为一种解决方法。