2013-11-22 73 views
0

將應用程序作爲用戶帳戶(具有管理員權限)執行時,所有內容都按預期運行。應用程序被服務調用時的不同行爲

但是,在調用執行相同應用程序的服務時,但從SYSTEM帳戶中,應用程序按照它的設置運行,但它找不到ODBC或打印機驅動程序。要允許該服務調用該應用程序,我正在使用the following code

我會想象SYSTEM帳戶具有完整的權限,並且可以執行管理員用戶帳戶可以執行的任何操作。我可以想到的唯一事情是在將會話從0切換到1時鏈接代碼中發生的事情,以便應用程序可以出現在用戶的桌面上。

問題是什麼?

這是我的服務代碼,它調用ApplicationLoader類,它顯示在上面的鏈接(codeproject.com)中。

protected override void OnStart(string[] args) 
    { 
     try 
     { 
      ApplicationLoader.StartProcessAndBypassUAC("C:\\", "\"C:\\MyApp.exe\"", out procInfo); 
     } 
     catch (Exception) 
     { 
     } 
    } 

回答

1

問題是ODBC和打印機是按用戶配置的。由於您無法以SYSTEM身份登錄,因此您必須通過代碼添加這些連接,或者不使用SYSTEM帳戶,可能只是專用用戶帳戶。

+0

謝謝澄清 - 看起來像我需要一種不同的方法。 –

相關問題