2011-05-02 44 views
0

我有用C#編寫的Windows服務。此服務會產生大量MTA線程。在每個線程中,一個進程外COM類被實例化。我將服務設置爲以當前用戶身份運行(添加適當的登錄憑據)。當服務啓動時,它從任務管理器顯示它正在作爲我的用戶運行。如果該服務檢查本地漫遊用戶目錄,它將按照預期返回我的用戶目錄。當我的COM類作爲進程外exe運行時會執行此檢查,它會在Windows \ System32 \ Config \ systemprofile \ AppData \ Roaming中返回一個路徑。Windows服務啓動Out of Process COM服務器 - CSIDL_APPDATA作爲不同的用戶路徑返回

任何人都可以對這裏發生的事情有所瞭解,更具體地說,我怎樣才能讓流程服務器作爲服務用戶運行。我已經檢查了任務管理器,根據任務管理器,exe作爲與服務相同的用戶(在同一會話中)運行。

不知道,如果操作系統是一個因素,但我已經看到了這兩個Vista的32(SP2)和Win7 64(SP1)

回答

1

你可以得到服務器的使用RunAs特定帳戶運行。不是非常靈活,但似乎在這裏做你想要的。