你是不是相当于咱们说的按钮点击触发事件之前的判断??你可以在调用安装程序的这个方法之前先判断一下,试试,我个人理解
关键是我要处理回滚已安装的步骤,这部分不知道该怎么处理。
@失落の熊熊: 那你是不是该判断下此用户是否安装,如果没有则让他安装,当然了是在环境允许的情况下,若已安装则提示它修复还是删除,既然已经安装了肯定已经符合环境要求了
@妍珊: 下面是安装之前的处理事件:
private void MyInstaller_BeforeInstall(object sender, InstallEventArgs e)
{
if (IntPtr.Size * 8 != 32)
{
this.Uninstall(e.SavedState);
}
}
其实我就是要判断如果本机不是32位的操作系统,则回滚安装操作。
上面的代码是有问题的。
private void MyInstaller_BeforeInstall(object sender, InstallEventArgs e)
{
//判断本机操作系统是否为32位
if (IntPtr.Size * 8 != 32)
{
throw new ApplicationException("本系统只能在32位操作系统中安装。");
}
}
把异常直接抛出去就能回滚了。