Действительно ли безопасно сделать “$INSTDIR RmDir/r” в NSIS?

Я заметил это предупреждение в документации для NSIS's RmDir метод:

Предупреждение: использование RMDir/r $INSTDIR в деинсталляторе не безопасно. Хотя это маловероятно, пользователь мог бы выбрать для установки на папке Program Files и таким образом, эта команда вытрет всю папку Program Files, включая другие программы, который не имеет никакого отношения к деинсталлятору.

Это пугает меня, так как вплоть до сих пор я не рассмотрел эту возможность, и у меня была та точная строка в моем сценарии. Но когда я протестировал, если это произойдет путем установки моей программы на существующем ранее местоположении, содержащем существующие ранее файлы и затем запускающем мой деинсталлятор с RmDir /r /REBOOTOK $INSTDIR в нем существующие файлы оставили целыми.

Действительно ли это - устаревшее предупреждение? Я использую NSIS v. 2.46.

Спасибо

10
задан Cuga 15 July 2010 в 20:04
поделиться

1 ответ

RmDir / r удалит все дерево каталогов, если сможет, так что это «небезопасно». См. http://nsis.sourceforge.net/Uninstall_only_installed_files для получения информации о способе удаления только установленных вами файлов

7
ответ дан 4 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: