关于安装部署,利用.net提供的安装部署项目我制作了自己的msi文件。
但目前有这么一个需求,即在自定义安装操作中,如果在install()某一个没有执行成功,我想实现回滚(删除以前所有安装),可是怎么也不能成功!郁闷,烦劳高手指教,谢谢!
部分代码如下:public override void Install(IDictionary savedState)
{ try
{
base.Install(savedState);
if(this.InstallServiceAndStartIt()==0) //调用下面的方法
{
base.Rollback(savedState);
}
}
catch
{
throw;
}
}
但目前有这么一个需求,即在自定义安装操作中,如果在install()某一个没有执行成功,我想实现回滚(删除以前所有安装),可是怎么也不能成功!郁闷,烦劳高手指教,谢谢!
部分代码如下:public override void Install(IDictionary savedState)
{ try
{
base.Install(savedState);
if(this.InstallServiceAndStartIt()==0) //调用下面的方法
{
base.Rollback(savedState);
}
}
catch
{
throw;
}
}
public override void Rollback(IDictionary savedState)
{
base.Rollback (savedState); }
{try
{
base.Install(savedState);
if(this.InstallServiceAndStartIt()==0) //调用下面的方法
{
throw new InstallException("出错了");
}}
catch
{
throw;
}
public override void Install(IDictionary savedState)
{try
{
base.Install(savedState);
if(this.InstallServiceAndStartIt()==0) //调用下面的方法
{
this.Rollback(savedState); //更改后的,Rollback(savedState)是重写的.
}}
catch
{
throw;
}
分数送给您了,并在此表示谢意,以后多交流。