使用VD2010 Microsoft部署項目(MSI)確保您不會覆蓋文件,如果它已經存在於安裝
我的應用程序有一個數據庫(SDF),客戶使用輸入他們所有的數據,當您卸載我需要確保SDF文件保持不變(所以我設置了Permanet == true),但我還需要確保在他們安裝新版本的應用程序時,我不會用首次使用時安裝的空白/空白DB覆蓋它們的副本...
無論如何要確保這一點,或提示,或確保客戶在安裝新副本時不會丟失所有數據?
感謝,
使用VD2010 Microsoft部署項目(MSI)確保您不會覆蓋文件,如果它已經存在於安裝
我的應用程序有一個數據庫(SDF),客戶使用輸入他們所有的數據,當您卸載我需要確保SDF文件保持不變(所以我設置了Permanet == true),但我還需要確保在他們安裝新版本的應用程序時,我不會用首次使用時安裝的空白/空白DB覆蓋它們的副本...
無論如何要確保這一點,或提示,或確保客戶在安裝新副本時不會丟失所有數據?
感謝,
從Windows安裝程序的角度來看,日本自衛隊只是一個非版本控制的文件。如果您將其作爲自己組件的密鑰文件,並使用默認文件版本控制規則,則Windows Installer將按照這種方式對其進行評估。行爲將會是,如果SDF具有相同的創建和最後修改日期,它將被覆蓋。如果它具有不同的創建和上次修改日期,則不會被覆蓋。基於SDF文件的意圖,這似乎對我有意義。
另一種方法是安裝模板SDF文件並讓應用程序將模板複製到真實的數據庫文件中。這樣,MSI從來不知道關於「真正」SDF文件的任何內容。它不能提供它不知道的用戶數據。
如果您在MSI安裝中包含sdf文件,它只會複製sdf數據庫文件。它不會在sdf問題中提供任何錯誤。即使sdf文件崩潰,它也會成功完成安裝。您可以嘗試提供對數據庫的任何檢查,並在db錯誤的情況下回滾安裝。