VirtualBox

Changeset 107015 in vbox for trunk/src/VBox/Installer


Ignore:
Timestamp:
Nov 15, 2024 11:20:04 AM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165955
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

Location:
trunk/src/VBox/Installer/win
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Defines.wxi

    r106061 r107015  
    3434
    3535  <?if $(env.KBUILD_TARGET_ARCH) = "amd64" ?>
     36      <?define VBoxProperty_MsiInstallerVersion = "200" ?>
    3637      <?define Property_ProgramFiles = "StandardDirectory" ?>
    3738      <?define Property_Platform     = "x64" ?>
     
    3940      <?define Property_Bitness      = "always64" ?>
    4041
    41       <?if $(env.VBOX_SIGNING_MODE)!= none ?>
     42      <?if $(env.VBOX_SIGNING_MODE) != "none" ?>
    4243          <?define Property_DriverLegacy = "no" ?>
    4344      <?else?>
    4445          <?define Property_DriverLegacy = "yes" ?>
    4546      <?endif?>
     47  <?endif?>
    4648
    47   <?else?>
     49  <?if $(env.KBUILD_TARGET_ARCH) = "arm64" ?>
     50      <?define VBoxProperty_MsiInstallerVersion = "500" ?>
     51      <?define Property_ProgramFiles = "StandardDirectory" ?>
     52      <!-- Property_Platform     = "Arm64" - doesn't seem to be used anywhere. -->
     53      <!-- Property_IsWin64      = "yes"   - doesn't seem to be used anywhere. -->
     54      <?define Property_Bitness      = "always64" ?>
     55      <!-- Property_DriverLegacy = "no"    - doesn't seem to be used anywhere. -->
     56  <?endif?>
     57
     58  <?if $(env.KBUILD_TARGET_ARCH) = "x86" ?>
     59      <?define VBoxProperty_MsiInstallerVersion = "200" ?>
    4860      <?define Property_ProgramFiles = "ProgramFilesFolder" ?>
    4961      <?define Property_Platform     = "x86" ?>
     
    5163      <?define Property_Bitness      = "always32" ?>
    5264
    53       <?if $(env.VBOX_SIGNING_MODE)!= none ?>
     65      <?if $(env.VBOX_SIGNING_MODE) != "none" ?>
    5466          <!-- Note: Settings this to 'no' breaks Windows 2000 installs (!) -->
    5567          <?define Property_DriverLegacy = "yes" ?>
  • 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)
  • trunk/src/VBox/Installer/win/VirtualBox.wxs

    r107005 r107015  
    5454<?endif?>
    5555
    56     <Package UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B" Name="$(env.VBOX_PRODUCT) $(env.VBOX_VERSION_STRING)" Language="!(loc.LANG)" Version="$(var.Property_Version)" Manufacturer="$(env.VBOX_VENDOR)" InstallerVersion="200"><SummaryInformation Keywords="Installer" Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package" Manufacturer="$(env.VBOX_VENDOR)" />
     56    <Package UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B" Name="$(env.VBOX_PRODUCT) $(env.VBOX_VERSION_STRING)"
     57        Language="!(loc.LANG)" Version="$(var.Property_Version)" Manufacturer="$(env.VBOX_VENDOR)"
     58        InstallerVersion="$(var.VBoxProperty_MsiInstallerVersion)">
     59
     60        <SummaryInformation Keywords="Installer"
     61            Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package" Manufacturer="$(env.VBOX_VENDOR)" />
    5762
    5863    <?include CommonProperties.wxi ?>
    5964
     65    <!-- @todo indentation is wrong here and it goes on to about line 525. -->
    6066    <!-- Global properties -->
    6167    <Property Id="ARPPRODUCTICON" Value="IconVirtualBox" />
     
    8086    <?include PublicProperties.wxi ?>
    8187
    82     <!-- Make sure installation will not start on anything other but the NT family -->
    83 <?if $(env.KBUILD_TARGET_ARCH) = "amd64" ?>
     88    <!-- Make doubly sure we're on 64-bit windows NT.
     89         Note! This is normally checked by  -->
    8490    <Launch Condition="VersionNT64" Message="!(loc.Only64Bit)" />
    85 <?else?>
    86     <Launch Condition="NOT VersionNT64" Message="!(loc.Only32Bit)" />
    87 
    88     <Launch Condition="NOT VersionNT=500 AND NOT Version9X AND NOT VersionNT64" Message="!(loc.WrongOS)" />
    89 
    90 <?endif?>
    9191
    9292    <Launch Condition="Privileged" Message="!(loc.NeedAdmin)" />
Note: See TracChangeset for help on using the changeset viewer.

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