2013-08-16 37 views
0

以下代碼在我的開發計算機中工作,我能夠看到服務使用netsh show urlacl註冊。HttpNamespace註冊失敗,無一例外

ProcessStartInfo netshPSI = new ProcessStartInfo(); 
        // Windows XP SP3, Vista SP2, 7 SP1 or 8      
        netshPSI.FileName = "netsh.exe"; 
        netshPSI.Arguments = "http add urlacl url=http://+:8731/Service1 user=Everyone"; 
        netshPSI.CreateNoWindow = true; 
        Process.Start(netshPSI); 

但是,在目標計算機中,它執行時不會引發異常並且不會註冊。 我在這裏錯過了什麼?

我應該等待過程完成嗎?

兩臺計算機都以管理員身份登錄,代碼以提升的權限執行。

+0

您是否嘗試過運行** **的netsh,與它的參數,直接在目標計算機上的命令PROMT?據我記憶,當捕獲錯誤時,Process'功能有限。 –

回答

0

問題是目標計算機是德國人,每個人都是「傑德」。我不得不使用它與下面的代碼之前,動態地找到每個人的名字:

var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null); 
var account = (NTAccount) sid.Translate(typeof(NTAccount)); 
string everyoneName = account.ToString();