VirtualBox

Changeset 107374 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Dec 18, 2024 11:51:03 PM (4 weeks ago)
Author:
vboxsync
Message:

Add/Nt/Installer: Use solid lzma compression as it reduces the installer size by half. Introduced experimental VBOX_WITH_NATIVE_NSIS_INSTALLER build config option (only works for amd64 & x86).

Location:
trunk/src/VBox/Additions/WINNT/Installer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Installer/InstallHelper/Makefile.kmk

    r106908 r107374  
    7676VBoxGuestInstallHelperDll_TEMPLATE        := VBoxGuestInstallHelperDllTemplateWithFewerLibs
    7777VBoxGuestInstallHelperDll_NAME            := VBoxGuestInstallHelper
    78 VBoxGuestInstallHelperDll_BLD_TRG_ARCH    := x86
     78ifndef VBOX_WITH_NATIVE_NSIS_INSTALLER
     79 VBoxGuestInstallHelperDll_BLD_TRG_ARCH   := x86
     80endif
    7981VBoxGuestInstallHelperDll_INST            := repackadd/resources/VBoxGuestInstallHelperDll/
    8082ifdef VBOX_SIGN_ADDITIONS # (See the parent makefile.)
     
    8587if1of ($(KBUILD_TARGET_ARCH), x86)
    8688 VBoxGuestInstallHelperDll_DEFS           += _WIN32_WINNT=0x0400
    87  VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := nt4
     89 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86   := nt4
    8890else if1of ($(KBUILD_TARGET_ARCH), amd64)
    8991 VBoxGuestInstallHelperDll_DEFS           += _WIN32_WINNT=0x0501
    90  VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := xp
     92 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86   := xp
     93 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.amd64 := xp64
    9194else
    9295 VBoxGuestInstallHelperDll_DEFS           += _WIN32_WINNT=0x0a00
    93  VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := w8
     96 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86   := w8
     97 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.arm64 := w10-1709
    9498endif
    9599VBoxGuestInstallHelperDll_SOURCES         := \
  • trunk/src/VBox/Additions/WINNT/Installer/Makefile.kmk

    r107341 r107374  
    293293                ,-E '$(base)=$(firstword $($(base)) none)' -E '$(base)_TS=$(firstword $($(base)_TS) none)')
    294294
     295# Notes on SetCompressor: solid + lzma w/ 16MB dict reduced the amd64 installer
     296#   from 16280616 to 7679592 bytes, or by ~53%.  For x86 we use a smaller
     297#   dictionary (the default) since ancient windows VMs doesn't require a lot of
     298#   memory and the VMs might have a lot of RAM configured.  Size reduction is
     299#   from 9530296 to 5056096 bytes / by ~47%. (4 MB dict: 5948856 bytes / 38%)
    295300$(PATH_STAGE_BIN)/additions/VBoxWindowsAdditions-$(KBUILD_TARGET_ARCH).exe: \
    296301                $(PATH_SUB_CURRENT)/VBoxGuestAdditions.nsi \
     
    326331        $(REDIRECT) -C $(VBOX_PATH_WIN_ADD_INS_SRC) \
    327332                $(VB_WIN_ADD_NSIS_ENV) \
    328                 -- $(EXEC_X86_WIN32) $(VBOX_PATH_NSIS)/makensis.exe /NOCD /V2 \
     333                -- $(EXEC_X86_WIN32) $(VBOX_PATH_NSIS)/makensis.exe /NOCD /V3 \
     334                        "/XSetCompressor /SOLID lzma" "/XSetCompressorDictSize $(if-expr $(KBUILD_TARGET_ARCH) == x86,4,16)" \
     335                        $(if-expr defined(VBOX_WITH_NATIVE_NSIS_INSTALLER),"/XTarget $(KBUILD_TARGET_ARCH)-unicode",) \
    329336                        $(if $(VBOX_SIGNING_MODE),'/DEXTERNAL_UNINSTALLER=1') \
    330337                       $(if-expr defined(VBOX_SIGN_ADDITIONS) && defined(VBOX_SIGNING_MODE), \
     
    374381                $(VB_WIN_ADD_NSIS_ENV) \
    375382                -- $(EXEC_X86_WIN32) $(VBOX_PATH_NSIS)/makensis.exe /NOCD /V2 \
     383                        $(if-expr defined(VBOX_WITH_NATIVE_NSIS_INSTALLER),"/XTarget $(KBUILD_TARGET_ARCH)-unicode",) \
    376384                        $(if $(VBOX_SIGN_ADDITIONS),'/DVBOX_SIGN_ADDITIONS=1') \
    377385                        $(if $(VBOX_WITH_VBOX_LEGACY_TS_CA),'/DVBOX_WITH_VBOX_LEGACY_TS_CA=1') \
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