2015-05-25 58 views
0

我已經開發了一個windows mobile app使用c#compact framework 3.5。我實現了這樣的自動升級功能,如果新版本發佈,我的應用程序下載新版本,卸載現有版本並安裝新版本。這工作正常。自動更新期間保留現有文件C#

我需要在自動升級期間完成以下操作, 安裝新版本後,我需要保留舊版本應用程序中的一些用戶修改的xml文件,並替換新安裝的應用程序中的相同文件。我需要保留新安裝版本中的現有設置xml文件。如何在compact framework 3.5中執行此操作

+0

你在哪裏存儲設置xml文件?也許將其移動到文檔文件夾或其他地方的子文件夾中? – irreal

+0

如何安裝原始應用程序和更新?通過CAB文件,或者只是單個文件? – ctacke

+0

@ctacke我正在通過CAB文件安裝和更新應用程序。 – user2681579

回答

1

卸載CAB後,它所安裝的所有文件都將被刪除。有三種常規方法可以規避應用程序數據文件的行爲:

  1. 讓您的應用程序首先創建數據文件,而不是CAB文件。如果CAB不放置該文件,則不會將其刪除。這是不需要種子數據的配置和數據庫的常見機制。
  2. 重命名或移動要保留的文件。如果CAB安裝程序找不到文件,則無法刪除它。您可能會用「假」名稱發送您的數據文件或任何您想保留的文件,並在應用程序運行時查找假冒名稱的文件並將其重命名爲您想要的名稱。如果您想要通過某些應用邏輯,這也提供了實際更新文件的功能。
  3. 創建一個custom setup DLL(在C中)並在Uninstall_Init函數中執行某些操作以移動或阻止刪除,然後將該DLL包含在CAB文件中。
相關問題