2011-05-24 92 views
1

好的...我們可以在應用程序目錄中創建一個文件夾(數據)並將數據庫粘貼在那裏的VB6日過去了(c:\ program files \ myApplication \ Data \ MyAppData.s3db)。我不想用Sql Server使用vb.net!在.Net中,我知道特殊文件夾和User Application Data文件夾。如果我將這種類型的文件夾添加到我的包和部署項目中,幷包含作爲我們空白數據庫的文件,則該文件夾將被創建,並且數據庫將不在其中。如果我使用「應用程序數據」文件夾,則由於文件夾和所有子文件都是隻讀文件,所以我放棄了寫入功能。我卡住了。我無法在代碼中的C:\ Program Files(x 86)中創建一個新文件夾,然後通過爲每個表運行創建表查詢從頭開始創建數據庫。什麼是好的應用程序部署?似乎沒有人能爲此答覆。任何幫助,將不勝感激。使用Sqlite DB部署VB.Net Winforms應用程序

回答

0

如果我使用的應用程序數據文件夾,我失去[原文]寫能力爲文件夾和所有子文件是隻讀

有是隻讀的,獨立的所有用戶Application Data文件夾每個用戶的Application Data文件夾。每個用戶的應用程序數據文件夾是而不是只讀—你可以寫給他們。

我通常所做的是將一個空白數據文件部署到我的Program Files文件夾中,並在用戶第一次運行我的應用程序時將此文件複製到用戶的App Data文件夾中。

+1

這適用於基於每個用戶的數據庫的正常工作,但是如果我們想要像許多其他應用程序一樣在多個用戶中使用數據庫呢?仍在尋找使用NSIS腳本。 – Sean 2011-05-27 17:25:52

0

對於非管理員用戶,全局應用程序數據文件夾是隻讀的。但每個用戶都有自己的應用程序數據文件夾,您可以一定寫入該文件夾,並且是存儲應用程序特定數據的首選位置。不幸的是,這些文件夾默認是隱藏的。

+0

我明白UAC的所有特性......我們正在做的是編寫一個使用SQLite DB的應用程序。我們希望將這些數據訪問到多個用戶。這違背了UAC目前的政策。我正在研究編寫我自己的NSIS腳本,以便我可以繞過使用包和部署項目來安裝應用程序。 – Sean 2011-05-27 17:24:24