Невозможно удалить файл с помощью NSIS - PullRequest
0 голосов
/ 13 марта 2012

У меня есть вопрос, связанный с NSIS.У меня есть установщик, созданный NSIS в папке "c: /Installer/Installer.exe".Когда я запускаю установщик, он создает файл журнала («c: /Installer/installlog.txt») в папке установки.После успешного запуска Installer.exe я хочу удалить только файл installlog.txt из «c: / Installer».

У меня есть следующая функция

Function .onInstSuccess
    call cleanUp
    ifSilent 0 +2
             ${LogText} "INFO :: Application has been installed"
             CopyFiles "$EXEDIR\${INSTALL_LOG}" "$Dir\LogFiles\"
             IfFileExists "$Dir\LogFiles\{INSTALL_LOG}" DoNothing CopyAgain
             CopyAgain:
                CopyFiles "$DIR\${INSTALL_LOG}" "$Dir\LogFiles\"
                Delete "$DIR\${INSTALL_LOG}"
                goto DoNothing
             DoNothing:           
             SetOutPath $EXEDIR     
             Delete "$EXEDIR\*.log" ;....................**but the file does not get deleted**
FunctionEnd

Может кто-нибудь, пожалуйста, скажите мне, как я могу сделать эту работу.Мне нужно исправить это как можно скорее, помощь в этом очень ценится

1 Ответ

1 голос
/ 13 марта 2012

Я предполагаю, что вы используете эти макросы журналирования. Вы должны вызвать ${LogSetOff} после последнего вызова ${LogText}, чтобы дескриптор файла был закрыт, и вы сможете удалить файл.

Кроме того, использование Delete "$EXEDIR\*.log" не очень хорошая идея, вы уже знаете имя файла ...

...