首先打開你好,感謝多次在這裏搜索幫助了我或教了我一些東西。競爭對手的應用程序安裝到我的相同文件夾,無需管理員授權
我爲我玩過的遊戲製作了自定義平視顯示器,並且正在使用C#中的一個安裝程序,受到另一個HUD啓發,以獲得相同的遊戲。它下載並覆蓋所有的腳本文件,以現有的目錄:
C:\Program Files (x86)\Steam\steamapps\me\team fortress 2\tf
[我沒有對哪個文件夾到不幸使用任何控制,因爲我修改其安裝的閥文件]
在爲了刪除文件夾,添加文件夾,或複製文件,我不得不使用清單應用程序的每一個exe文件啓動時間增加用戶權限:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
不知何故,安裝程序我已經被激發正在安裝到我所在的同一個文件夾,而沒有任何forcin g UAC提示。
他的應用程序只顯示一個安全警告,但如果我取消選中「總是檢查」複選框,我可以無需驗證任何特殊權限一遍又一遍運行:
HTTP://www.trishtech如何使我的應用程序更加無縫像他的任何建議?我已經聯繫了另一個應用程序的作者,他說他也使用C#編寫的應用程序, ,但不知道他在做什麼特別的事情。
編輯:我知道幾件事w e're不同的方式來做,以防他們做出莫名其妙的差異:
- 我使用一個文件瀏覽器來決定在哪裏把我的文件,這樣應用程序可以在任何地方運行。
- 他只是將它們輸出到與exe相同的目錄中,要求將exe放在目標文件夾中。
- 我正在使用ILMerge將SharpZipLib與我的應用捆綁在一起。
- 他只是把他的zip文件放在exe旁邊。
可能與UAC數據重定向有關:http://windowsteamblog.com/windows/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx – Simon
要寫入'Program Files',你需要提升。大多數情況下,其他應用程序實際上不會寫入「Program Files」,而是寫入虛擬化程序文件。檢查文件是否真的被其他應用程序修改過。同時檢查VirtualStore:'C:\ Users \%USERNAME%\ AppData \ Local \ VirtualStore',文件的_「updated」_版本很可能在'VirtualStore'中。 –
這些都是一些非常有趣的話題來看看,謝謝 – appski