Сценарий удаления в NSIS

#installation #nsis

#установка #nsis

Вопрос:

Я новичок в написании установщика / деинсталлятора. Мне нужен деинсталлятор для удаления файлов, сохраненных в файле журнала (текстовый файл). Я пытаюсь реализовать функциональность с помощью NSIS script, но у меня не получилось, хотя я перешел по ссылке ниже:http://nsis.sourceforge.net/Talk:Uninstall_only_installed_files В принципе, мне нужно реализовать следующие четыре строки кода:

 OutFile "dummy.exe" 
Section "Uninstall"
!include "unlist.txt"
!system 'del unlist.txt'
SectionEnd
  

Инструкция include выдает ошибку, поскольку я добавил имена файлов в неправильном формате в unlist.txt .

Результат компиляции:

 OutFile: "dummy.exe"
Section: "Uninstall"
!include: "unlist.txt"
File: "Test1.txt" [compress] 4 bytes
File: "Test2.txt" [compress] 0/4 bytes
File: "Test3.txt" [compress] 0/4 bytes
File: "Test4.txt" [compress] 0/4 bytes
!include: closed: "unlist.txt"
SectionEnd
  

Обработан 1 файл, записываются выходные данные:

 Error: invalid script: no sections specified
Error - aborting creation process
  

Кто-нибудь может посоветовать мне правильный сценарий или правильный формат файла, который необходимо указать в unlist.txt ?

Спасибо за вашу помощь.

С наилучшими пожеланиями, Питер

Ответ №1:

Ваш установщик должен выглядеть, по крайней мере, так:

 OutFile "dummy.exe"

Section 01
# This is install section
WriteUninstaller "Uninstall.exe"
SectionEnd

Section "Uninstall"
!include "unlist.txt"
!system 'del unlist.txt'
SectionEnd
  

Должен существовать один раздел установки и создан простой деинсталлятор (во временном каталоге).
Для корректной работы необходимо указать больше кода: например, установить $INSTDIR и т.д.