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

NSIS生成的安装程序在Windows10无法运行,缺失哪些必要编译标志?

解决NSIS基础安装程序在Windows 10运行报错的缺失标志问题

问题背景

按照NSIS官方教程创建的基础「Hello, World!」安装程序,在Windows 10中运行时弹出错误提示:

"This app can't run on your PC"
"The executable is not a valid application for this OS platform"

需补充的关键标志及操作

这类报错核心原因是安装程序未明确适配系统架构或缺少必要的兼容性配置,需补充以下内容:

  • 引入架构兼容脚本并指定执行权限:在脚本开头添加!include "x64.nsh",再根据需求添加执行权限指令:

    • 适配32位系统:添加RequestExecutionLevel user(若需要管理员权限则替换为admin)
    • 适配64位系统:添加RequestExecutionLevel admin,同时可在Section段中使用SetRegView 64等64位适配指令
  • 添加系统版本校验逻辑:引入!include "LogicLib.nsh"后,在初始化函数中加入系统版本判断,确保程序仅在支持的系统运行,示例代码:

    Function .onInit
        ${If} ${AtLeastWin10}
            ; 正常启动安装流程
        ${Else}
            MessageBox MB_OK "此安装程序仅支持Windows 10及以上系统"
            Quit
        ${EndIf}
    FunctionEnd
    
  • 编译时匹配目标系统格式:使用NSIS编译器时,选择与目标Windows 10系统匹配的输出类型,避免误选仅兼容旧系统的编译选项

基础无操作NSIS安装程序示例脚本

!include "x64.nsh"
!include "LogicLib.nsh"

Name "基础无操作安装程序"
OutFile "EmptyInstaller.exe"
RequestExecutionLevel user

Function .onInit
    ${If} ${AtLeastWin10}
        MessageBox MB_OK "安装即将完成"
    ${Else}
        MessageBox MB_OK "此程序不支持当前系统版本"
        Quit
    ${EndIf}
FunctionEnd

Section
    ; 无实际安装操作
SectionEnd

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:03:24