VirtualBox

source: vbox/trunk/src/VBox/Installer/win/VBoxMergeApp.wxi@ 108453

最後變更 在這個檔案從108453是 108306,由 vboxsync 提交於 3 週 前

Host installer/win: Fixed a regression from r166426 which could lead to an ERROR_BAD_EXE_FORMAT error. See comments for details. bugref:10762

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 22.7 KB
 
1<!--
2 VirtualBox Windows Installation Script (WiX)
3-->
4<!--
5 Copyright (C) 2006-2024 Oracle and/or its affiliates.
6
7 This file is part of VirtualBox base platform packages, as
8 available from https://www.alldomusa.eu.org.
9
10 This program is free software; you can redistribute it and/or
11 modify it under the terms of the GNU General Public License
12 as published by the Free Software Foundation, in version 3 of the
13 License.
14
15 This program is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, see <https://www.gnu.org/licenses>.
22
23 SPDX-License-Identifier: GPL-3.0-only
24-->
25
26<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
27
28<?ifdef env.VBOX_QT_INFIX ?>
29 <?define VBOX_QT_INFIX="$(env.VBOX_QT_INFIX)" ?>
30<?else?>
31 <?define VBOX_QT_INFIX="" ?>
32<?endif?>
33
34 <Component Id="cp_Permissions" Guid="9F6E9729-6490-4FBB-9EA1-03234E68907A" Bitness="$(var.Property_Bitness)">
35 <?include Permissions.wxi ?>
36 </Component>
37
38<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
39 <Directory Id="dir_VBoxAppDocuments" Name="doc">
40 <!-- The documentation is a separate component. This allows to split the install process
41 into pieces if ever necessary. Maintenance is easier, too. The following component
42 will be installed in the "doc" folder -->
43 <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4" Bitness="$(var.Property_Bitness)">
44 <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
45 </Component>
46 </Directory>
47<?endif?>
48 <!-- Device driver directory -->
49 <Directory Id="dir_VBoxAppDrivers" Name="drivers">
50 <Directory Id="dir_VBoxAppVBoxSup" Name="vboxsup">
51<?if $(env.VBOX_SIGNING_MODE) != "none" ?>
52 <Component Id="cp_VBoxSupCat_W10" Guid="589be90d-0286-4684-503d-a1681f9587bc" Bitness="$(var.Property_Bitness)">
53 <File Id="file_VBoxSup.cat" Name="VBoxSup.cat" Source="$(env.VBOX_PATH_ATTESTATION_SIGNED)\VBoxSup.cat" />
54 </Component>
55<?endif?>
56 <Component Id="cp_VBoxSup" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Bitness="$(var.Property_Bitness)">
57 <!-- Note: Driver gets installed via custom action via VBoxInstallHelper. -->
58 <File Id="file_VBoxSup.sys" Name="VBoxSup.sys" KeyPath="yes" Source="$(env.VBOX_PATH_ATTESTATION_SIGNED)\VBoxSup.sys" />
59 <File Id="file_VBoxSup.inf" Name="VBoxSup.inf" Source="$(env.VBOX_PATH_ATTESTATION_SIGNED)\VBoxSup.inf" />
60 </Component>
61 </Directory>
62 </Directory> <!-- Directory "drivers" -->
63
64<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
65 <!-- National Language Support directory -->
66 <Directory Id="dir_VBoxAppNLS" Name="nls">
67 <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Bitness="$(var.Property_Bitness)">
68 <!-- Include the autogenerated NLS file list -->
69 <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
70 </Component>
71 </Directory>
72<?endif?>
73
74 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
75 TypeLib element where to take the TLB resource from) may appear only once per component.
76
77 Note: Before we VBoxSDS in an own component (cp_VBoxSDS), however, this makes the MSI validator freak
78 out, as our (generated) typelib definitions we install below use files (VBoxC.dll + VBoxSDS.exe)
79 from different components then. So we have to keep VBoxC.dll and VBoxSDS.exe in the same component -->
80 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Bitness="$(var.Property_Bitness)">
81
82 <!-- Note: This file ID *must not* be changed because of our typelib template generation file! -->
83 <File Id="VBoxSVC" Name="VBoxSVC.exe" Source="$(env.PATH_OUT)\bin\VBoxSVC.exe" />
84
85 <!-- The following ifdef is needed to not have two files with a KeyPath attribute set, which breaks the build.
86 If VBOX_WITH_SDS is defined, the VBoxSDS.exe below is being used as a KeyPath, as ServiceInstall uses the
87 file for which the KeyPath attribute has been set as the service binary being written to the registry.
88 So we have to prefer VBoxSDS in that case -->
89<?if $(env.VBOX_WITH_SDS) = "yes" ?>
90 <File Id="VBoxC" Name="VBoxC.dll" Source="$(env.PATH_OUT)\bin\VBoxC.dll" />
91<?else?>
92 <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
93 and create appropriate Interface registry entries
94
95 Note that the same TLB is present in VBoxSVC.exe and VBoxSDS.exe - it's just a matter of choice which one to use
96 The file ID *must not* be changed because of our typelib template generation file! -->
97 <File Id="VBoxC" Name="VBoxC.dll" Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="$(var.Property_VBoxCDllAsTypelib)" />
98<?endif?>
99 <!-- Include the auto-generated TypeLib block -->
100 <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
101
102<?if $(env.VBOX_WITH_SDS) = "yes" ?>
103 <File Id="VBoxSDS" Name="VBoxSDS.exe" Vital="yes" Source="$(env.PATH_OUT)\bin\VBoxSDS.exe" KeyPath="yes" />
104
105 <!-- The name of the Windows service is referenced in different places.
106 Don't forget to change it in other places too If you change it here :
107 - VirtualBox.idl (module name),
108 - VBoxSDS.cpp and VBoxProxyStub.cpp -->
109 <ServiceInstall Id="VBoxSDSInstall" Account="LocalSystem" Type="ownProcess"
110 Name="VBoxSDS" DisplayName="VirtualBox system service"
111 Description="Used as a COM server for VirtualBox API."
112 Start="demand" Interactive="no" ErrorControl="normal" Vital="yes">
113 <ServiceDependency Id="RPCSS" />
114 </ServiceInstall>
115 <ServiceControl Id="VBoxSDSControl" Name="VBoxSDS" Stop="both" Remove="uninstall" />
116<?endif?>
117 </Component>
118
119<?if $(env.VBOX_WITH_MIDL_PROXY_STUB) = "yes" ?>
120 <Component Id="cp_ProxyStub" Guid="CDD09BA4-8D87-4383-DCA6-1CCCF9D11091" Bitness="$(var.Property_Bitness)">
121 <File Id="file_VBoxProxyStub" Name="VBoxProxyStub.dll" KeyPath="yes" Source="$(env.PATH_OUT)\bin\VBoxProxyStub.dll">
122 <Class Id="$(env.VBOX_MIDL_PROXY_CLSID)" Context="InprocServer32" Description="PSFactoryBuffer" ThreadingModel="both" />
123 </File>
124 </Component>
125<?endif?>
126
127<?if $(env.VBOX_WITH_DTRACE) = "yes" ?>
128 <?include $(env.PATH_TARGET)\DirComponentsAndFiles_DTrace.wxi ?>
129<?endif?>
130
131 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
132 binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated -->
133 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Bitness="$(var.Property_Bitness)">
134
135 <!-- Set required environment variables -->
136 <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_MSI_INSTALL_PATH" System="yes" Part="last" Permanent="no" Value="[msm_VBoxApplicationFolder]" />
137
138 <!-- Files -->
139<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
140 <!-- Include all user manual .CHM files (file is generated by makefile) -->
141 <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
142<?endif?>
143 <!-- Include all license files (file is generated by makefile) -->
144 <?include $(env.PATH_TARGET)\Files_License.wxi ?>
145
146 <!-- Frontends -->
147 <File Id="file_VBoxManage.exe" Name="VBoxManage.exe" Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
148<?if $(env.VBOX_WITH_HEADLESS) = "yes" ?>
149 <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe" Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe" />
150 <?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
151 <File Id="file_VBoxHeadless.dll" Name="VBoxHeadless.dll" Source="$(env.PATH_OUT)\bin\VBoxHeadless.dll">
152 </File>
153 <?endif?>
154<?endif?>
155<?if $(env.VBOX_WITH_FE_BALLOONCTRL) = "yes" ?>
156 <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe" Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe" />
157<?endif?>
158<?if $(env.VBOX_WITH_FE_BUGREPORT) = "yes" ?>
159 <File Id="file_VBoxBugReport.exe" Name="VBoxBugReport.exe" Source="$(env.PATH_OUT)\bin\VBoxBugReport.exe" />
160<?endif?>
161<?if $(env.VBOX_WITH_FE_AUTOSTART) = "yes" ?>
162 <File Id="file_VBoxAutostartSvc.exe" Name="VBoxAutostartSvc.exe" Source="$(env.PATH_OUT)\bin\VBoxAutostartSvc.exe" />
163<?endif?>
164<?if $(env.VBOX_WITH_VBOX_IMG) = "yes" ?>
165 <File Id="file_vbox_img.exe" Name="vbox-img.exe" Source="$(env.PATH_OUT)\bin\vbox-img.exe" />
166<?endif?>
167 <!-- Misc tools -->
168 <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe" Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe" />
169<?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
170 <File Id="file_VBoxNetDHCP.dll" Name="VBoxNetDHCP.dll" Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.dll">
171 </File>
172<?endif?>
173 <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe" Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe" />
174<?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
175 <File Id="file_VBoxNetNAT.dll" Name="VBoxNetNAT.dll" Source="$(env.PATH_OUT)\bin\VBoxNetNAT.dll">
176 </File>
177<?endif?>
178<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
179 <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe" Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe" />
180<?endif?>
181<?if $(env.VBOX_WITH_DTRACE) = "yes" ?>
182 <File Id="file_VBoxDTrace.exe" Name="VBoxDTrace.exe" Source="$(env.PATH_OUT)\bin\VBoxDTrace.exe" />
183<?endif?>
184 <!-- VBox DLL files -->
185 <File Id="file_VBoxDD.dll" Name="VBoxDD.dll" Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
186 <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll" Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
187 <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll" Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
188 <File Id="file_VBoxRT.dll" Name="VBoxRT.dll" Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
189<?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
190 <File Id="file_VBoxSupLib.dll" Name="VBoxSupLib.dll" Source="$(env.PATH_OUT)\bin\VBoxSupLib.dll" />
191<?endif?>
192 <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll" Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
193<?if $(env.KBUILD_TARGET_ARCH) = "arm64" ?>
194 <File Id="file_VBoxVMMArm.dll" Name="VBoxVMMArm.dll" Source="$(env.PATH_OUT)\bin\VBoxVMMArm.dll" />
195<?endif?>
196<?if $(env.VBOX_WITH_LIBSSH) = "yes" ?>
197 <File Id="file_VBoxLibSsh.dll" Name="VBoxLibSsh.dll" Source="$(env.PATH_OUT)\bin\VBoxLibSsh.dll" />
198<?endif?>
199<?if $(env.VBOX_WITH_HOST_SHIPPING_AUDIO_TEST) = "yes" ?>
200 <File Id="file_VBoxAudioTest.exe" Name="VBoxAudioTest.exe" Source="$(env.PATH_OUT)\bin\VBoxAudioTest.exe" />
201<?endif?>
202 <File Id="file_VBoxDrvInst.exe" Name="VBoxDrvInst.exe" Source="$(env.PATH_OUT)\bin\VBoxDrvInst.exe" />
203<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
204 <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll" Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
205<?endif?>
206 <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll" Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
207 <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll" Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
208<?if $(env.VBOX_WITH_DRAG_AND_DROP)= "yes" ?>
209 <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll" Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
210<?endif?>
211<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
212 <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll" Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
213<?endif?>
214<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
215 <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll" Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
216<?endif?>
217 <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll" Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
218 <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll" Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
219 <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll" Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
220
221 <!-- Include resource DLL (icons, ...) -->
222 <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
223
224<?if $(env.VBOX_WITH_RAW_MODE) = "yes" ?>
225 <File Id="file_VMMRC.rc" Name="VMMRC.rc" Source="$(env.PATH_OUT)\bin\VMMRC.rc" />
226 <File Id="file_VBoxDDRC.rc" Name="VBoxDDRC.rc" Source="$(env.PATH_OUT)\bin\VBoxDDRC.rc" />
227<?endif?>
228<?if $(env.VBOX_WITH_R0_MODULES) = "yes" ?>
229 <File Id="file_VMMR0.r0" Name="VMMR0.r0" Source="$(env.VBOX_PATH_ATTESTATION_SIGNED)\VMMR0.r0" />
230 <?if $(env.VBOX_WITH_MINIMAL_R0) = "no" ?>
231 <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0" Source="$(env.VBOX_PATH_ATTESTATION_SIGNED)\VBoxDDR0.r0" />
232 <?endif?>
233<?endif?>
234
235<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
236 <!-- Qt frontend -->
237 <File Id="file_VirtualBox.exe" Name="VirtualBox.exe" Source="$(env.PATH_OUT)\bin\VirtualBox.exe" />
238 <File Id="file_VirtualBoxVM.exe" Name="VirtualBoxVM.exe" Source="$(env.PATH_OUT)\bin\VirtualBoxVM.exe" />
239 <File Id="file_UICommon.dll" Name="UICommon.dll" Source="$(env.PATH_OUT)\bin\UICommon.dll" />
240 <?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
241 <File Id="file_VirtualBoxVM.dll" Name="VirtualBoxVM.dll" Source="$(env.PATH_OUT)\bin\VirtualBoxVM.dll" />
242 <?endif?>
243 <?if $(env.VBOX_WITH_ORACLE_QT) = "yes" ?>
244 <File Id="file_Qt6Core$(var.VBOX_QT_INFIX).dll" Name="Qt6Core$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6Core$(var.VBOX_QT_INFIX).dll" />
245 <File Id="file_Qt6Gui$(var.VBOX_QT_INFIX).dll" Name="Qt6Gui$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6Gui$(var.VBOX_QT_INFIX).dll" />
246 <File Id="file_Qt6Widgets$(var.VBOX_QT_INFIX).dll" Name="Qt6Widgets$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6Widgets$(var.VBOX_QT_INFIX).dll" />
247 <File Id="file_Qt6PrintSupport$(var.VBOX_QT_INFIX).dll" Name="Qt6PrintSupport$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6PrintSupport$(var.VBOX_QT_INFIX).dll" />
248 <File Id="file_Qt6StateMachine$(var.VBOX_QT_INFIX).dll" Name="Qt6StateMachine$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6StateMachine$(var.VBOX_QT_INFIX).dll" />
249 <File Id="file_Qt6Help$(var.VBOX_QT_INFIX).dll" Name="Qt6Help$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6Help$(var.VBOX_QT_INFIX).dll" />
250 <!-- @todo r=bird: why file_vSql* and not file_Qt6Sql* like the 6 files above? -->
251 <File Id="file_vSql$(var.VBOX_QT_INFIX).dll" Name="Qt6Sql$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\Qt6Sql$(var.VBOX_QT_INFIX).dll" />
252 <?endif?>
253 <File Id="file_VirtualBox.VisualElementsManifest.xml" Name="VirtualBox.VisualElementsManifest.xml" Source="$(env.PATH_OUT)\bin\VirtualBox.VisualElementsManifest.xml" />
254 <File Id="file_VirtualBox_70px.png" Name="VirtualBox_70px.png" Source="$(env.PATH_OUT)\bin\VirtualBox_70px.png" />
255 <File Id="file_VirtualBox_150px.png" Name="VirtualBox_150px.png" Source="$(env.PATH_OUT)\bin\VirtualBox_150px.png" />
256 <!-- Register file extensions. Note: Extension IDs *must not* be changed! These specify the actual
257 file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
258 Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h"
259
260 Note! Registering the file extensions must be done in the same component where the binaries of FE/Qt live.
261 Otherwise the MSI validation will fail. -->
262 <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
263 <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
264 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
265 </Extension>
266 </ProgId>
267 <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
268 <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
269 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
270 </Extension>
271 </ProgId>
272 <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
273 <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
274 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
275 </Extension>
276 </ProgId>
277 <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
278 <Extension Id="ova" ContentType="application/x-virtualbox-ova">
279 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
280 </Extension>
281 </ProgId>
282 <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
283 <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
284 </ProgId>
285 <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
286 <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
287 </ProgId>
288 <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
289 <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
290 </ProgId>
291 <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
292 <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
293 </ProgId>
294 <!-- Debugger UI. -->
295 <?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
296 <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll" Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
297 <File Id="file_DbgPlugInDiggers.dll" Name="DbgPlugInDiggers.dll" Source="$(env.PATH_OUT)\bin\DbgPlugInDiggers.dll" />
298 <?endif?>
299<?endif?> <!-- $(env.VBOX_WITH_QTGUI) = "yes" -->
300
301<?if $(env.VBOX_WITH_CRT_PACKING) = "yes" ?>
302 <!-- Include CRT Dlls (specific to the compiler). -->
303 <?include $(env.PATH_TARGET)\VBoxCrtDlls.wxi ?>
304<?endif?>
305
306 <!-- EFI firmware -->
307<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
308 <File Id="file_VBoxEFI-x86.fd" Name="VBoxEFI-x86.fd" DiskId="$(var.Property_DiskIdCommon)" Source="$(env.PATH_OUT)\bin\VBoxEFI-x86.fd" />
309 <File Id="file_VBoxEFI-amd64.fd" Name="VBoxEFI-amd64.fd" DiskId="$(var.Property_DiskIdCommon)" Source="$(env.PATH_OUT)\bin\VBoxEFI-amd64.fd" />
310 <?if $(env.KBUILD_TARGET_ARCH) = "arm64" ?>
311 <File Id="file_VBoxEFI-arm32.fd" Name="VBoxEFI-arm32.fd" DiskId="$(var.Property_DiskIdCommon)" Source="$(env.PATH_OUT)\bin\VBoxEFI-arm32.fd" />
312 <File Id="file_VBoxEFI-arm64.fd" Name="VBoxEFI-arm64.fd" DiskId="$(var.Property_DiskIdCommon)" Source="$(env.PATH_OUT)\bin\VBoxEFI-arm64.fd" />
313 <?endif?>
314<?endif?>
315 <!-- VBox guest additions -->
316<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
317 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
318 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso" Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso" DiskId="$(var.Property_DiskIdCommon)" />
319 <?else?>
320 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso" Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
321 <?endif?>
322<?endif?>
323 <!-- Include registry key for VBox version -->
324 <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
325
326 </Component> <!-- MainBinaries -->
327
328<?if $(env.VBOX_WITH_QTGUI) = "yes" And $(env.VBOX_WITH_ORACLE_QT) = "yes" ?>
329 <!-- Qt platforms plugins -->
330 <Directory Id="dir_VBoxAppPlatforms" Name="platforms">
331 <Component Id="cp_QtPlatforms" Guid="842367ec-6094-4ddc-93d8-6ca70fc1ca24" Bitness="$(var.Property_Bitness)">
332 <File Id="file_qminimal$(var.VBOX_QT_INFIX).dll" Name="qminimal$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\platforms\qminimal$(var.VBOX_QT_INFIX).dll" />
333 <File Id="file_qoffscreen$(var.VBOX_QT_INFIX).dll" Name="qoffscreen$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\platforms\qoffscreen$(var.VBOX_QT_INFIX).dll" />
334 <File Id="file_qwindows$(var.VBOX_QT_INFIX).dll" Name="qwindows$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\platforms\qwindows$(var.VBOX_QT_INFIX).dll" />
335 </Component>
336 </Directory>
337 <!-- Qt sqldrivers plugins -->
338 <Directory Id="dir_VBoxAppSqldrivers" Name="sqldrivers">
339 <Component Id="cp_QtSqldrivers" Guid="31ba006b-7dca-40b1-aba0-998eb18bd586" Bitness="$(var.Property_Bitness)">
340 <File Id="file_qsqlite$(var.VBOX_QT_INFIX).dll" Name="qsqlite$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\sqldrivers\qsqlite$(var.VBOX_QT_INFIX).dll" />
341 </Component>
342 </Directory>
343 <!-- Qt styles plugins -->
344 <Directory Id="dir_VBoxAppStyles" Name="styles">
345 <Component Id="cp_QtStyles" Guid="150837df-f3ae-416f-9ea3-94f1f41b9f41" Bitness="$(var.Property_Bitness)">
346 <File Id="file_qmodernwindowsstyle$(var.VBOX_QT_INFIX).dll" Name="qmodernwindowsstyle$(var.VBOX_QT_INFIX).dll" Source="$(env.PATH_OUT)\bin\styles\qmodernwindowsstyle$(var.VBOX_QT_INFIX).dll" />
347 </Component>
348 </Directory>
349<?endif?>
350
351<?if $(env.VBOX_WITH_VBOXSDL) = "yes" ?>
352 <!-- SDL frontend -->
353 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Bitness="$(var.Property_Bitness)">
354 <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe" Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
355 <?if $(env.VBOX_WITH_HARDENING) = "yes" ?>
356 <File Id="file_VBoxSDL.dll" Name="VBoxSDL.dll" Source="$(env.PATH_OUT)\bin\VBoxSDL.dll">
357 </File>
358 <?endif?>
359 <File Id="file_SDL.dll" Name="SDL.dll" Source="$(env.PATH_OUT)\bin\SDL.dll" />
360 </Component> <!-- SDL frontend -->
361<?endif?>
362
363<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
364 <!-- Webservice -->
365 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E" Bitness="$(var.Property_Bitness)">
366 <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe" Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
367 </Component>
368<?endif?>
369 <!-- C API (glue) bindings -->
370 <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0" Bitness="$(var.Property_Bitness)">
371 <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll" Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
372 </Component>
373
374 <!-- Unattended installation template scripts if enabled -->
375 <?include $(env.PATH_TARGET)\VBoxUnattendedTemplateComponent.wxi ?>
376
377</Include>
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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