Blackberry

管理 BES 軟體配置

  • June 29, 2011

我在 OTA 部署我們編寫的定制應用程序時遇到問題。我已經閱讀了其他地方的大量執行緒,並且得到了不同的幫助,但對於我的特殊情況,這些都沒有真正幫助。所以我想我會解釋我的確切情況並嘗試在這裡獲得一些幫助。

我正在為 Microsoft Exchange 執行 BES 版本 4.1.5 (Bundle 79)。我們編寫的應用程序分為我們控制的 5 個模組和另外 4 個模組,它們是我們需要的 3rd 方庫。因此,對於我們的模組,版本號會定期更改,但對於其他模組,它們幾乎總是保持不變。

我們設置了一個 alx 文件,可以辨識所有需要的文件,事實上我能夠創建軟體配置並毫無問題地部署應用程序。然而,我想做的是在 BES 上維護我們應用程序的多個版本,並能夠選擇我想要部署給每個使用者的版本。我已經嘗試了很多方法(正如我所說,我已經閱讀了很多其他執行緒來解決這個問題),但每一個似乎都有自己的問題。

首先,我嘗試為每個版本的應用程序創建不同的配置,但是因為它們都有相同的應用程序 ID,BES 告訴我我不能這樣做。

我在某處讀到,解決方案是創建第二個共享文件夾(例如 \Program Files\Common Files\RIM)並將 apploader 內容和應用程序的新版本添加到此文件夾。然後我可以創建具有相同應用程序 ID 的第二個軟體配置。這個結果似乎很有希望開始。當我更改分配給使用者的配置時,新版本被很好地推出。但之後 BES 報告設備狀態無效,這意味著我無法推送任何其他內容,直到我重新啟動設備。我猜這是因為第一個配置從未設置為不允許,因此沒有刪除舊版本,並且設備基本上報告它安裝了同一應用程序的多個版本。

我得到的下一個建議是更改每個版本的應用程序 ID,例如包括版本號。這意味著應用程序的每個版本都可以包含在一個配置中,我可以將一個設置為不允許,另一個設置為必需。最初這是可行的,並且部署了第一個版本。但是當我切換(即舊版本被禁止並且需要新版本)時,BES 報告需要升級並刪除舊版本。設備重啟,舊版本沒了,但新版本沒有推出。我檢查了 BES,它仍然說需要升級。我檢查了日誌文件,發現:

[40000] (11/12 09:50:27.397):{0xEB8} {abc@abc.com, PIN=1234, UserId=2}SCS::PollDBQueueNewRequests - Queuing POLL_FOR_MISSING_APPS request 
[40000] (11/12 09:50:28.241):{0xE9C} RequestHandler::PollForMissingApps: Starting Poll For Missing Apps.
[40304] (11/12 09:50:28.241):{0xE90} WorkerThreadPool:: ThreadProc(): Thread released with empty queue
[40000] (11/12 09:50:28.241):{0xE9C} SCS::RemoveAppDeliveryRequests - No App Delivery Requests purged for User id 2 
[30000] (11/12 09:50:28.960):{0xE9C} Discard duplicate module group "name" on device 
[30000] (11/12 09:50:28.960):{0xE9C} Discard duplicate module group "name" on device 
[40000] (11/12 09:50:29.163):{0xE9C} RequestHandler::PollForMissingApps: Completed Poll For Missing Apps, elapsed time 0.922 seconds.

(您會注意到,出於隱私原因,我刪除了實際姓名和電子郵件地址等。但有一個問題:模組組的名稱來自哪裡?在我的情況下,它接近應用程序 ID,但不包括版本號我在最後添加以使其正常工作。該資訊是嵌入在 COD 文件中還是其他什麼東西中??)

所以它報告了設備上的重複模組組?這是什麼意思?我檢查了設備屬性(如 BES 上報告的那樣),它確認具有舊版本號的模組仍然存在於設備上。所以應用程序已被刪除,但沒有模組?我檢查了設備,模組不見了,所以只是 BES 報告它們還在那裡??我檢查了數據庫,它在 SyncDeviceMgmt 表中有問題模組。如果我從數據庫中刪除這些,BES 會更改為報告需要安裝,並且會推出新版本的應用程序。

所以最後,我的問題是:對於如何處理從 BES 升級我們的定制應用程序 OTA 有任何其他建議嗎?或者任何人都可以指出我在上面描述的可能解決我遇到的問題的問題嗎?我想問題是為什麼數據庫在刪除模組後會保持模組在設備上?

感謝您的任何幫助,您可以提供。

因此,解決方案是確保您在 BES 上為每個版本創建的每個配置都必須引用模組的所有不同版本。因此,安裝 v1.0 的配置必須將所有 1.0 模組設置為必需,並將其他版本的所有其他模組設置為不允許。

您必須記住的煩人的事情是,每當您添加新版本時,您都需要返回所有其他配置並添加這些新模組並將它們設置為不允許。

引用自:https://serverfault.com/questions/85829