VirtualBox

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

Last change on this file since 51307 was 51307, checked in by vboxsync, 11 years ago

Windows host installer: Added vbox-img.exe.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 17.9 KB
Line 
1<!--
2 VirtualBox Windows Installation Script (WiX)
3
4 Copyright (C) 2006-2014 Oracle Corporation
5
6 This file is part of VirtualBox Open Source Edition (OSE), as
7 available from http://www.virtualbox.org. This file is free software;
8 you can redistribute it and/or modify it under the terms of the GNU
9 General Public License (GPL) as published by the Free Software
10 Foundation, in version 2 as it comes in the "COPYING" file of the
11 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
12 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
13-->
14
15<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
16 xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
17
18<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
19 <Directory Id="dir_VBoxAppDocuments" Name="doc">
20 <!-- The documentation is a separate component. This allows to split the install process
21 into pieces if ever necessary. Maintenance is easier, too. The following component
22 will be installed in the "doc" folder -->
23 <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4"
24 Win64="$(var.Property_Win64)">
25 <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
26 </Component>
27 </Directory>
28<?endif ?>
29 <!-- Device driver directory -->
30 <Directory Id="dir_VBoxAppDrivers" Name="drivers">
31 <Directory Id="dir_VBoxAppVBoxDrv" Name="vboxdrv">
32 <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
33 <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
34 Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
35 <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
36 Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
37 <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
38 Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
39<?if $(env.VBOX_SIGNING_MODE) != none ?>
40 <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
41 Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
42<?endif ?>
43 </Component>
44 </Directory>
45 </Directory> <!-- Directory "drivers" -->
46
47<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
48 <!-- National Language Support directory -->
49 <Directory Id="dir_VBoxAppNLS" Name="nls">
50 <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
51 <!-- Include the autogenerated NLS file list -->
52 <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
53 </Component>
54 </Directory>
55<?endif ?>
56
57 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
58 TypeLib element where to take the TLB resource from) may appear only once per component -->
59 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
60
61 <!-- Note: This file ID *must not* be changed because of our typelib template generation file! -->
62 <File Id="VBoxSVC" Name="VBoxSVC.exe"
63 Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
64 </File>
65
66 <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
67 and create appropriate Interface registry entries. Note that the same TLB is present
68 in VBoxSVC.exe - it's just a matter of choice which one to use -->
69 <!-- Note: This file ID *must not* be changed because of our typelib template generation file! -->
70 <File Id="VBoxC" Name="VBoxC.dll"
71 Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
72 </File>
73
74 <!-- Include the auto-generated TypeLib block -->
75 <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
76
77 </Component>
78
79 <!--
80
81 <Component Id="cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
82 <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
83 Value="installed" KeyPath="yes" />
84 <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
85 Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
86 <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
87 </Component>-->
88
89 <!---->
90
91<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
92 <Component Id="cp_RegisterExtensions" Guid="FEB8943E-5D60-4E2D-846F-458207019D40"
93 Win64="$(var.Property_Win64)" KeyPath="yes">
94 <Condition>VBOX_REGISTERFILEEXTENSIONS</Condition>
95 <!-- Register file extensions. Note: Extension IDs *must not* be changed! These specify the actual
96 file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
97 Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h" -->
98 <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
99 <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
100 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
101 </Extension>
102 </ProgId>
103 <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
104 <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
105 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
106 </Extension>
107 </ProgId>
108 <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
109 <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
110 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
111 </Extension>
112 </ProgId>
113 <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
114 <Extension Id="ova" ContentType="application/x-virtualbox-ova">
115 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
116 </Extension>
117 </ProgId>
118 <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
119 <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
120 </ProgId>
121 <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
122 <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
123 </ProgId>
124 <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
125 <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
126 </ProgId>
127 <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
128 <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
129 </ProgId>
130 </Component> <!-- cp_RegisterExtensions -->
131<?endif ?>
132
133 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
134 binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated -->
135 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
136
137 <!-- Set required environment variables -->
138 <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_MSI_INSTALL_PATH"
139 System="yes" Part="last" Permanent="no" Value="[msm_VBoxApplicationFolder]" />
140
141 <!-- Files -->
142<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
143 <!-- Include all user manual .CHM files (file is generated by makefile) -->
144 <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
145<?endif ?>
146 <!-- Include all license files (file is generated by makefile) -->
147 <?include $(env.PATH_TARGET)\Files_License.wxi ?>
148
149 <!-- Frontends -->
150 <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
151 Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
152 <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
153 Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
154 <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
155 <!-- <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
156 </File>
157 <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
158 Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
159 <File Id="file_vbox-img.exe" Name="vbox-img.exe"
160 Source="$(env.PATH_OUT)\bin\vbox-img.exe"/>
161
162 <!-- Misc tools -->
163 <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
164 Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
165 <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe"
166 Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe"/>
167<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
168 <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
169 Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
170<?endif ?>
171 <!-- VBox DLL files -->
172 <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
173 Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
174 <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
175 Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
176 <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
177 Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
178 <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
179 Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
180 <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
181 Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
182<?if $(env.BUILD_TARGET_ARCH) = "x86" ?>
183 <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
184 Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
185 <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
186 Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
187<?endif ?>
188 <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
189 Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
190<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
191 <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
192 Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
193<?endif ?>
194 <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
195 Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
196 <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
197 Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
198<?if $(env.VBOX_WITH_DRAG_AND_DROP)= "yes" ?>
199 <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll"
200 Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
201<?endif ?>
202<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
203 <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
204 Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
205<?endif ?>
206<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
207 <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
208 Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
209<?endif ?>
210 <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll"
211 Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
212 <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
213 Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
214 <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
215 Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
216
217 <!-- Include resource DLL (icons, ...) -->
218 <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
219 Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
220
221 <File Id="file_VMMGC.gc" Name="VMMGC.gc"
222 Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
223 <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
224 Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
225 <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
226 Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
227
228 <File Id="file_VMMR0.r0" Name="VMMR0.r0"
229 Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
230 <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
231 Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
232 <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
233 Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
234
235<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
236 <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
237 Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
238<?endif ?>
239<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
240 <!-- Qt frontend -->
241 <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
242 Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
243 </File>
244 <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
245 Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
246 <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
247 Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
248 <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
249 Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
250<?endif ?>
251<?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
252 <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
253 Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
254<?endif ?>
255<?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
256 <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
257 Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
258<?endif?>
259
260<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
261 <!-- MS C/C++ v10.0 Runtime DLL files -->
262 <File Id="file_msvcr100.dll" Name="msvcr100.dll"
263 Source="$(env.PATH_OUT)\bin\msvcr100.dll" />
264 <File Id="file_msvcp100.dll" Name="msvcp100.dll"
265 Source="$(env.PATH_OUT)\bin\msvcp100.dll" />
266<?endif?>
267<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
268 <!-- MS C/C++ v11.0 Runtime DLL files -->
269 <File Id="file_msvcr110.dll" Name="msvcr110.dll"
270 Source="$(env.PATH_OUT)\bin\msvcr110.dll" />
271 <File Id="file_msvcp110.dll" Name="msvcp110.dll"
272 Source="$(env.PATH_OUT)\bin\msvcp110.dll" />
273<?endif?>
274
275 <!-- EFI firmware -->
276<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
277 <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
278 Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
279 <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
280 Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
281<?endif?>
282 <!-- VBox guest additions -->
283<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
284 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
285 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
286 Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso"
287 DiskId="$(var.Property_DiskIdCommon)" />
288 <?else ?>
289 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
290 Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
291 <?endif ?>
292<?endif ?>
293 <!-- Include key for VBox version -->
294 <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
295
296 </Component> <!-- MainBinaries -->
297
298<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
299 <!-- Qt accessible plugins -->
300 <Directory Id="dir_VBoxAppAccessible" Name="accessible">
301 <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
302 <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
303 Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
304 </Component>
305 </Directory>
306<?endif?>
307
308<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
309 <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
310 <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
311 Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
312 <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
313 Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
314 <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
315 Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
316 <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
317 Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
318 </Component>
319<?endif?>
320 <!-- SDL plugins -->
321 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4"
322 Win64="$(var.Property_Win64)">
323 <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
324 Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
325 <File Id="file_SDL.dll" Name="SDL.dll"
326 Source="$(env.PATH_OUT)\bin\SDL.dll" />
327<?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
328 <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
329 Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
330<?endif?>
331 </Component> <!-- SDL plugins -->
332
333<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
334 <!-- Webservice -->
335 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E"
336 Win64="$(var.Property_Win64)">
337 <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
338 Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
339 </Component>
340<?endif?>
341 <!-- C API (glue) bindings -->
342 <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0"
343 Win64="$(var.Property_Win64)">
344 <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll"
345 Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
346 </Component>
347
348</Include>
Note: See TracBrowser for help on using the repository browser.

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