我維護一個將其數據(訪問文件)存儲在應用程序文件夾的子文件夾中的VB6應用程序。因此,當用戶將應用程序安裝到默認位置C:\Program Files\MyApp
時,數據將在虛擬存儲區中結束。我現在已經被賦予了將1000個左右的App.Path語句轉換爲不存在任何安全問題的Data文件夾的路徑。有人可以幫我指出一些資源,將spoonfeed我如何處理Users\< Username>\AppData\Local\
文件夾中的數據?
我應該使用本地的AppData文件夾,還是可以讓用戶選擇合適的位置?將VB6的數據文件夾移出程序文件
3
A
回答
0
一個有用的討論可參見here
1
我會使用本地應用程序數據文件夾:如果我們假設一對夫婦的事情
Dim sAppData As String
sAppData = Environ("USERPROFILE") & "\AppData"
2
好:
- 這僅適用於Vista或更高版本的問題。
- 您的數據是在子文件夾,在App.Path下。
...我有一種解決方法可以使用。
請注意,我只使用這個技巧,當我有一堆舊的VB6程序被寫入使用App.Path下的文件夾中的數據,這種快速而骯髒的黑客攻擊可以讓很多程序快速運行。我幾乎總是添加或更新應用程序清單,主要是爲了防止虛擬化。
我所做的更改:
- 添加一些代碼爲Sub Main(插入副主如果程序不已經有一個)。
- 將兩個Class模塊(由新的Sub Main代碼調用)添加到項目中。
當新的計劃部署,在Vista或更高版本的程序必須運行一次以管理員身份。在我的加載項代碼的最新版本中,如果需要,程序將提示用戶重新運行它,並在確定後自動終止。
第一次運行時一切都應該是沒說的後,運行就像對的Win2K,XP等
下,需要提升提供所需的App.Path子文件夾列表此啓動代碼到PathLinks類。
Pathlinks在Public專用文件夾下創建一個程序文件夾,然後爲其下的數據創建匹配的子文件夾。接下來,它將這些App.Path子文件夾中的任何文件和子文件夾移動到新的位置。最後它創建符號鏈接到App.Path下的新文件夾。
如果在Vista之前的Windows下運行,PathLinks僅創建任何尚未存在(即安裝)的App.Path子文件夾列表(在App.Path下)。
從這裏開始,程序會在新位置找到這些文件,根本不需要修改它對App.Path的使用。
兩個加載項類之一是整型,你可以刪除它。它只是讓啓動代碼調用TaskDialog而不是使用MsgBox調用。
一定要向下滾動用於張貼在PathLinks - Tame App.Path Under Vista+
注意,示例項目跳過運行應用程序時,它說:「第一次提升」絕招最新版本。它只是在重新定位數據和符號鏈接之後在Sub Main中執行Exit Sub。
相關問題
- 1. 將文件從一個文件夾移動到VB6中的其他文件夾
- 2. Zend - 將文件從應用程序文件夾中移出
- 3. 將委託文件移出文件夾
- 4. 根據文件數量將文件從文件夾移動到新文件夾
- 5. 將解鎖文件移動到新文件夾的程序
- 6. ios:將數據文件同步到應用程序文件夾
- 7. 創建和刪除文件夾。將文件移至文件夾並將文件移至文件夾以外
- 8. 根據CSV數據將文件夾移動到另一個文件夾
- 9. 將config.php移出www文件夾
- 10. 將文件從子文件夾移動到父文件夾中
- 11. 如何將文件從子文件夾移動到文件夾
- 12. 將文件從tmp文件夾移動到永久文件夾
- 13. 將文件從文件夾移動到文件夾
- 14. 將文件從子文件夾移動到一個文件夾
- 15. 將文件移動到sysdate文件夾
- 16. 的fopen文件中的應用程序數據文件夾(WAMP)
- 17. 將文件夾移動到文件夾中移動
- 18. bat文件將子文件夾中的文件移動到當前文件夾
- 19. 根據文件和文件夾名稱移動文件夾中的文件名
- 20. bat文件根據文件名將文件移動到月份文件夾
- 21. 如何監控文件夾並將文件移出?
- 22. 刪除文件和程序文件夾的文件夾
- 23. 如何將數據庫移動到我的應用程序文件夾
- 24. 將文件夾中的文件和文件夾移動到另一個文件夾的批處理文件
- 25. 如何保存文件應用程序數據文件夾
- 26. 如何防止`debuild`將'etc`文件夾移出已配置的`--prefix`文件夾?
- 27. 將文件夾移動到與VBS不同的文件夾
- 28. Windows腳本根據名稱將文件移動到文件夾
- 29. 將文件夾從測試文件夾移動到我的public_html活動文件夾後出現這些錯誤
- 30. VB6應用程序編譯的文件
差不多的副本[這個問題](http://stackoverflow.com/questions/4273424/where-should-i-store-application-specific-settings) 。在Bob Riemersma和Cody的幫助下查看[接受的答案](http://stackoverflow.com/questions/4273424/where-should-i-store-application-specific-settings/4275821#4275821)灰色 – MarkJ 2010-12-20 09:53:54
我經歷了這個確切的問題。你有我的同情心。請注意,App.Path不一致,因爲它爲根返回'C:\',但省略了其他目錄的最後一個'\'。我們爲它創建了一個shell函數。這很可能永遠不會成爲一個問題,但很好意識到這些問題。 – jakdep 2010-12-20 11:05:38
@MarkJ:這個問題確實與其他人的精確重複是如此雄辯和優雅地回答。我會投票結束這一個。 – Dabblernl 2010-12-20 15:38:33