Есть ли способ сохранить 'uninstall.exe' (предотвратить удаление файла вручную) из каталога установки с помощью NSIS - PullRequest
0 голосов
/ 08 февраля 2019

Когда пользователь удаляет файл Uninstall.exe вручную из папки Program Files.А затем из Программы и компоненты, если пользователь пытается удалить приложение будет удалено из списка «Программы и компоненты».Но папка Installed с файлами и записями реестра по-прежнему существует.

Итак, есть ли возможность скрыть файл (uninstall.exe) или установить разрешения, которые предотвращают удаление этого файла вручную?

1 Ответ

0 голосов
/ 08 февраля 2019

Да и нет.

Вы можете сделать его скрытым файлом, и теоретически вы можете установить ACL для запрета удаления (сам деинсталлятор должен будет снова редактировать ACL, прежде чем сможет его удалить), но ничто не остановит администратора отудаление файла, если они действительно хотят.

Section
SetOutPath "$InstDir"
WriteUninstaller "$InstDir\un.exe"
SetFileAttributes "$InstDir\un.exe" HIDDEN
SectionEnd

Section Uninstall
Delete "$InstDir\un.exe"
RMDir "$InstDir"
SectionEnd
...