2014-06-15 53 views
-2

我有一個XNA遊戲,併爲它創建了InstallShield安裝程序。遊戲將數據保存到安裝位置的多個txt文件中。這是工作沒有任何問題使用調試器或只是從bin文件夾運行。但是一旦安裝,我需要編寫首選項的txt變成只讀,所以每次嘗試寫入文件時都會崩潰。我該如何解決這個問題?更改通過安裝創建的只讀文件

+0

我不能看到在這個問題有足夠的信息給任何形式的答案。請添加更多詳細信息。 – paqogomez

回答

0

是的,這是設計,我同意設計。系統上可能有多個用戶,並且您正在進行系統範圍的軟件安裝,因此每個用戶都可以獲得。這些用戶不應該也可能不想分享遊戲保存。

您應該將遊戲安裝到每個用戶的位置,或者您應該將保存的數據從您的可執行文件所在的位置移開。無論您選擇哪一種,您都可以解決您現在遇到的問題。

+0

只有當文件位於與可執行文件相同的文件夾中時纔會發生這種情況嗎?或者我可以將它們放在exe文件夾旁邊的文件夾中嗎? – user26830

+0

@ user26830當程序嘗試保存用戶沒有寫權限的地方時,會發生這種情況,並且它獨立於可執行文件所在的位置。如果可執行文件位於%PROGRAMFILES%\ YourGame中,並且保存數據位於%PROGRAMFILES%\ YourGame中,則用戶通常無法寫入該文件。如果可執行文件位於%PROGRAMFILES%\ YourGame中,並且保存數據位於%PROGRAMFILES%\ YourGameData中,則用戶通常將無法寫入該文件。爲什麼不將遊戲數據存儲在%APPDATA%\ YourGame中? – hvd

+0

這就是我剛纔所做的,完美的工作,我只是好奇系統是如何工作的。非常感謝。 – user26830