产品升级过程中是否运行卸载操作?

问题描述:

我想向我的Visual Studio安装程序项目添加一个自定义操作,以删除在运行时由我的应用程序创建的一些文件。这些文件是动态创建的,不会作为正常卸载的一部分被删除。产品升级过程中是否运行卸载操作?

我的问题是:当您通过安装更新​​的版本升级或更新应用程序时会发生什么?安装程序是否运行Uninstall自定义操作?

我的RemovePreviousVersions在部署项目属性中设置为True。我实际上只想删除这些文件,只要它是真正的删除而不是升级。

RemovePreviousVersions将执行卸载。 如果我正确理解您的问题,那么在安装应用程序之后就会创建一些文件,并希望在卸载产品时而不是在升级过程中删除这些文件。 我没有使用VS安装程序类型的经验,但查找可以访问RemoveFile表的东西。 https://msdn.microsoft.com/en-us/library/windows/desktop/aa371201(v=vs.85).aspx

如果vs安装程序未公开RemoveFile表,则可能需要查看InstallShield 2016/2017 Pro或Premium。如果你真的冒险,那么看看WIX。