Я заметил это предупреждение в документации для NSIS's RmDir
метод:
Предупреждение: использование RMDir/r $INSTDIR в деинсталляторе не безопасно. Хотя это маловероятно, пользователь мог бы выбрать для установки на папке Program Files и таким образом, эта команда вытрет всю папку Program Files, включая другие программы, который не имеет никакого отношения к деинсталлятору.
Это пугает меня, так как вплоть до сих пор я не рассмотрел эту возможность, и у меня была та точная строка в моем сценарии. Но когда я протестировал, если это произойдет путем установки моей программы на существующем ранее местоположении, содержащем существующие ранее файлы и затем запускающем мой деинсталлятор с RmDir /r /REBOOTOK $INSTDIR
в нем существующие файлы оставили целыми.
Действительно ли это - устаревшее предупреждение? Я использую NSIS v. 2.46.
Спасибо
RmDir / r удалит все дерево каталогов, если сможет, так что это «небезопасно». См. http://nsis.sourceforge.net/Uninstall_only_installed_files для получения информации о способе удаления только установленных вами файлов