2010-08-31 69 views
1

我用MS Access數據庫製作了一個軟件,存儲在Program Files中,我無法更改數據庫中的數據,因爲它保存在Program Files中。它在其他位置工作,但我需要Program Files中的數據庫。如何更改程序文件中保存的ms訪問數據庫中的數據?

它說:「這個數據庫已被打開爲只讀。」

有誰知道如何解決這個問題?

回答

2

使用Inno Setup創建Access數據庫文件的安裝,以便像David指出的那樣安裝用戶應用程序數據文件夾。 Inno Setup第三方文件頁面是非常有用的增強功能列表。我一直很高興地使用ISTools來幫助創建安裝程序。當您使用ms-access-2007標記您的問題時,您可以使用免費的Access運行時作爲可執行部分。

Sample inno script which checks to see if a version of Access is installed.如果不是,它會告訴您安裝Access的運行時版本。如果安裝,它會繼續安裝您的FE MDE和其他各種文件。'

Sample inno script which "wraps" the package wizard install into a single .exe

Deploying updates to your software in a Runtime environment for Access 2007

2

默認情況下,程序文件夾對於用戶級登錄是隻讀的。你不說你的Windows版本,但對於Vista/Win7,這是一個問題。您必須將應用程序的快捷方式設置爲以管理員身份運行,或更改文件夾的權限以允許寫入權限(除非關閉Orwellian SIMPLE FILE SHARING,否則無法執行此操作)。

儘管將Access應用程序視爲程序文件是合乎邏輯的,但Access模型會打破該邏輯模型,因爲它必須是可寫的。任何Access應用程序的唯一適當位置(實際上是Windows 2000以來)是%AppData%環境變量指向的文件夾。

+0

我現在明白了。從現在開始,每做一個安裝工具包,應用程序將位於程序文件中,數據庫位於應用程序數據文件夾中。謝謝 – DaJackal 2010-09-10 10:42:07

+0

不,這是錯誤的。您不能將Access應用程序MDB/ACCDB放入程序文件夾中,因爲程序文件夾是隻讀的,並且前端MDB/ACCDB必須是可寫的。您必須將前端和後端文件都放在用戶的配置文件中。 – 2010-09-10 18:53:19

0

這可以通過設定[DIRS]文件夾,以允許讀/賴特訪問來完成

[DIRS] {應用}; Permissions:everyone-modify

說到這裏,我同意大衛,你可能會考慮安裝在不同的位置。

相關問題