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

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

Старожил


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

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


Kopejkin, Небольшая модификация функции Patch в примере показала, что плагин ничерта не пропатчил
nsis 3.08, ansi/unicode, проверено на Win10 x64 21h2, Win7 x86

Тут к автору плагина стучаться надо, если это ещё возможно.
Function Patch (modified)
Код: Выделить весь код
Function Patch
SetDetailsPrint listonly
	StrCpy $0 '$INSTDIR\$0'
	
    StrCpy $R1 $1 8
    StrCmp $R1 '/PRECISE' 0 +4
        DetailPrint 'f: $0'
        md5dll::GetMD5File "$0"
        Pop $R2
retry:
	WPatch::PatchFile /NOUNLOAD	; expects $0:file path, $1:options, $2:patch path
    
    StrCmp $R1 '/PRECISE' 0 +7
        md5dll::GetMD5File "$0"
        Pop $R3
        StrCmp $R2 $R3 +4 0
            DetailPrint "MD5 original $R2"
            DetailPrint "MD5 patched $R3"
            DetailPrint " "
            
	IntCmp $1 0 continue can_skip 0
		SetErrors
can_skip:
		SetDetailsPrint listonly
		DetailPrint '=> Error $1'
		SetDetailsPrint both
		IntCmp $1 1 0 continue continue
			MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION $(^FileError_NoIgnore) /SD IDCANCEL IDRETRY retry
			Abort
continue:
SetDetailsPrint none
FunctionEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:32, 14-02-2022 | #2618