Я делаю несколько инсталляторов для различных программ, но также хотел бы включить в них деинсталлятор.
Я не хочу собирать установщик с помощью NSIS или Inno Setup. Я знаю, что они делают это автоматически, но мои установщики основаны на архиве SFX.
Я знаю, как заставить деинсталлятор удалить указанные файлы, которые я хочу удалить, но возможно ли вообще запрограммировать его на удаление после удаления всего остального из программы?

2 ответа2

2

Вы можете просто удалить его с помощью del uninstaller.bat или del "%~f0" , где %~f0 представляет полный путь скрипта.

1

В этом ответе на StackOverflow dbenham нашел хитрый способ, позволяющий пакетному файлу удалить себя без ошибок.

цитировать
Таким образом, (GOTO) 2> NUL ведет себя как EXIT /B, за исключением того, что он позволяет выполнять сцепленные команды в контексте вызывающего!
Так что все, что вам нужно, это

(goto) 2>nul & del "%~f0"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .