2012-07-12 14 views
6

我有一個程序使用註冊表保存最近打開的10個文件。有一次,我試圖將它們保存在本地機器中,但決定將它們保存在當前用戶中。在試圖讓所有東西都起作用的過程中,我創建了一個清單來強制程序以管理員身份運行,而我不再需要這個清單。我遇到的問題是我似乎無法刪除要求。如何刪除C#中的「以管理員身份運行」要求

我有.... 已將項目屬性更改爲「創建沒有清單的應用程序」,添加了一個名爲app.manifest的新項目,默認爲asInvoker並更改屬性以使用該清單,將任何具有該單詞在文件名中顯示。

這些嘗試都沒有奏效。該程序仍然以管理員身份運行。我一定錯過了一些東西,但我不確定是什麼。

這裏是在app.manifest

<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
    </requestedPrivileges> 

感謝您的幫助!

Gary

+0

從項目中刪除清單文件。由於您向我們提供了非常少的細節,您顯然做錯了什麼,不知道該怎麼建議。您是否嘗試過簡單編輯當前版本和/或重新創建解決方案? – 2012-07-12 17:46:32

+0

代碼示例如果你添加了一些東西,你肯定可以刪除它,除非你不明白你在C#代碼/功能方面首先添加的是什麼 – MethodMan 2012-07-12 17:47:28

+2

我不確定你想要什麼代碼一個樣本。正如我在原始問題中所述,我通過更改項目設置來刪除項目清單,或者至少這是我的意圖。 – Gary 2012-07-12 17:54:50

回答

8

查看屬性文件夾中的app.manifest文件。刪除以下行:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

添加以下行,而不是這樣的:

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

如果這沒有幫助,首先確保您還刪除從斌\ Debug文件夾清單文件。僅僅從解決方案中刪除它並不會有幫助,因爲該文件可能仍然在輸出文件夾中可用。

這就是爲什麼我認爲你不應該從項目中刪除清單文件,但改變它,它按預期工作。

+0

感謝您的回覆! Debug目錄中沒有清單文件。我更改了項目屬性以使用app.mainfest(我更新了原始問題以包含相關行)並重建了項目,並且仍以管理員身份運行 – Gary 2012-07-12 18:21:34

+2

隨着我繼續前進編碼,並在完成您所建議的任務後,我不再有問題。自從添加app.maifest以來,我已經編譯了幾次該程序。第一次看,看看這個要求是否仍然存在。我不知道什麼時候改變,但謝謝! – Gary 2012-07-13 21:10:32

2

雖然這個問題現在已經超過一年了,但我正在回答它,因爲它可能會保存一天。

如果您已將應用程序配置爲以管理員模式運行,並且現在要撤消這些權限,則需要執行以下步驟。

變化

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

鼠標右鍵點擊你項目 - >清除您的解決方案 - >重建您的解決方案,就是這樣。

+0

你是從哪裏改變的?我的安裝項目沒有App.config可能性添加一個。我在任何地方都能看到這個「答案」,但沒有解釋如何創建app.config/manifest。 – ExtremeSwat 2015-08-05 12:46:08

+0

爲什麼你不能添加一個?你在做什麼樣的項目?這是一個勝利形式的應用程序? – Ehsan 2015-08-07 00:12:58

相關問題