Я сравнил два файла и сохранил несоответствующие значения во временном файле. Я упомянул об этом link. После этого прочитайте значения из временного файла и замените их в исходном файле. Наконец, я попытался удалить временный файл. Весь процесс работает отлично, за исключением временного удаления файлов.Почему временный файл не удаляется в NSIS?
Я использовал следующий код:
page custom twofilecompare
page custom originalwrite
Function twofilecompare
FileOpen $0 "$INSTDIR\backup.properties" "r"
FileOpen $1 "$INSTDIR\orginal.properties" "r"
#IfFileExists "$INSTDIR\temp.properties" 0 +1
#Delete /REBOOTOK "$INSTDIR\temp.properties"
FileOpen $R0 "$INSTDIR\temp.properties" "w"
ClearErrors
loop:
FileRead $0 $2
${If} $2 == "$\r$\n"
Goto loop
${EndIf}
FindClose $0
FileRead $1 $3
IfErrors done
strcmp $2 $3 loop here
here:
FileWrite $R0 $2
Goto loop
done:
FileClose $0
FileClose $1
FileClose $R0
FunctionEnd
Function originalwrite
IfFileExists "$INSTDIR\temp.properties" 0 filenotfound
FileOpen $0 "$INSTDIR\temp.properties" "r"
loop:
FileRead $0 $1
IfErrors done
//do some stuff
done:
**IfFileExists "$INSTDIR\resource\temp.properties" 0 filenotfound
Delete /REBOOTOK "$INSTDIR\temp.properties"**
filenotfound:
MessageBox MB_OK "file not found"
FunctionEnd
Даже я наклоняю в состоянии изменить эти три файла [темп, резервное копирование, оригинал] вручную also.if я изменить и нажмите кнопку Сохранить быстрое сообщение, отображаемое в «, пожалуйста, проверьте, этот файл открыл другую программу « Я также использовал файл закрыт после использования файла как завершенный. Даже я попробовал этот код также
Function .onInstSuccess
IfFileExists "$INSTDIR\temp.properties" notfound
MessageBox MB_OK "file exists"
Delete /REBOOTOK $INSTDIR\temp.properties
Goto done
notfound:
MessageBox MB_OK "file not found"
Done:
MessageBox MB_OK "file deleted"
FunctionEnd
Но временный файл не удаляется. Как удалить временный этот файл?
Может кто-нибудь мне помочь?
Заранее спасибо
Спасибо.Он работал.После установки я не могу отредактировать bakcup и оригинальный файл свойства. Открывается окно с подсказкой и отображается «пожалуйста, проверьте, открыл ли этот файл другую программу» .but я закрыл три файла. Как решить это? – Ami