【问题标题】:How to select install directoy based on operating system in NSIS?如何在 NSIS 中选择基于操作系统的安装目录?
【发布时间】:2013-01-16 09:07:05
【问题描述】:

我已经使用 nsis 脚本创建了 EXE。目前我已经将安装目录设置为这个路径

InstallDir "$PROGRAMFILES\myapp.

我已经在 windows xp、windows 7 32 位和 win7 64 位中运行了 exe 文件。 安装目录可能会改变xp和window 7。

如何判断操作系统是window 7还是window xp?

如何根据操作系统选择安装目录?

【问题讨论】:

    标签: nsis


    【解决方案1】:

    根据操作系统选择目标通常不是你应该做的,但如果你真的想你可以使用WinVer.nsh

    !include WinVer.nsh
    
    Function .onInit
    ${If} ${AtLeastWinVista}
      StrCpy $InstDir "c:\VistaAndLater"
    ${Else}
      StrCpy $InstDir "c:\Win95To2003"
    ${EndIf} 
    FunctionEnd
    

    如果你想基于 x86 和 AMD64 进行更改,请使用x64.nsh

    【讨论】:

    • @Anders.Thanks。如果我运行 win7 64 位,默认情况下需要 pgm 文件(86)。如果我运行 win 7 32 位,默认情况下需要 pgm 文件。如何管理这个?跨度>
    • 只需使用 $ProgramFiles 就可以做到这一点。还有 $ProgramFiles32 和 $ProgramFiles64...
    • $ProgramFiles 应该同时管理 32 和 64 版本吗?它如何找到正在运行的操作系统版本(32 或 64)?
    • @ILLA 如果您只是选择 $ProgramFiles,nsis 会自动选择 32 位机器上的 Program Files 和 64 位机器上的 Program Files (86)(假设您使用 32 位 nsis 安装程序 - 最常见)。
    猜你喜欢
    • 2011-09-02
    • 2019-10-27
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2015-09-15
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多