You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:NSIS制作的setup.exe在Win10部分电脑闪屏阶段崩溃

NSIS安装程序Win10闪屏崩溃排查与解决

核心排查方向及解决办法

  • 闪屏资源格式问题
    NSIS闪屏一般通过!define MUI_SPLASHIMAGE指定资源文件,Win10部分版本对图片格式要求苛刻:
    • 替换为24位真彩色BMP(避免使用带Alpha通道的32位BMP,多数Win10环境下解析会异常)
    • 若使用PNG格式,确保当前NSIS版本为3.x以上,旧版对PNG兼容性极差
  • NSIS版本兼容性
    • 检查当前NSIS版本,若为2.x系列,立即升级到NSIS 3.08+,新版本修复了大量Win10专属兼容性问题
    • 查看崩溃电脑是否安装了特定Win10累积更新(如KB4512941这类可能影响安装程序运行的补丁),可临时卸载该补丁测试
  • UAC与权限冲突
    • 闪屏阶段禁止执行需要高权限的操作(如读取系统目录),这类操作极易触发UAC拦截导致崩溃
    • 修改NSIS脚本,将闪屏逻辑仅限制为加载图片资源,所有权限相关操作移至闪屏结束后的初始化阶段
  • 安全软件拦截
    • 崩溃电脑大概率安装了小众杀毒、防火墙类软件,误将闪屏进程判定为恶意程序拦截
    • 临时关闭安全软件后重新运行安装程序,若恢复正常,将setup.exe添加至安全软件白名单
  • 从WER日志提取关键信息
    重点关注日志中以下字段:
    • Faulting module name:确认是NSIS核心模块(如nsis.exe)还是自定义闪屏模块崩溃
    • Exception code:例如0xC0000005代表访问违规,通常是内存读取错误,大概率由资源损坏或脚本逻辑错误导致
    • Offset:结合NSIS源码或调试工具可定位具体崩溃位置

快速试错清单

  • 替换闪屏图片为标准24位BMP,避免特殊格式或压缩处理
  • 升级NSIS到最新稳定版,重新编译安装包
  • 若安装程序不需要管理员权限,在脚本中添加RequestExecutionLevel user,避免UAC提前触发
  • 开启NSIS的LogSet命令生成详细运行日志,在崩溃电脑上执行安装程序,通过日志进一步定位问题

内容的提问来源于stack exchange,提问作者youbl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:48:17