Как использовать try catch в NSIS

Привет я получаю странную ошибку на нескольких машинах в моем установщике nsis при установке. Это дает "Неверный дескриптор файла Win32" при установке шрифтов с помощью fontreg.nsh

Я пробовал Google, но не получил ответа на этот вопрос. Теперь я думаю, чтобы подавить это сообщение, так есть ли способ подавить сообщение или, если возможно, предложить мне решение проблемы.

вот мой код

! include "FontReg.nsh"! include "FontName.nsh"! include "WinMessages.nsh"

StrCpy $ FONT_DIR $ FONTS

! insertmacro InstallTTFFont 'calibri_0.TTF'! insertmacro InstallTTFFont 'calibrib.TTF'! insertmacro InstallTTFFont 'calibriz.TTF'! insertmacro Установить TTFFont 'calibrii.TTF'

SendMessage $ {HWND_BROADCAST} $ {WM_FONTCHANGE} 0 0 / TIMEOUT = 5000

пожалуйста, помогите срочно

1 ответ

Решение

Насколько я вижу, у robertinventor есть исправление (11 марта 2010 г., 23:16):

http://forums.winamp.com/showthread.php?t=209326

В ответ на ваш исходный вопрос ("есть ли способ подавить сообщение"), это не исключение, FontReg отображает MessageBox.

Я отредактировал FontReg.nsh и заменил строку 84.

Старый:

MessageBox MB_OK "$R2"

Новое:

DetailPrint "[ERROR] InstallTTFFont"
DetailPrint "[ERROR]     error: $R2"
DetailPrint "[ERROR]     FontFile: ${FontFile}"
DetailPrint "[ERROR]     FontFileName: ${FontFileName}"
DetailPrint "[ERROR]     Index: ${Index}"
Другие вопросы по тегам