Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Flix

Пользователь


Сообщения: 93
Благодарности: 53

Профиль | Отправить PM | Цитировать


Цитата AlekseyPopovv:
Как проверить контрольную сумму "CRC" файла? »
Воспользуйтесь плагином CRCCheck.
Пример
Код: Выделить весь код
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
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:57, 04-02-2018 | #2187