我正在通过Visual Studio安装项目创建Windows Installer(.msi)文件。 运行.msi文件时,如果目标文件夹已经存在并且有一些文件和子文件夹,那么在安装我的应用程序之前如何删除它们呢? 我已经搜索过,但找不到解决方案。
答案 0 :(得分:0)
对于升级,这应该有所帮助:
基本上更新安装项目的版本,接受更改,在构建升级MSI时将RemovePreviousVersions设置为true。此外(不在文章中)您必须增加正在升级的二进制文件的文件版本。这将在安装新版本时卸载旧产品。
帖子没有说明临时文件的位置,但如果它们是数据文件或临时文件,则应用程序不应该在(比如)Program Files文件夹中创建它们,因为它们是不是推荐的地方(临时文件有明确定义的文件夹,如临时文件夹),它需要提升才能在程序文件中写入/更新文件,因此应用程序仅限于管理员用户。
卸载不会删除应用程序创建的文件(您不希望卸载Word以删除所有doc文件),因此应用程序可能更容易在其中创建它们首先,或在首次启动时将其删除。卸载的常规代码解决方案是旧产品中的卸载自定义操作,用于删除它们,但如果旧版本已经发货,则为时已晚。
此外,在全新安装中(即使它是升级版),如果您显示浏览对话框以选择应用程序文件夹,则用户可以选择安装到其他位置,这意味着文件已保留例如,在某些孤立的Program Files文件夹中。