我正在使用NSIS创建一个安装程序,该安装程序将安装100多个文件。
我知道要指定要安装的文件,可以使用
File /r ..\release\*
哪种方法效果很好。
但是我应该怎样做才能卸载这些文件(对于我知道安装的每个文件,单独使用Delete命令。)
我已经看过RMDir,它看起来并不安全。而here也没有效果。
感谢您的时间
答案 0 :(得分:0)
RMDir
是安全的。它使用了doc警告的/r
标志:
警告:在卸载程序中使用RMDir / r $ INSTDIR是不安全的。 虽然不太可能,但用户可能会选择安装到本程序 Files文件夹,因此该命令将清除整个程序 Files文件夹,包括与其无关的其他程序 卸载程序。用户还可以放置其他文件,但程序的文件 并期望它们会被程序删除。解决方案是 可以轻松卸载安装的文件 安装程序
鉴于此,我认为您只需手动删除所有子目录,然后删除父目录。我能想到的唯一一种情况是,当你的应用程序动态生成新文件夹时,这种情况不会起作用。如果是这样的话,即使是卸载日志也无法帮助您。
在你创建的子目录上使用/ r也是完全可以的。关注的是删除顶级安装目录,以及其中可能存在的所有内容。如果您的安装程序推出了一个包含名为images
的其他资产的文件夹,其中也包含子目录,则没有理由
RMDir /r $INSTDIR\images`
会很危险。