如果我將我的應用程序安裝到程序文件中,它是否總是能夠在其安裝目錄中創建和寫入文件?它似乎可以在許多不同版本的Windows中工作,但是在哪些情況下這不起作用?安裝到Program Files的應用程序是否有權修改其文件夾?
主要是我使用這種方法進行日誌記錄。如果這不是正確的方法,是否有更好的登錄地點?
注意:我的安裝程序需要管理員權限才能運行,並授予安裝目錄中所有用戶的完全訪問權限。
如果我將我的應用程序安裝到程序文件中,它是否總是能夠在其安裝目錄中創建和寫入文件?它似乎可以在許多不同版本的Windows中工作,但是在哪些情況下這不起作用?安裝到Program Files的應用程序是否有權修改其文件夾?
主要是我使用這種方法進行日誌記錄。如果這不是正確的方法,是否有更好的登錄地點?
注意:我的安裝程序需要管理員權限才能運行,並授予安裝目錄中所有用戶的完全訪問權限。
應用程序不以用戶身份運行,用戶以用戶身份運行。如果您將應用程序安裝到Program Files中,並假設您需要提升權限才能這樣做,那麼當標準用戶運行該應用程序時,那就是需要權限的用戶。
在安裝時,安裝人員需要知道其中它自己的文件需要進行寫入標準的用戶,並設置相應的權限。當然,用戶數據應該是而不是無論如何都在Program Files中。這通常是%appdata%和用戶配置文件的目的。
如果您的應用程序擁有globalsettings.ini或其他任何文件,它們位於「Program Files \ YourApp」中,那麼當您具有管理權限時(即在安裝時),您需要爲所有用戶授予寫入權限以訪問該全局設置。 ini文件。或高級用戶。或者一個組。或者任何對您的應用程序正確。
總之,沒有,用戶沒有對ProgFiles的默認寫入訪問權限,他們也不應該。
是的,有一定情況下這是行不通的,當你的應用程序在Windows 7上運行,例如,或者如果您的用戶帳戶是一個有限的用戶。
我們總是把我們的日誌文件放在一個臨時目錄或一個特殊的文件夾,比如AppData。
我應該提到,我的安裝程序需要管理員權限才能運行,並授予對安裝目錄的完全訪問權限。這是否繞過這些問題? – dan
當然是的。你剛剛回答了你自己的問題。 「我的應用可以完全訪問每個人」,因此,每個人都可以完全訪問。將數據存儲在Program Files中並不是一個好習慣。 – Cylindric