我想向我的 Visual Studio 安装程序项目添加一个自定义操作,以删除我的应用在运行时创建的一些文件。这些文件是动态创建的,不会作为正常卸载的一部分被删除。
我的问题是:当您通过安装较新版本来升级或更新应用程序时会发生什么?安装程序是否运行Uninstall
自定义操作?
我确实在部署项目属性中RemovePreviousVersions
设置了。True
实际上,只有在真正删除而不是升级时,我才想删除文件。
我想向我的 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。