2011-07-05 2 views
0

自分の.msiが自分のマシンにサービスをインストールしようとしました。 exe4jを使って.jarファイルにアーカイブされたJavaコードを.exeファイルに保存しています。サービスは、ネットワークを介して読み書きする権限を持っている必要があります。 ServiceInstall要素の 'NT AUTHORITY \ NetworkService'にアカウントが設定されていると、サービスに読み取りと書き込みの特権が与えられていないことを除いて、すべて機能しました。Wixネットワークサービスの読み取りと書き込み

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'ではネットワーク経由で読み書きできません。

どのように私はネットワークを介して読み書きできますか?あなたの反応は非常に高く評価されています。

+1

インストールが失敗したか、正常に終了しましたか?サービスがNetworkServiceに設定されていませんか? –

答えて

1

Robが尋ねると、インストールが失敗したのか、それとも単にアクセス許可が設定されていないのかを知ることは役に立ちます。しかし、とにかくこれを試すことができます:@Account属性では、 'domain \ account'の値ではなく 'NetworkService'だけを入力します。 'NetworkService'は、よく知られているアカウントに対してWiXツールセットによって提供されるエイリアスの1つです。適切なアカウントに正しくマッピングされます。

-1

サービスアカウントの名前が間違っている、NT AUTHORITY\Network Serviceである必要があります。

関連する問題