.NET 部署项目:取消卸载程序的自定义操作

Posted

技术标签:

【中文标题】.NET 部署项目:取消卸载程序的自定义操作【英文标题】:.NET Deployment project: Custom Action that cancels uninstaller 【发布时间】:2010-11-29 10:38:24 【问题描述】:

我有一个 .NET 部署项目。我想添加一个自定义卸载操作来检查某些条件并可选择取消卸载。这可能吗?

据我所知,只能定义不会影响主安装程序本身的自定义操作。

【问题讨论】:

【参考方案1】:

答案其实很简单,但也很丑。

在我想取消卸载的自定义操作中,我只是抛出一个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.");

【讨论】:

【参考方案2】:

如果可能的话,我会感到惊讶。以我的经验,一旦你尝试使用 VS 安装项目来做任何不能在设计器中拖放的事情,你就是在自找麻烦。

换句话说,它很烂,但我不知道另一边的草是否更绿(例如InstallShield),因为我从未使用过。

【讨论】:

以上是关于.NET 部署项目:取消卸载程序的自定义操作的主要内容,如果未能解决你的问题,请参考以下文章

部署项目 - 自定义操作更新

自定义 VS 2008 安装项目卸载程序

.NET 热部署/取消部署捆绑代码。如何?哪个容器?

.net core程序部署到 阿里云

如何避免KeyCloak的登录页面,部署我们项目的自定义登录页面?

部署:如何访问 Windows 服务名称以便(卸载)安装程序可以卸载它?