Код:
Function CheckCRC
# Проверяем наличие требуемого файла
IfFileExists $INSTDIR\file.exe 0 noFile
# Если файл существует, то проверяем его CRC
# Для проверки используется плагин CRCCheck (http://nsis.sourceforge.net/CRCCheck_plug-in)
CRCCheck::GenCRC $INSTDIR\file.exe
# Записываем значение CRC-файла из стека в переменную $1
Pop $1
# Выводим сообщение в отчете установки со значением CRC-файла
DetailPrint "~ Файл file.exe CRC = $1"
# Необходимая контрольная сумма файла (НЕХ) CRC = 6528E1D3
# Сравниваем значения полученной CRC с заданным (в десятичном формате)
${IfNot} $1 == 1697178067
# Если значения не совпадают...
# Метка перехода в случае отсутствия указанного файла
noFile:
# Выводим сообщение в отчете установки о неверном значении CRC
DetailPrint "~ Файл file.exe не найден или его CRC отличается от исходной"
# Показываем пользователю диалог с сообщением
MessageBox MB_ICONINFORMATION|MB_OK "Продолжить работу инсталлятора невозможно.$\r$\n\
Файл file.exe не существует или его CRC не$\r$\n\
не совпадает с оригинальным значением."
# Завершаем работу программы установки
Quit
${EndIf}
# Выводим сообщение в отчете установки об успешном выполнении операции
DetailPrint "~ CRC файла file.exe - OK"
FunctionEnd