2012-08-31 23 views

回答

2

你所描述的是'一鍵發佈'。

當你從'一鍵'運行應用程序時,它實際上是從一個臨時文件夾(通常在C:\ Users \?\ AppData)運行的,你可以通過查看任務管理器(屬性下)來告訴它。

這樣,當應用程序更新時,新的安裝文件從一個全新的位置運行,看起來應用程序正在從服務器上運行(它不是真的,它只是下載客戶端文件)。

數據庫文件不同。如果您希望用戶擁有自己的本地客戶端數據庫,那麼在Visual Studio中引用解決方案文件中的數據庫將確保只需單擊一次即可複製數據庫。 不過由於我在第一段中的解釋 - 每次應用程序更新時,都會複製一個新數據庫,並且上次部署中創建/更新/刪除的所有數據庫記錄都將丟失。

更常見的方法是通過「One-Click」部署客戶端文件,並將數據庫託管在服務器上,客戶端通過App.config中提供的連接字符串進行連接。因此,您只需要維護一個數據庫,並且任何客戶端更新都不會混淆數據庫版本。

+0

謝謝帕特里克。我目前計劃的應用程序結構是讓服務器每天運行一次主要數據處理例程,存儲在「主」數據庫中,然後運行客戶端應用程序的每臺遠程PC都有一個「簡單」數據庫,用於存儲之前計算的數據。對我來說,讓我的服務器和遠程版本的應用程序更新,同時保持現有數據庫文件不變的最佳方式是什麼? – Anonymous

+1

恐怕我還沒有嘗試過這種情況下,http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/ac6db89a-67c1-4c67-86f6-f405431d6cdd可能是有用的閱讀。基本上你想在這裏做的是確保數據庫文件在更新時不被覆蓋。您可能需要在您的應用程序的C:\ Program Files \中設置一個文件夾,並確保數據庫安裝在那裏,並且app.config中的連接字符串鏈接到該絕對目錄引用。 –

+0

非常感謝,非常感謝您的幫助。 – Anonymous