我有一个 .NET 部署项目。我想添加一个自定义卸载操作来检查某些条件并可选择取消卸载。那可能吗?
据我所知,只能定义不能影响主安装程序本身的自定义操作。
我有一个 .NET 部署项目。我想添加一个自定义卸载操作来检查某些条件并可选择取消卸载。那可能吗?
据我所知,只能定义不能影响主安装程序本身的自定义操作。
答案实际上很简单,但也很丑陋。
在我想取消卸载的自定义操作中,我只是抛出一个ApplicationException
:
//Nono. Don't uninstall. To abort uninstall, throw an exception
throw new ApplicationException(Constants.CONST_APP_NAME + @" can't be uninstalled because the preparation hasn't been completed.");
如果可能的话,我会感到惊讶。以我的经验,一旦你尝试使用 VS 安装项目来做任何不能在设计器中拖放的事情,你就是在自找麻烦。
换句话说,它很烂,但我不知道另一边的草是否更绿(例如InstallShield),因为我从未使用过。