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

Posted

技术标签:

【中文标题】部署项目 - 自定义操作更新【英文标题】:Deployment Project - custom action update 【发布时间】:2015-06-11 04:06:57 【问题描述】:

情况:

我在 Visual Studio 2010 设置中有一个部署项目来安装控制台应用程序。 此控制台应用程序为部署项目写入了一些自定义操作。

编辑: 澄清一下,这些自定义操作使用 .NET 中的 System.Configuration.Install.Installer 类。 我在这个类上使用了CommittedBeforeUninstallAfterUninstall事件,主要是用来清理遗留的文件。

问题:

如果我将控制台应用程序的可执行文件换成较新的版本(具有更新的自定义操作) - 用于最初安装它的 MSI 是否会对新的 EXE 和更新的卸载自定义操作有任何问题?

【问题讨论】:

您在这里所说的“自定义操作”是什么?在某处放置快捷方式? 当我说自定义操作时,使用 .NET Installer 类创建一个类并绑定到已提交/安装前/卸载后事件。这些自定义操作中的操作范围从启动/停止控制台应用程序到清理文本/xml 文件。 只要您的新控制台应用程序在您的安装项目中更新,并且您正在发布安装的新版本,它应该可以正常工作 因此,如果我使用 MSI 安装项目,进入程序文件目录,并将 console.exe 文件复制到最初安装的 console.exe 之上(在程序文件目录中) - 它将使用新的卸载?而不是原始的一些缓存版本? @S.Krishna 我做了一些测试,你确实是正确的 - 随时添加你的评论作为答案,我会这样标记它:) 【参考方案1】:

--根据要求添加评论作为答案--

只要您的新控制台应用在您的安装项目中更新,并且您正在发布新版本的安装,它应该可以正常工作。安装后,您可以使用新的可执行文件覆盖安装,它们应该可以正常工作

【讨论】:

请注意,如果从控制台应用程序中删除自定义操作,并开始卸载 - 它将失败。自定义操作需要保留在控制台应用程序中才能进行卸载。干杯@S.Krishna

以上是关于部署项目 - 自定义操作更新的主要内容,如果未能解决你的问题,请参考以下文章

Salesforce 开发整理项目部署总结

Bamboo 自定义部署-项目变量

使用 QtCreator 部署自定义构建项目

如何将 npm 包发布/部署到自定义工件

从 CodeStar 项目自定义 Prod 部署

CentOS7下部署Django项目详细操作步骤