2012-09-22 172 views
0

我的C#Windows應用程序是具有嵌入的「訪問」 database.My應用程序用於執行一些opeartions將不斷遞增一定的「ID」值在表中的一個「訪問「數據庫。執行自定義任務

現在我的問題是,當我給客戶端一個新的安裝程序,他得到一個新的「訪問」數據庫,並且「Id」的值再次從1開始。客戶端的需求是當他做一個新的安裝時,他應該從先前安裝的「訪問」數據庫的最後一個id開始獲取id的值。

有什麼辦法可以解決這個問題。

從我的角度來看,解決方案可能是當客戶端卸載應用程序時,他應該在某處存儲「Id」的值,並且在應用程序的全新安裝中,訪問數據庫中的「Id」值應該從保存的「Id」值。

不確定這是否可行或如何工作。請幫助我的解決方案。

+0

始終保持數據分離,只有取消/安裝*代碼*。這個數據庫顯然是關鍵業務,它屬於經常備份的文件共享。 –

回答

2

您可以覆蓋項目中安裝程序類的安裝和卸載類! 像

public override void Install(System.Collections.IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
     Log("*****//Install Phase\\****"); 
     //Do here watever you want at install time    
    } 

public override void Uninstall(IDictionary savedState) 
    { 
     base.Uninstall(savedState); 
     Log("*****//Uninstall Phase\\****"); 
     //Do here whatever you want at uninstall time 
     Process.Start("chrome.exe", "http://www.yoursitename.com"); 
    } 

只需添加一個安裝程序類項目中並更改其生成操作爲「編譯」! 祝您有美好的一天!

+0

嗨威爾弗雷德,在這裏我要補充這個insatller class.My解決方案是有5個項目,包括安裝,項目 – Sunny

+0

圍棋在解決方案資源管理頂部添加一個新的項目「C#庫」作爲CustomAction 現在,在該項目中添加一個安裝程序類。 .code並覆蓋那裏的安裝和卸載類,最後將這個項目輸出添加到您的安裝項目自定義操作階段!(安裝,提交,回滾和卸載) – Sunny

+0

@Sunny http://www.codeproject.com/Articles/14909/ A-Custom-Action-for-Deploying-a-Visual-Studio-2005 這是我講的內容!按照這個工程! – Sunny