2011-06-06 35 views
5

我有一個與MySql服務器交談的前端Access 2007應用程序。如何自動更新MS-Access 2007應用程序

我想要一個功能,用戶計算機上的應用程序可以檢測到網絡上有新版本(這並不困難),並將最新版本下載到本地驅動器並啓動它。

有沒有人有任何知識或經驗如何做到這一點?

感謝

回答

5

你真的需要需要找出是否有更新的版本?

我們也有類似的設置,我們只是每次都複製前端和所有相關文件有人啓動應用程序。

我們的用戶不啓動Access或前端本身。他們真正開始一個批處理文件,它看起來是這樣的:

@echo off 
xcopy x:\soft\frontend.mde c:\app\ /Y 
c:\app\frontend.mde 

當我們開始寫我們的應用程序,我們想到了自動更新,以及和決定,只是複製一切每次就足夠了。

我們有足夠的帶寬,所以複製不會產生任何性能問題(約200名用戶)。

另外,當我確信每次啓動應用程序時,前端都會被覆蓋,這使得我作爲開發人員更容易一些。
我不必關心在關閉前端時自動壓縮前端(以及用戶抱怨關閉應用程序需要很長時間......),並且在崩潰後我不必處理損壞的前端。


@Lumis - 關於自定義圖標:
好吧,也許我應該讓這更清楚。只有一個批處理文件,並且它位於與前端相同的網絡文件夾中。
用戶的桌面上只有鏈接,它們都指向網絡文件夾中的同一批處理文件。
這意味着:

  1. 批處理文件未來的變化很容易,因爲它只是一個單一的 文件中的一箇中心位置
  2. 我們可以更改圖標,因爲 什麼用戶看到的是一個正常的Windows鏈接

(順便說一句,我們確實不變化圖標。我們的應用程序僅供內部使用,而且我在一家制造公司工作,這意味着只有極少數用戶絕對不是技術人員,並且不會在乎圖標,只要所有機器上的相同他們知道它是怎麼樣的,所以他們可以在桌面上快速找到它...)

+0

該解決方案有效,但我無法將自定義圖標分配給批處理文件,這對於更加用戶友好和專業的外觀至關重要。我同意,當用戶每天啓動一次數據庫時,數據流量不會太大。 – Lumis 2011-06-06 15:36:37

+3

爲什麼你首先考慮自動壓縮(緊密關閉)FE?如果您的應用程序對臨時數據或用戶特定數據使用本地表,請將它們放在單獨的本地數據庫中,並鏈接到FE中的這些表。看起來非常不尋常,你會有任何其他原因來壓縮MDE FE。無論如何,避免自動壓縮。 – HansUp 2011-06-06 15:40:17

+0

@HansUp:是的,只因爲本地表。雖然好點,但我們從未想過將臨時表放入單獨的本地數據庫中。 – 2011-06-06 15:46:51

2

託尼·託斯有一個:Access Auto FE Updater

這似乎是免費的,但我不是100%肯定。

+1

是的,它的免費和相當不錯,我推出了我自己的使用相同的想法之前,我發現了一個 – 2011-06-06 15:00:12

+0

我不知道這是如何工作,我必須每次有更新電子郵件用戶或他們只是點擊桌面上的相同鏈接,最初由該實用程序生成? – Lumis 2011-06-06 15:07:07

+0

Free in b ** r - no。這是15天后的嘮叨。 – BIBD 2011-06-07 17:29:24

0

Lumis的選項是穩定的,但是如果你想檢查版本,並且只有當它們是新版本時才複製數據庫,在後端表中有'版本'字段,在前端模塊中有'版本'常量。保持這些與每個新的生產版本同步。當前端數據庫的主窗體打開時,將表格版本與模塊中的版本進行比較。

如果它們不匹配,請關閉數據庫,但讓數據庫調用一個批處理文件作爲它關閉時運行的最後一個代碼位。數據庫應該在批處理文件開始複製之前完成關閉。如果需要,請在批處理文件代碼中稍微加一點延遲,以確保沒有文件鎖定問題。