我們創建了一個安裝程序(Nullsoft的安裝系統v2.46),其安裝應用程序,加一些(嵌套)數據的目錄,其中包括讀/(文本)數據寫入文件從安裝的應用程序訪問。Nullsoft安裝程序,Win7,如何安裝讀/寫數據目錄?
一切正常,在WinXP:應用程序加載和文件可以讀/從安裝目錄下嵌套的數據目錄寫入。
但是,安裝在Win7/64上時,作爲安裝的一部分創建的數據目錄是隻讀的。因此,應用程序加載數據文件,但無法覆蓋它們(因爲它們駐留在安裝目錄下的只讀數據目錄中)。
是的,因爲這是Win7-64bit,數據目錄恰好位於:
C:\Program Files (x86)\MyApp\MyDataDir0
據我瞭解,Win7的是比以前WinOSes(出於安全原因),它的安裝政策更加嚴格。
問題:我們應該使用什麼機制來確保這些數據目錄是可讀/寫的,並且在安裝過程中,它們中的(文本)數據文件也是可讀/寫的?
這些數據文件不是用戶特定的,它們意味着該程序運行所需的數據。 (沒有它們,程序是無用的。)邏輯上,它們是「程序系統」文件,雖然我們可以合理化它們代表程序使用的「可擴展數據集」(因此它們必須是讀/寫)。
爲了簡化和一致性,我們真的更願意用安裝程序解決這個問題,而不是在程序中改變目錄/文件權限。我們希望這些數據存在於應用程序的安裝位置,而不是某些C:/Users/Default/
。或C:/ProgramData/MyApp/.
目錄。
是我們的數據顯示目錄,下的應用程序安裝目錄對Win7的政策「讀/寫」的興趣? (我們是不是應該在那裏安裝它們?)
感謝您的建議將其安裝到'的%ProgramFiles%',並複製到'%APPDATA%' - 我們討論和決定這樣做。 (有點奇怪,該程序在XP和Win7上查找文件的方式不同,但我想這就是生活......) – charley