繁体   English   中英

使用NSIS将32位和64位安装程序合并为一个安装程序

[英]Merge 32bit and 64bit installer into one installer using NSIS

我使用NSIS创建了一个简单的安装程序。 我希望安装程序能够检测到客户端正在使用的操作系统。如果客户端使用的是32位操作系统,则所有文件都应复制到Program Files(32位)文件夹,否则,如果他/她使用的是64位操作系统位操作系统,所有文件都应复制到64位。任何人都可以帮助我解决这个问题。

谢谢

与上面相同(不要忘了包含LogicLib.nsh x64.nsh)

Function .onInit

    ${If} ${RunningX64}
        StrCpy $INSTDIR "$PROGRAMFILES64\myProduct"
    ${Else}
        StrCpy $INSTDIR "$PROGRAMFILES\myProduct" ; $PROGRAMFILES32 also works
    ${EndIf}

FunctionEnd

(可选)您还可以设置注册表视图(请参阅SetRegView

以下代码将完成任务。

!include "x64.nsh"
.
.
.
.
var copyDir

section ""

${If} ${RunningX64}
strcpy $copyDir "C:\\Program Files(x64)\\Foo"

${else}
strcpy $copyDir "C:\\Program Files\\Foo"
sectionend

尽管如果只是检测Program Files目录,我认为$ProgramFiles会根据OS位自动检测默认的Program Files目录。

暂无
暂无

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

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