我一直在尝试让我的.msi在我的机器上安装一个服务。我使用exe4j制作我的Java代码,并将其归档到.jar文件中,以便将其保存在.exe文件中。该服务需要具有跨网络读写的权限。我设法让一切正常工作,除了当ServiceInstall元素中的帐户被设置为'NT AUTHORITY\NetworkService‘时,服务没有获得读写权限。
public static void main(String[] args)
{
try
{
MainService instance = new MainService();
instance.processArgs(args);
watcher.run();
}
catch(Exception e)
{
error(e.getMessage());
e.printStackTrace();
}
System.exit(1); // only get here after an exception
}这是我的一些WiX代码
<File Name="tService.exe" Source="tService.exe" KeyPath="yes" />
<ServiceInstall Id="ServiceID" Description="Copies assets" ErrorControl="normal" Name="tService" Start="demand" Interactive="no" Type="ownProcess" Account="NT AUTHORITY\NetworkService" />
<ServiceControl Id="StartService" Stop="both" Remove="uninstall" Name="InterConnectService" Wait="yes" />我需要什么帐户,或者我如何通过我的服务获得读写权限?我希望.msi文件使用这些读写权限安装服务。我不想开始手动创建帐户。
更新:
'NetworkService‘在安装时失败,并显示msi“服务...无法安装。请验证您是否有足够的权限安装系统服务”。当我使用'NT AUTHORITY\NetworkService‘时,安装过程工作正常。但是,使用'NT AUTHORITY\NetworkService‘时,我不能跨网络进行读写。
有什么办法可以让我在网络上读写吗?非常感谢您的回复。
发布于 2011-07-06 15:40:39
正如Rob所问的,了解您的安装是失败还是没有设置权限将会很有帮助。但是,您可以尝试这样做:在@Account属性中只放入'NetworkService',而不是完整的'domain\account‘值。'NetworkService‘是WiX工具集为知名帐户提供的别名之一-它将正确映射到正确的帐户。
发布于 2012-12-07 17:08:22
服务帐户的名称错误,需要为NT AUTHORITY\Network Service。
https://stackoverflow.com/questions/6583292
复制相似问题