2008-09-18 82 views
3

我剛剛建成使用VS 2008年當我嘗試運行或調試應用程序,Vista的要求得到允許一個VS C++ 6.0程序。這個程序是如何構建的?該項目正在建設中,並從目錄C運行:\開發爲什麼我的程序要求在Vista上運行權限?

This response做沒有意義的,我作爲一個解決問題的辦法。

+0

你是否以管理員身份運行VS?我相信這是必需的 – rjrapson 2008-09-18 18:46:08

回答

3

可能性1:

你的程序被標記爲需要在其清單

可能性2管理員權限:

你的計劃被稱爲SETUP.EXE或INSTALL.EXE - 這樣的節目名稱始終原因需要管理員權限

有關這些以及其他可能性的詳細說明,您爲什麼看到此檢查Getting to Know User Account Control Technet article

1

MVP的談論那些你的代碼和項目運行的用戶文件夾,例如C:\用戶\提供yourname \應用程序數據或一些路徑下。

不要禁用UAC來解決這個問題,否則,除非它已經UAC關閉,應用程序將無法在另一臺機器上運行。這是一個非常糟糕的做法。您的應用程序在完美的世界中應該請求來自用戶的提升權限。

0

如果你不是管理員,那麼你可能沒有權限來執行在C程序:\開發。

1

謝謝Suma。你的反應是最好的,並幫助我達成解決方案。 我確定原因是由您的第一個建議解釋的。將文件重命名爲不包含「setup」這個詞的文件並沒有幫助

原來我錯了,我安裝了VS 2005和VS 2008,當我嘗試打開舊的.dsw文件時,發起並提供升級項目。2005年顯然創造了一個清單與標籤「集結號」只有一條線路,一旦我升級使用VS 2008年更廣泛的清單文件創建項目。我確認清單被嵌入通過檢查清單工具...輸入和輸出我的程序...嵌入艙單,這種新的清單包括以下數據:

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

相關問題