2012-01-18 23 views
0

我爲我的商業軟件使用Microsoft Access(.mdb)數據庫。最近我注意到很多來自用戶的反饋,說他們安裝後無法打開軟件。訪問(.MDB)部署問題 - Windows 7 - 與管理員用戶一起安裝?

基本上,我將數據庫存儲在user \ appdata \ local \ myfolder路徑中。考慮到這些用戶在Windows 7機器上的情況,如果用戶試圖安裝軟件(沒有管理員權限),那麼他必須輸入管理員的用戶和密碼,這使得Inno安裝程序將數據庫安裝在管理員用戶的本地文件夾中,而不是登錄用戶的本地數據文件夾。

因此,安裝後,我的軟件無法找到數據庫,因爲它存儲在管理員用戶的本地數據中,而不是登錄用戶的本地數據文件夾。我使用Environment.SpecialFolder.LocalApplicationData在c#中爲當前用戶查找localappdata文件夾。

我不認爲有任何其他文件夾,我可以存儲數據庫的讀/寫權限。程序文件文件夾不適合。

什麼可能是最好的解決方案呢?

預先感謝您。

+0

我正在嘗試使用commonappdata常量的programdata文件夾...它應該工作,我認爲... – ReflectionSoft 2012-01-18 12:32:06

+0

它不工作,因爲不是每個用戶都有寫入權限programdata文件夾... :( – ReflectionSoft 2012-01-18 12:55:31

回答

0

我以類似的方式分發Access數據庫,它最好的地方是:

C:\User\Username 

用戶應該對自己的文件夾的有寫屬性,如因任何原因,他們不那麼的權限設置應修訂。

因此,不是在C:驅動器上有一個副本,而是爲每個單獨的用戶保存一個副本。更好的是,如果用戶擁有一個個人共享空間,可以通過他們登錄的任何機器訪問該映射爲網絡驅動器的個人共享空間。

+0

行。我將我的.mdb文件存儲在users \ appdata \ local文件夾中,如果每個用戶都安裝了它,那麼會有多個副本,這對我的程序來說是毫無意義的。 – ReflectionSoft 2012-01-18 14:50:15

+0

現在我想我會在用戶通過管理員安裝時顯示警告他不是,如果軟件無法找到他的文件夾中的數據庫,我會要求一個位置,而不是顯示錯誤信息 – ReflectionSoft 2012-01-18 14:51:57