簡體   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