Как использовать 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):
В ответ на ваш исходный вопрос ("есть ли способ подавить сообщение"), это не исключение, 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}"