-1

我們有一個.NET平臺調用本機代碼,特別是我們調用LoadLibrary()。這段代碼已經存在了一段時間,但是一位新用戶注意到,當以運行失敗的Windows Server 2008 R2計算機的終端服務用戶身份運行時(顯然是在調用LoadLibrary時)。這種情況發生在以標準用戶身份運行時,而不是以可疑的管理員身份運行時發生。在Windows Server 2003計算機上運行時也可以工作。當從Windows Server 2008上的標準用戶以終端服務運行時,LoadLibrary失敗時調用

現在我們已經測試了在Windows Server 2008 R2機器上運行並且之前沒有任何問題。

我很懷疑UAC在這裏玩。我們讓他們使用Process Monitor,並且當使用控制代碼IOCTL_MOUNTDEV_QUERY_DEVICE_NAME調用DeviceIOControl()時,我注意到INVALID PARAMETER的結果。這也讓我懷疑映射的驅動器,儘管在我的機器上的映射驅動器上運行相同的代碼工作得很好。

任何人都有什麼建議,儘量不要站起來類似的機器,但我們能夠在室內複製這個機會的機會看起來很渺茫。

+0

他們真的是指「以標準用戶身份運行」還是他們的意思是「以管理用戶身份運行但沒有提升」?如果他們確實意味着標準用戶,UAC不參與。 (你是否以標準用戶的身份嘗試過Server 2003?)如果可以將診斷添加到應用程序中,那麼仔細檢查傳遞給LoadLibrary()的路徑以及它返回的錯誤代碼會很有用。 – 2015-01-22 03:30:12

回答

0

對於發現自己處於類似情況的其他人,用戶可以通過更改其軟件限制組策略來解決問題。