繁体   English   中英

如何在NSIS中使用try catch

[英]How to use try catch in NSIS

嗨我在安装时在我的nsis安装程序中的几台机器上遇到了一个奇怪的错误。 使用fontreg.nsh安装字体时,它会给出“无效的win32文件句柄”

我试过谷歌,但没有得到这个问题的答案。 现在我想要压制这个消息,所以有没有办法压制消息或者如果可能的话建议我解决这个问题。

继承我的代码

!include“FontReg.nsh”!include“FontName.nsh”!include“WinMessages.nsh”

StrCpy $ FONT_DIR $ FONTS

!insertmacro InstallTTFFont'logsri_0.TTF'!insertmacro InstallTTFFont'logicrib.TTF'!insertmacro InstallTTFFont'calibriz.TTF'!insertmacro InstallTTFFont'calibrii.TTF'

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

请帮忙

据我所知,robertinventor在这里有一个解决方案(2010年3月11日,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}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM