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位适配指令
- 适配32位系统:添加
添加系统版本校验逻辑:引入
!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
相关产品推荐
相关产品推荐

