VirtualBox

Ignore:
Timestamp:
Nov 15, 2024 11:20:04 AM (2 months ago)
Author:
vboxsync
Message:

Installer/win: Specify the architecture/platform when invoking 'wix build'. The minimum MSI installer version for windows/arm64 is 5.0 (500). Some other arm64 adjustments. jiraref:VBP-1442

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Makefile.kmk

    r107009 r107015  
    100100VBOX_WIN_INST_OUT_DIR      := $(PATH_TARGET)/Installer/win
    101101VBOX_WIN_INST_REPACK_DIR   := $(PATH_OUT)/repack
     102
     103# Translate our architecture names to MSI platform/arch.
     104VBOX_INS_PROD_ARCH.amd64 = x64
     105VBOX_INS_PROD_ARCH.arm64 = Arm64
     106VBOX_INS_PROD_ARCH.x86   = Intel
     107VBOX_INS_PROD_ARCH := $(VBOX_INS_PROD_ARCH.$(KBUILD_TARGET_ARCH))
     108ifeq ($(VBOX_INS_PROD_ARCH),)
     109 $(error VBOX_INS_PROD_ARCH is empty!)
     110endif
    102111
    103112# Note: en_US *must* come first for the dependency file generation.
     
    622631        kmk_time $$(REDIRECT_EXT) $(VBOX_WIN_INST_ENV) -E WIX_TEMP='$$(subst /,\,$$(@D))' \
    623632                -- $(VBOX_TOOLS_WIN_WIX_BIN) build \
    624                 -defaultcompressionlevel high \
     633                -arch "$(VBOX_INS_PROD_ARCH)" \
     634                -defaultcompressionlevel "$(VBOX_CAB_COMPRESSION_LEVEL)" \
    625635                -intermediatefolder $$(@D)/wix-temp/ \
    626636                -loc $(VBOX_WIN_INST_OUT_DIR)/NLS/Language_$(lang).wxl \
     
    682692        kmk_time $$(REDIRECT_EXT) $(VBOX_WIN_INST_ENV) -E WIX_TEMP='$$(subst /,\,$$(@D))' \
    683693                -- $(VBOX_TOOLS_WIN_WIX_BIN) build \
    684                 -defaultcompressionlevel high \
     694                -arch "$(VBOX_INS_PROD_ARCH)" \
     695                -defaultcompressionlevel "$(VBOX_CAB_COMPRESSION_LEVEL)" \
    685696                -intermediatefolder $$(@D)/wix-temp/ \
    686697                -loc $(VBOX_WIN_INST_OUT_DIR)/NLS/Language_$(lang).wxl \
     
    776787                -- \
    777788                $(VBOX_TOOLS_WIN_WIX_BIN) build $(filter-out $(VBOX_VERSION_STAMP),$<) \
    778                         -defaultcompressionlevel high \
     789                        -arch "$(VBOX_INS_PROD_ARCH)" \
     790                        -defaultcompressionlevel "$(VBOX_CAB_COMPRESSION_LEVEL)" \
    779791                        -intermediatefolder $(@D)/wix-temp/ \
    780792                        $(VBOX_TOOLS_WIN_WIX_EXT) \
     
    818830                -- \
    819831                $(VBOX_TOOLS_WIN_WIX_BIN) build $(filter-out $(VBOX_VERSION_STAMP),$$<) \
    820                         -defaultcompressionlevel high \
     832                        -arch "$(VBOX_INS_PROD_ARCH)" \
     833                        -defaultcompressionlevel "$(VBOX_CAB_COMPRESSION_LEVEL)" \
    821834                        -intermediatefolder $$(@D)/wix-temp/ \
    822835                        $(VBOX_TOOLS_WIN_WIX_EXT) \
     
    969982        kmk_time $$(REDIRECT_EXT) -E WIX_TEMP='$$(subst /,\,$$(@D))' $(VBOX_WIN_INST_ENV) \
    970983                -- $(VBOX_TOOLS_WIN_WIX_BIN) build \
     984                -arch "$(VBOX_INS_PROD_ARCH)" \
    971985                -defaultcompressionlevel none \
    972986                -intermediatefolder $$(@D)/wix-temp/ \
     
    9911005
    9921006# Create WISUMINFO argument.
    993 VBOX_INS_PROD_ARCH.amd64 = x64
    994 VBOX_INS_PROD_ARCH.arm64 = Arm64
    995 VBOX_INS_PROD_ARCH.x86   = Intel
    996 VBOX_INS_PROD_ARCH := $(VBOX_INS_PROD_ARCH.$(KBUILD_TARGET_ARCH))
    997 ifeq ($(VBOX_INS_PROD_ARCH),)
    998  $(error VBOX_INS_PROD_ARCH is empty!)
    999 endif
    10001007VBOX_INS_PROD_LANG := 7="$(VBOX_INS_PROD_ARCH);1033
    10011008$(foreach lang, $(filter-out en_US,$(VBOX_INSTALLER_LANGUAGES))\
     
    10041011
    10051012# The multilingual installer rule.
     1013$(call KB_FN_AUTO_CMD_DEPS,$(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi)
    10061014$(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi \
    10071015+ $(VBOX_WIN_INST_REPACK_DIR)/2-multilingual-$(PACKAGE_NAME_LANG).cmd: \
    10081016                $(VBOX_WIN_INST_OUT_DIR)/en_US/$(PACKAGE_NAME_LANG)_en_US.msi \
    10091017                $(foreach lang,$(filter-out en_US,$(VBOX_INSTALLER_LANGUAGES)),$(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(lang).mst)
     1018        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    10101019        $(call MSG_L1,Creating final multilingual MSI)
    10111020        $(QUIET)$(RM) -f -- \
     
    10181027
    10191028        $(REDIRECT) -C $(@D) -- cscript.exe /nologo $(VBOX_PATH_WISUBSTG) $(@F)
     1029        $(REDIRECT) -C $(@D) -- cscript.exe /nologo $(VBOX_PATH_WISUMINFO) $@
    10201030        $(REDIRECT) -C $(@D) -- cscript.exe /nologo $(VBOX_PATH_WISUMINFO) $@ $(VBOX_INS_PROD_LANG)
     1031        $(REDIRECT) -C $(@D) -- cscript.exe /nologo $(VBOX_PATH_WISUMINFO) $@
    10211032        $(call VBOX_SIGN_MSI_FN,$@,$(VBOX_PRODUCT) $(VBOX_VERSION_STRING)r$(VBOX_SVN_REV) ($(KBUILD_TARGET_ARCH)),,,disable-dual-signing)
    10221033
     
    10341045                'call sign-sha1.cmd $(@F) || exit /b1' \
    10351046                ) ) \
    1036         $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE),'copy /y "$(@F)" "$(notdir $(PACKAGE_NAME_FINAL))" || exit /b1',) \
     1047                $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE),'copy /y "$(@F)" "$(notdir $(PACKAGE_NAME_FINAL))" || exit /b1',) \
    10371048                '@echo Created multilanguage MSI: $(notdir $(PACKAGE_NAME_FINAL))'
    1038 
    1039 # Copy multilingual installer to bin.
     1049        $(call MSG_L1,Start validation of "$@" - errors will be ignored)
     1050        -$(REDIRECT) -- $(VBOX_TOOLS_WIN_WIX_BIN) msi validate "$@"
     1051        $(call MSG_L1,Finished validating "$@" - any errors was ignored)
     1052
     1053
     1054# Copy multilingual installer to bin, deleting any older .msi files to avoid wasting space.
    10401055$(PACKAGE_NAME_FINAL): $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi | $$(dir $$@)
    10411056        $(QUIET)$(RM) -f $(wildcard $(@D)/$(PACKAGE_BASE)-r*$(if-expr defined(VBOX_WITH_COMBINED_PACKAGE),_$(KBUILD_TARGET_ARCH),).msi)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette