产品升级过程中是否运行卸载操作?
问题描述:
我想向我的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。