2011-09-09 29 views
2

我寫了一個WPF應用程序。 在客戶端計算機上安裝它時,會提示用戶輸入用戶名和密碼,以便他們具有使用該應用程序的管理員權限。運行帶有管理高程的WPF應用程序WIX

我需要管理員權限,因爲我的應用程序打開端口並將文件寫入文件系統。

是否有可能允許任何用戶不會被提示輸入管理員用戶名和密碼,並提升以管理員privleges運行應用程序運行應用程序?

感謝

回答

0

當安裝您的應用程序,如果安裝程序已被標記爲管理員執行它會提示管理員權限。這通常只在您想要安裝到多個用戶可用的位置時才需要,例如在Program Files文件夾層次結構中。默認情況下,MSI會提示UAC提示,但很容易到make an MSI with WIX that doesn't raise a UAC prompt

當您的應用程序運行時(由沒有管理員權限的用戶),它會詢問管理員權限,如果應用程序本身已被標記爲管理員執行。這部分在您的控制之下,但可以由客戶端計算機上的用戶覆蓋。

寫入到文件系統文件夾,不需要管理員權限,只要運行該應用程序的用戶有權這些文件夾的應用程序。通常,您可以通過寫入可供每個用戶訪問的位置來完成此項工作。

但是,我相信,打開一個端口也需要管理員權限,如果應用程序是做什麼比查詢統計信息等等。

如果您的應用程序確實需要運行的管理員權限,而你不想讓你的非管理員用戶程序執行過程中看到UAC提示,那麼我建議你把你的應用程序分爲兩個部分。

,第一部分是一個特權用戶如LocalSystem下運行,並配置與桌面程序進行交互Windows服務。該服務執行所有與管理相關的任務,並且需要由請求管理員權限的安裝程序進行設置。

第二部分是沒有做任何特權的WPF程序。如果您將此WPF程序標記爲不需要提升,則最終用戶在運行時不會看到UAC提示,因爲所有特權工作都是由始終運行的服務完成的。

+0

我如何不標記爲管理員執行安裝程序......我有一個app.manifest在哪裏設置 不知道如果這樣做什麼 – TheWommies

+0

@Allen,我已經更新了我的答案,以包含回覆您評論的鏈接。 – RoadWarrior

相關問題