Как использовать try catch в NSIS - PullRequest
3 голосов
/ 27 октября 2010

Привет, я получаю странную ошибку на нескольких машинах в моем установщике nsis при установке.При установке шрифтов с использованием fontreg.nsh

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

Вот мой код

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

StrCpy $ FONT_DIR $ FONTS

! insertmacro InstallTTFFont «calibri_0.TTF»!calibriz.TTF '! insertmacro InstallTTFFont' calibrii.TTF '

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

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

Ответы [ 2 ]

1 голос
/ 01 августа 2011

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

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

0 голосов
/ 02 июля 2019

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