Changeset 79891 in vbox for trunk/src/VBox/Installer
- Timestamp:
- Jul 19, 2019 4:16:19 PM (5 years ago)
- Location:
- trunk/src/VBox/Installer/win
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Installer/win/Makefile.kmk
r79709 r79891 29 29 include $(PATH_SUB_CURRENT)/InstallHelper/Makefile.kmk 30 30 31 ifeq ($(KBUILD_TARGET_ARCH),x86) 32 include $(PATH_SUB_CURRENT)/Stub/Makefile.kmk 33 include $(PATH_SUB_CURRENT)/StubBld/Makefile.kmk 34 endif 35 31 include $(PATH_SUB_CURRENT)/Stub/Makefile.kmk 32 include $(PATH_SUB_CURRENT)/StubBld/Makefile.kmk 36 33 include $(PATH_SUB_CURRENT)/Resources/Makefile.kmk 37 34 ifdef VBOX_WITH_MSI_HACK … … 157 154 endif 158 155 else 159 PACKING += $(PACKAGE_NAME_FINAL) 156 PACKAGE_NAME_MULTIARCH := $(PACKAGE_NAME_LANG)-MultiArch 157 PACKAGE_NAME_MULTIARCH_FINAL := $(PACKAGE_NAME_MULTIARCH).exe 158 PACKING += $(PACKAGE_NAME_FINAL) $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) 160 159 endif 161 160 BLDDIRS += \ … … 198 197 $(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi \ 199 198 $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi \ 200 $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd 199 $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd \ 200 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) 201 201 202 202 ifdef VBOX_WITH_COMBINED_PACKAGE 203 203 ifeq ($(KBUILD_TARGET_ARCH),x86) 204 204 OTHER_CLEAN += \ 205 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \206 205 $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd \ 207 206 $(PATH_MULTIARCH_TEMP)/$(PACKAGE_NAME_MULTIARCH.x86) … … 1047 1046 ) ) \ 1048 1047 '@echo Create multiarch EXE: $(@F)' 1048 else 1049 # 1050 # We still do the installer stub thing even if we only ship 64-bit, because we've 1051 # gotten used to having it around to install the certificate and such. 1052 # 1053 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \ 1054 + $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd: \ 1055 $(PACKAGE_NAME_FINAL) \ 1056 $(PATH_STAGE_BIN)/VBoxStub.exe \ 1057 $$(VBoxStubBld_1_TARGET) 1058 $(call MSG_L1,Building Windows package w/ installer stub) 1059 $(QUIET)$(RM) -f -- $(wildcard $(subst r$(VBOX_SVN_REV),r*, \ 1060 $@ \ 1061 $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd ) ) 1062 $(REDIRECT) -C $(@D) -- \ 1063 $(VBoxStubBld_1_TARGET) -out $@ \ 1064 -target-$(KBUILD_TARGET_ARCH) $(PACKAGE_NAME_FINAL) \ 1065 -stub $(PATH_STAGE_BIN)/VBoxStub.exe 1066 $(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $@ 1067 $(call VBOX_SIGN_FILE_FN,$@) 1068 # Create repack script for this step. 1069 $(APPEND) -nt "$(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd" \ 1070 'if ".%KBUILD_DEVTOOLS%" == "." (echo KBUILD_DEVTOOLS is not set & exit /b1)' \ 1071 'if ".%KBUILD_BIN_PATH%" == "." (echo KBUILD_BIN_PATH is not set & exit /b1)' \ 1072 $(subst $(KBUILD_BIN_PATH),%KBUILD_BIN_PATH%,$(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%, \ 1073 $(if-expr defined(VBOX_WITH_MSM_INSTALL), \ 1074 ,'call sign-dual.cmd ../../../win.amd64/$(KBUILD_TYPE)/repack/$(notdir $(PACKAGE_NAME_MULTIARCH_COMMONCAB)) || exit /b1') \ 1075 '..\bin\VBoxStubBld.exe ^' \ 1076 ' -out $(@F) ^' \ 1077 ' -target-$(KBUILD_TARGET_ARCH) $(PACKAGE_NAME_FINAL) ^' \ 1078 ' -stub ../bin/VBoxStub.exe || exit /b1' \ 1079 '$(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $(@F) || exit /b1' \ 1080 'call sign-dual.cmd $(@F) || exit /b1' \ 1081 ) ) \ 1082 '@echo Create multiarch EXE: $(@F)' 1049 1083 endif 1050 1084 -
trunk/src/VBox/Installer/win/Stub/Makefile.kmk
r77769 r79891 19 19 include $(KBUILD_PATH)/subheader.kmk 20 20 21 # This has to be 32-bit, so don't include it in the 64-bit build. 22 if "$(KBUILD_TARGET_ARCH)" == "x86" 21 TEMPLATE_VBOXSTUB = Drop the signing, we will sign it later. 22 TEMPLATE_VBOXSTUB_EXTENDS = VBOXR3STATIC 23 TEMPLATE_VBOXSTUB_POST_CMDS = $(NO_SUCH_VARIABLE) 23 24 24 TEMPLATE_VBOXSTUB = Drop the signing, we will sign it later. 25 TEMPLATE_VBOXSTUB_EXTENDS = VBOXR3STATIC 26 TEMPLATE_VBOXSTUB_POST_CMDS = $(NO_SUCH_VARIABLE) 25 # 26 # Installer stub program 27 # 28 PROGRAMS += VBoxStub 29 VBoxStub_TEMPLATE= VBOXSTUB 30 VBoxStub_BLD_TRG_ARCH = x86 31 VBoxStub_DEFS = _WIN32_WINNT=0x0501 IN_RT_R3 27 32 28 PROGRAMS += VBoxStub 29 VBoxStub_TEMPLATE= VBOXSTUB 30 VBoxStub_DEFS = _WIN32_WINNT=0x0501 IN_RT_R3 33 VBoxStub_SOURCES = \ 34 VBoxStub.cpp \ 35 VBoxStub.rc 31 36 32 VBoxStub_SOURCES = \ 33 VBoxStub.cpp \ 34 VBoxStub.rc 37 VBoxStub_SDKS += \ 38 VBOX_NTDLL 39 ifeq ($(KBUILD_TARGET_ARCH),x86) 40 VBoxStub_LIBS += \ 41 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib \ 42 $(VBOX_LIB_RUNTIME_STATIC) 43 else 44 VBoxStub_LIBS += \ 45 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib \ 46 $(PATH_STAGE_LIB)/RuntimeR3-x86.lib 47 endif 35 48 36 VBoxStub_SDKS += \ 37 VBOX_NTDLL 38 VBoxStub_LIBS = \ 39 $(VBOX_LIB_RUNTIME_STATIC) \ 40 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib 41 VBoxStub_LDFLAGS = \ 42 -DelayLoad:comctl32.dll 43 VBoxStub_POST_CMDS = $(VBOX_CHECK_IMPORTS) --image $(out) ntdll.dll kernel32.dll 44 VBoxStub_LNK_DEPS = $(VBOX_CHECK_IMPORTS) 49 VBoxStub_LDFLAGS = \ 50 -DelayLoad:comctl32.dll 51 VBoxStub_POST_CMDS = $(VBOX_CHECK_IMPORTS) --image $(out) ntdll.dll kernel32.dll 52 VBoxStub_LNK_DEPS = $(VBOX_CHECK_IMPORTS) 45 53 46 47 54 VBoxStub.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV) 55 VBoxStub.cpp_DEPS = $(VBOX_SVN_REV_KMK) 48 56 49 50 51 57 # If signing mode is enabled, then add the possibility to install the code 58 # signing certificates (public key only) automatically in /silent mode. 59 ifdef VBOX_SIGNING_MODE 52 60 53 54 55 56 57 61 VBoxStub_SOURCES += VBoxStubCertUtil.cpp 62 VBoxStub_CLEAN += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h 63 VBoxStub.cpp_DEPS += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h 64 VBoxStub.cpp_INCS += $(VBoxStub_0_OUTDIR) 65 VBoxStub.cpp_DEFS += VBOX_WITH_CODE_SIGNING 58 66 59 67 $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h: | $$(dir $$@) $(VBOX_RTSIGNTOOL) $(PATH_STAGE_SYS)/VBoxDrv.sys 60 68 $(RM) -f -- "$@" "[email protected]" "[email protected]" "[email protected]" "[email protected]" 61 69 … … 63 71 $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert0 "[email protected]" $@ 64 72 $(APPEND) "[email protected]" " { g_abVBoxStubTrustedCert0, sizeof(g_abVBoxStubTrustedCert0) }, " 65 73 if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) || $(intersects win all 1,$(VBOX_WITH_CORP_CODE_SIGNING)) 66 74 $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(PATH_STAGE_SYS)/VBoxDrv.sys" --output "[email protected]" --der 67 75 $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert1 "[email protected]" $@ 68 76 $(APPEND) "[email protected]" " { g_abVBoxStubTrustedCert1, sizeof(g_abVBoxStubTrustedCert1) }, " 69 70 77 endif 78 if $(intersects win_planb,$(VBOX_WITH_CORP_CODE_SIGNING)) 71 79 $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(VBOX_RTSIGNTOOL)" --output "[email protected]" --der 72 80 $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert2 "[email protected]" $@ 73 81 $(APPEND) "[email protected]" " { g_abVBoxStubTrustedCert2, sizeof(g_abVBoxStubTrustedCert2) }, " 74 82 endif 75 83 $(APPEND) -n "$@" \ 76 84 "" \ 77 85 "struct { uint8_t const *pab; uint32_t cb; }" "g_aVBoxStubTrustedCerts[] = " \ 78 86 "{" 79 87 $(SED) --append "$@" -e "" "[email protected]" 80 88 $(APPEND) -n "$@" \ 81 89 "};" 82 90 $(RM) -f -- "[email protected]" "[email protected]" "[email protected]" "[email protected]" 83 91 84 92 VBoxStubPublicCert.h:: $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h 85 93 86 94 endif 87 95 88 89 90 91 92 93 94 95 96 # The icon location is configurable. 97 VBoxStub.rc_INCS += $(VBoxStub_0_OUTDIR) 98 VBoxStub.rc_DEPS += \ 99 $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \ 100 $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc 101 VBoxStub.rc_CLEAN = \ 102 $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \ 103 $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc 96 104 97 98 105 # Icon include file. 106 $$(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@) 99 107 $(APPEND) -t $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"' 100 108 101 102 103 109 # Manifest. 110 VBOX_STUB_MANIFEST_FILE := $(PATH_SUB_CURRENT)/VBoxStub.manifest 111 $$(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc: $(VBOX_STUB_MANIFEST_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@) 104 112 $(APPEND) -t $@ 'APP_MANIFEST RT_MANIFEST "$(subst /,\\,$(VBOX_STUB_MANIFEST_FILE))"' 105 113 106 107 108 114 # Dynamic import no. 1: MSI.DLL 115 VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm 116 $$(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm: $(PATH_SUB_CURRENT)/msi.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 109 117 $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@) 110 118 $(QUIET)$(RM) -f -- "$@" 111 119 $(VBOX_DEF_2_LAZY_LOAD) --system --library MSI.DLL --output "$@" $(filter %.def, $^) 112 120 113 114 115 121 # Dynamic import no. 2: CRYPTO32.DLL 122 VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm 123 $$(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm: $(PATH_SUB_CURRENT)/crypt32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 116 124 $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@) 117 125 $(QUIET)$(RM) -f -- "$@" 118 126 $(VBOX_DEF_2_LAZY_LOAD) --system --library CRYPT32.DLL --output "$@" $(filter %.def, $^) 119 127 120 121 122 128 # Dynamic import no. 3: WS2_32.DLL 129 VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm 130 $$(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm: $(PATH_SUB_CURRENT)/ws2_32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 123 131 $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@) 124 132 $(QUIET)$(RM) -f -- "$@" 125 133 $(VBOX_DEF_2_LAZY_LOAD) --system --library WS2_32.DLL --output "$@" $(filter %.def, $^) 126 134 127 128 129 135 # Dynamic import no. 4: USER32.DLL 136 VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/User32LazyLoad.asm 137 $$(VBoxStub_0_OUTDIR)/User32LazyLoad.asm: $(PATH_SUB_CURRENT)/user32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 130 138 $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@) 131 139 $(QUIET)$(RM) -f -- "$@" 132 140 $(VBOX_DEF_2_LAZY_LOAD) --system --library USER32.DLL --output "$@" $(filter %.def, $^) 133 141 134 135 136 142 # Dynamic import no. 5: SHELL32.DLL 143 VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm 144 $$(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm: $(PATH_SUB_CURRENT)/shell32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 137 145 $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@) 138 146 $(QUIET)$(RM) -f -- "$@" 139 147 $(VBOX_DEF_2_LAZY_LOAD) --system --library SHELL32.DLL --output "$@" $(filter %.def, $^) 140 148 149 include $(FILE_KBUILD_SUB_FOOTER) 141 150 142 endif # x86 only143 144 include $(FILE_KBUILD_SUB_FOOTER) -
trunk/src/VBox/Installer/win/StubBld/Makefile.kmk
r76553 r79891 19 19 include $(KBUILD_PATH)/subheader.kmk 20 20 21 # This is only used in the 32-bit build (see ../Stub/Makefile.kmk). 22 PROGRAMS.x86 += VBoxStubBld 21 BLDPROGS += VBoxStubBld 23 22 VBoxStubBld_TEMPLATE= VBoxBldProg 24 23 VBoxStubBld_DEFS = _WIN32_WINNT=0x0400 VBOX_SVN_REV=$(VBOX_SVN_REV) $(VBOX_SVN_REV_KMK)
Note:
See TracChangeset
for help on using the changeset viewer.