1

我的问题与标题略有不同,

我正在覆盖安装程序类方法,并且我编写了自定义代码,在安装最新版本之前卸载以前版本的应用程序。所以这个卸载是 MSI 的一部分。

所以我希望 MSI 首先卸载现有安装,然后开始自行安装。我在OnBeforeInstall()方法中有这段代码。

  protected override void OnBeforeInstall(System.Collections.IDictionary savedState)
    {
        //Logic to uninstall pervious versions using product code
        base.OnBeforeInstall(savedState);
    }

但我注意到,甚至在安装 MSI 之前,安装 MSI 会提取所有文件并覆盖现有安装文件。那么,如果我想在执行 MSI 开始其任何操作之前执行卸载,我应该在哪里编写我的逻辑?

4

0 回答 0