1
votes

I need create nsis uninstaller. I have a list of files(in "list.txt" file) which must be deleted. I try something like this:

${LineSum} "$INSTDIR\list.txt" $NumOfFiles

${For} $CurrentFile 1 $NumOfFiles
    ${LineRead} "$INSTDIR\list.txt" $CurrentFile $DeletedFile
    Delete $DeletedFile
${Next}

But it's don't work.


to Anders: There are just paths of the files. Like this:

C:\Program Files\FT\Skins\BaseSkin.xaml
C:\Program Files\FT\Skins\BlackSkin.xaml
C:\Program Files\FT\Skins\BlueSkin.xaml
C:\Program Files\FT\Skins\GreenSkin.xaml
C:\Program Files\FT\Alpha.dll
C:\Program Files\FT\library.dll
C:\Program Files\FT\Lk.dll
C:\Program Files\FT\Dk.xml

to Slappy: I've used MessageBox MB_OK. The name is correct. Like in file "list.txt"

1
Could you show us some sample text from list.txt? - Anders
Are paths in list.txt relative or absolute? If relative then check working folder is correct - maybe you will need to use Delete "$INSTDIR\$DeletedFile". Use MessageBox MB_OK "$DeletedFile" to see file name. - Slappy

1 Answers

2
votes

I understand my mistake. This work correctly:

${LineSum} "$INSTDIR\list.txt" $NumOfFiles

${For} $CurrentFileNumber 1 $NumOfFiles
    ${LineRead} "$INSTDIR\list.txt" $CurrentFileNumber $CurrentFileName
    ${TrimNewLines} $CurrentFileName $CurrentFileName
    Delete "$CurrentFileName"
${Next}

Next task is delete empty folders))