Я делаю несколько инсталляторов для различных программ, но также хотел бы включить в них деинсталлятор.
Я не хочу собирать установщик с помощью NSIS или Inno Setup. Я знаю, что они делают это автоматически, но мои установщики основаны на архиве SFX.
Я знаю, как заставить деинсталлятор удалить указанные файлы, которые я хочу удалить, но возможно ли вообще запрограммировать его на удаление после удаления всего остального из программы?
2 ответа
2
Вы можете просто удалить его с помощью del uninstaller.bat
или del "%~f0"
, где %~f0
представляет полный путь скрипта.
1
В этом ответе на StackOverflow dbenham нашел хитрый способ, позволяющий пакетному файлу удалить себя без ошибок.
цитировать
Таким образом, (GOTO) 2> NUL ведет себя как EXIT /B, за исключением того, что он позволяет выполнять сцепленные команды в контексте вызывающего!
Так что все, что вам нужно, это
(goto) 2>nul & del "%~f0"