2012-01-17 136 views
1

我需要创建nsis卸载程序。我有一个必须删除的文件列表(在“list.txt”文件中)。我尝试这样的:nsis自定义卸载程序

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

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

但它是行不通的。


到Anders:这里只有文件的路径。就像这样:

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 

到Slappy: 我使用的MessageBox MB_OK。名字是正确的。就像在文件“list.txt”

+0

你能告诉我们从LIST.TXT一些示例文本? – Anders 2012-01-17 20:08:00

+0

list.txt中的路径是相对还是绝对路径?如果相对,然后检查工作文件夹是否正确 - 也许你需要使用删除“$ INSTDIR \ $ DeletedFile”。使用MessageBox MB_OK“$ DeletedFile”来查看文件名。 – Slappy 2012-01-18 07:47:36

回答

2

我明白我的错误。 这正常工作:

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

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

下一个任务是删除空文件夹))