2012-01-17 181 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} 

下一個任務是刪除空文件夾))