我为一个winform应用做了一个安装部署工程,其中包含一个安装类,当应用程序已经安装时,我再通过执行安装工程更新已经安装的程序,它会把老版本自动删除然后重新安装,这可以通过增大安装工程的version属性,并设置RemovePreviousVersions=true来实现。现在问题是在安装类(Installer)中我如何才能区别程序是正常卸载还是安装新版本时自动卸载?因为注册表中的一些应用程序的一些相关使用信息是在安装类的OnBeforeUninstall方法中删掉的。正常卸载时应该删掉这些信息,但安装新版本自动卸载时不能删除这些信息,所以要区分这两种情况,哪位高人知道,指点一下,先谢过了。