在卸载和安装c#应用程序时执行自定义任务

时间:2012-09-22 06:56:33

标签: c#

我的C#windows应用程序有一个嵌入式“访问”数据库。我的应用程序用于执行一些操作,这将继续增加“访问”数据库中某个表中某个“Id”值。

现在我的问题是,当我向客户端提供新的安装程序时,他获得了一个全新的“访问”数据库,“Id”的值再次从1开始。客户端的需求是他进行新安装时,他应该从以前安装的“访问”数据库的最后一个id开始获取id的值。

有没有办法解决这个问题。

从我的角度来看,解决方案可能是当客户端卸载应用程序时,他应该在某处保存“Id”的值,并且在应用程序的全新安装中,访问数据库中的“Id”值应该从保存了“Id”值。

不确定这是否可行或如何运作。请帮我解决。

1 个答案:

答案 0 :(得分:2)

您可以从项目中的Installer类覆盖Install和Uninstall类! 喜欢

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");
    }

只需在项目中添加一个安装程序类,并将其构建操作更改为“编译”! 祝你有个美好的一天!