2010-06-09 46 views
3

我將此標記爲社區wiki,因爲我並不是真的在尋找一個完整的答案。因此,如果您想發佈一兩件事情來激活UAC提示,而不是全面的列表,請繼續。什麼操作需要Windows中的UAC提升?

Windows中的哪些操作將激活UAC?我想盡可能避免它,因爲我的應用程序不需要管理員權限。我相信很多其他人都想避免它。

具體來說,我想知道如果從註冊表中讀取將激活它。或寫信給它?
你不需要解決上述問題,任何能激活它的東西都是公平的遊戲。

對於UAC的任何事情,真的很難,因爲你會受到關於如何禁用它的文章的轟炸。我寧願不讓我的應用程序假設UAC被禁用。

+0

你沒有打勾的CW框。這也是一個SU問題,而不是SO問題。我會標記一個mod來遷移。 – Pops 2010-06-09 15:53:45

+0

謝謝,我以爲我點了它。我覺得這對於SO來說更好,因爲我希望我的程序能夠避免它,但是SU也可能適合。 – jonescb 2010-06-09 15:56:44

回答

4

沒有「激活」UAC。

如果您的應用程序無法在Windows XP下作爲標準用戶運行,它將無法以標準用戶身份在Windows Vista或Windows 7下運行。

你真正要問的是:什麼動作可以標準用戶不能在Windows下執行?

標準用戶無法做的事情是衆所周知的(自Windows 2000以來它們一直是相同的)。主要的有:

  • 任何修改在HKEY_LOCAL_MACHINE
  • 任何修改在Windows目錄
  • 任何修改在Program Files文件夾

如果你嘗試做任何他們所將失敗上:

  • Windows 2000
  • 的Windows XP
  • 的Windows Vista
  • Windows 7的

沒有人應該已經運行爲一天到一天的電腦使用的管理員。如果您的應用程序在Windows XP中執行了任何這些不好的事情,它將會失敗。用戶還必須是:

  • 登錄(或者快速用戶切換),以管理員
  • 執行管理任務
  • 切換回自己的真實賬戶

UAC是便於學習機制,讓你輕鬆暫時切換到管理員。你做什麼都不會「觸發器」它;你必須做到這一點。

如果你知道你的代碼需要修改一個文件中C:\Program Files\My App\Data,就應該添加您的表單上的按鈕,將觸發高程。

然後,您需要啓動程序的(升級)副本,執行此操作並關閉。

0

我創建了一個launch4j安裝程序(java程序的exe包裝器)並將其命名爲「MyApp.exe」。它不需要任何管理員身份驗證。它運行良好,沒有任何UAC提示。

但是:如果我將此安裝程序重命名爲「install.exe」或「setup.exe」,則會顯示UAC圖標,並在啓動安裝程序時收到UAC promp。

好像文件名中有一些「保留字」會導致窗口啓動具有提升權限(UAC)的程序。

+0

有沒有人有這方面的來源? – 2017-08-18 14:05:05

相關問題