2012-05-10 159 views
1

我試圖啓動一個進程下一個不同的帳戶(設置StartInfo.UserName /密碼)。錯誤C0000142當啓動一個進程

這適用於交互式運行但失敗時出現錯誤-1073741502(C0000142;「DLL Initialization Failed」),當嘗試從通過任務計劃程序啓動的進程運行它時。

我試着切換到WIN32 API並創建一個帶有STARTUPINFO.lpDesktop =「」的新WindowStation,但是我得到了同樣的錯誤。

更新:我剛剛發現了一個相關的問題,不幸的是它也缺少一個答案:Permissions problem when starting .NET app from .NET service as a different user?

回答

1

我能得到它的工作使用CreateProcessAsUser從herehere加入LoadUserProfile。

如果沒有LoadUserProfile,很多工具都無法工作,因爲它們需要主目錄(例如svn.exe和mstest.exe),所以會出現奇怪的錯誤。