在卸载和安装c#应用程序时执行自定义任务
我的C#windows应用程序有一个嵌入式“access”数据库。我的应用程序用于执行某些操作,这些操作将不断递增“access”数据库中某个表中的某个“Id”值 现在我的问题是,当我给客户端一个新的安装程序时,他会得到一个新的“access”数据库,“Id”的值再次从1开始。客户端的需要是,当他进行新的安装时,他应该从之前安装的“access”数据库的最后一个Id开始获得Id的值 有没有办法解决这个问题 在我看来,解决方案可能是当客户端卸载应用程序时,他应该将“Id”的值存储在某个地方,在新安装应用程序时,access数据库中的“Id”值应该从保存的“Id”值中删除在卸载和安装c#应用程序时执行自定义任务,c#,C#,我的C#windows应用程序有一个嵌入式“access”数据库。我的应用程序用于执行某些操作,这些操作将不断递增“access”数据库中某个表中的某个“Id”值 现在我的问题是,当我给客户端一个新的安装程序时,他会得到一个新的“access”数据库,“Id”的值再次从1开始。客户端的需要是,当他进行新的安装时,他应该从之前安装的“access”数据库的最后一个Id开始获得Id的值 有没有办法解决这个问题 在我看来,解决方案可能是当客户端卸载应用程序时,他应该将“Id”的值存储在某个地方,在新安
不确定这是否可行或它将如何工作。请帮助我提供解决方案。您可以覆盖项目中安装程序类中的安装和卸载类! 像 只需将安装程序类添加到项目中,并将其构建操作更改为“编译”!
祝你有愉快的一天 嗨,Wilfred,我必须添加这个insatller类。我的解决方案有5个项目,包括setup porjectGo to top at solution explorer添加一个新项目“C#library”作为自定义操作现在在该项目中添加一个安装程序类..在那里编码并覆盖install和unistall类,最后在安装项目自定义操作阶段添加此项目输出!(安装、提交、回滚和卸载)@Sunny这就是我要说的!遵循这个,它的工作!始终保持数据分离,仅卸载/安装代码。这个数据库显然是业务关键型的,它属于经常备份的文件共享。
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");
}