【问题标题】:Visual studio 2015 installer projectsVisual Studio 2015 安装程序项目
【发布时间】:2017-07-10 02:25:56
【问题描述】:

我正在尝试在 OnBeforeInstall 方法中进行一些验证,如果验证通过将继续通过安装过程,如果验证失败我想回滚并卸载设置。

我尝试过这样的事情,即使这是成功的,这在回滚时给了我一些异常。

if(validation){
}
else{
    base.RollBack(savedState);
}

异常 - savedState 不包含所需的值或已损坏。

请帮助我做到这一点,没有任何例外。

【问题讨论】:

    标签: validation installation rollback windows-installer projects


    【解决方案1】:

    这并不是导致 Visual Studio 生成的 MSI 回滚的真正方法。您抛出一个 InstallException,这会导致回滚。

    OnBeforeInstall 实际上并不是安装“之前”。所有 Visual Studio 安装自定义操作都会在所有文件都已安装后调用(不管名称如何),因此回滚实际上会卸载所有内容。如果您正在验证输入(或某些预安装条件),则相当不友好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      相关资源
      最近更新 更多