2013-12-10 44 views
1

我們有一個.NET應用程序(C#2.0),它放置在網絡共享上並通過用戶PC上的批處理文件執行。.NET應用程序在沒有UAC的情況下從網絡運行

現在用戶可以在他們的PC上進行管理訪問,並且當UAC彈出窗口提示用戶可以接受它並且應用程序將正常運行。

我們的IT團隊決定從本地PC刪除管理員訪問權限。隨着這一變化,我們的應用程序將不再工作。我們無法在所有PC上安裝應用程序,因爲我們希望避免PC +上的額外佔用空間,我們缺少更新過程。

是否有任何選項可以在沒有UAC彈出的情況下從網絡運行? Clickonce是否也適用於.NET 2.0應用程序?

+3

一個更好的解釋爲什麼它需要擺在首位的管理員權限? – Arran

+0

這個應用程序不過是一個工具安裝程序,它指向工具的存儲庫,它將在用戶的本地PC上安裝通用工具 – KK99

+0

你能解釋一下爲什麼UAC彈出窗口是你試圖訪問受保護的目錄嗎?一個敏感的操作系統區域 –

回答

0

Will Clickonce work for .NET 2.0 applications too?是的,它支持ClickOnce是微軟.NET Framework 2.0一個後來的一個組成部分,但是這不會解決你的管理問題,它只是創建一個可安裝自行更新的基於Windows的應用程序和最少的用戶交互運行。

0

根據MSDN的ClickOnce應與.NET 2.0

的工作,請記住,而ClickOnce部署到網絡共享在這種情況下,適當的,將不再需要安裝它不會解決任何行政的管理權限您的程序中可能存在的問題。

0

除非你需要爲你的.NET PROGRAMM管理權限您可以試試這個:

  • 使用runas運行你的程序vom命令提示符。你需要一個密碼。
  • 從您的程序中刪除UAC限制,並確保您的程序的關鍵部分 被執行並具有足夠的權限。這可以通過使用 模擬來完成。你必須提供一個用戶/密碼,但是這將在代碼中編譯爲 。
0

通過設計,從網絡共享運行的每個代碼都不會與「完全信任」策略一起應用。如果從具有IP地址(\ 192.168.0.1 \ SharedFolder \ Application.exe)而不是計算機名稱(\ Server1 \ SharedFolder \ Application.exe)的網絡共享中運行該策略,則會有不同的策略

要解決此類問題,您應該使用CAS(代碼訪問安全性)http://en.wikipedia.org/wiki/Code_Access_Security

總結一下,您可以使用證書籤署您的代碼(應用程序,程序集等)。然後,您的IT支持團隊可以在將運行代碼的計算機中配置,使用該證書籤名的每個代碼都具有一組具有特殊權限(訪問HTTP,SQL Server等)的策略。這樣,從網絡共享運行應用程序就不會有任何問題。如果您需要在不同的應用程序中共享相同的策略,則只需使用相同的證書對其進行簽名即可。

你可以找到IR這裏What is Code Access Security in .NET

相關問題