VirtualBox

Changeset 51023 in vbox


Ignore:
Timestamp:
Apr 9, 2014 7:09:52 PM (11 years ago)
Author:
vboxsync
Message:

Windows host installer: Update for merge module (msm) support.

Location:
trunk/src/VBox/Installer/win
Files:
8 edited
8 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Makefile.kmk

    r51009 r51023  
    366366endef
    367367
    368 $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
    369         $(foreach lang,$(VBOX_INSTALLER_LANGUAGES), \
    370                 $(eval $(def_vbox_link_msm))))
     368$(if $(VBOX_WITH_MSM_INSTALL), \
     369        $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
     370                $(foreach lang,$(VBOX_INSTALLER_LANGUAGES), \
     371                        $(eval $(def_vbox_link_msm)))),)
    371372
    372373#
     
    458459$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_$(lang).wixobj: \
    459460                        $(PATH_SUB_CURRENT)/VirtualBox.wxs \
    460                         $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
    461                                 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).msm) \
     461                        $(if $(VBOX_WITH_MSM_INSTALL), \
     462                                $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
     463                                        $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).msm), \
     464                                $(VBOX_WIN_INST_OUT_DIR)/VBoxKey.wxi \
     465                                $(VBOX_WIN_INST_OUT_DIR)/VBoxGuiNLS.wxi \
     466                                $(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi) \
    462467                        $(VBOX_VERSION_STAMP) \
    463468                        | $$$$(dir $$$$@)
     
    485490                -E 'VBOX_SIGNING_MODE=$(strip $(if $(VBOX_SIGNING_MODE),$(VBOX_SIGNING_MODE),none))' \
    486491                -E 'VBOX_GUI_USE_QGL=$(if $(VBOX_GUI_USE_QGL),yes,no)' \
    487                 $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
    488                         -E 'VBOX_WIN_INST_MERGE_$(toupper $(module))=$(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).msm') \
     492                $(if $(VBOX_WITH_MSM_INSTALL), \
     493                        $(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
     494                                -E 'VBOX_WIN_INST_MERGE_$(toupper $(module))=$(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).msm'),) \
    489495                -E 'VBOX_WITH_32_ON_64_MAIN_API=$(if $(VBOX_WITH_32_ON_64_MAIN_API),yes,no)' \
    490496                -E 'VBOX_WITH_ADDITIONS_PACKING=$(if $(VBOX_WITH_ADDITIONS_PACKING),yes,no)' \
     
    505511                -E 'VBOX_WITH_WEBSERVICES=$(if $(VBOX_WITH_WEBSERVICES),yes,no)' \
    506512                -E 'VBOX_WITH_SECURELABEL=$(if $(VBOX_WITH_SECURELABEL),yes,no)' \
     513                -E 'VBOX_WITH_MSM_INSTALL=$(if $(VBOX_WITH_MSM_INSTALL),yes,no)' \
    507514                -E 'VBOX_WITH_SERIALNUMBER_INSTALL=$(if $(VBOX_WITH_SERIALNUMBER_INSTALL),yes,no)' \
    508515                -E 'VBOX_WITH_LICENSE_DISPLAY=$(if $(VBOX_WITH_LICENSE_DISPLAY),yes,no)' \
     
    635642        $(RM) -f [email protected]
    636643
    637 
    638644#
    639645# Construct the list of GUI translations.
  • trunk/src/VBox/Installer/win/Properties.wxi

    r51011 r51023  
    1414-->
    1515
    16 <Include>
     16<Include xmlns="http://schemas.microsoft.com/wix/2006/wix"
     17         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1718
    1819  <!-- TODO: Add "VBox" prefix! -->
  • trunk/src/VBox/Installer/win/VBoxMergeApp.wxi

    r51011 r51023  
    1 <?xml version="1.0"?>
    21<!--
    32    VirtualBox Windows Installation Script (WiX)
     
    1413-->
    1514
    16 <?include Properties.wxi ?>
    17 
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    20 
    21     <!-- Note: GUIDs in WiX *must* be uppercase! -->
    22     <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
    23          a major upgrade (more than just fixing a few files) change the product GUID. We always do a major
    24          upgrade even for minor VBox updates. For that only change the product ID and the product version.
    25          The upgrade code *never* must be changed! -->
    26 
    27     <!-- Update / Upgrade policies:
    28          Update Type    Package Code    Product Version     Product Code    Upgrade Code
    29          Small update   change          don't change        don't change    don't change
    30          Minor update   change          change              don't change    don't change
    31          Major upgrade  change          change              change          don't change -->
    32 
    33     <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
    34          Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
    35 
    36     <Module Id="msm_VBoxApp"
    37             Language="!(loc.LANG)"
    38             Version="$(var.Property_Version)">
    39 
    40         <Package Id="d255feb6-597d-4f49-a170-e34f289fa0d3"
    41                  Keywords="Installer, Setup"
    42                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package"
    43                  Comments="$(env.VBOX_PRODUCT) installation package"
    44                  Manufacturer="$(env.VBOX_VENDOR)"
    45                  InstallerVersion="200"
    46                  AdminImage="yes"
    47                  InstallPrivileges="elevated"
    48                  Platform="$(var.Property_Platform)"
    49                  SummaryCodepage="1252"/>
    50 
    51         <!-- Custom actions -->
    52         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    53 
    54         <!-- Here comes the file/directory list -->
    55         <Directory Id="TARGETDIR" Name="SourceDir">
    56             <Directory Id="MergeRedirectFolder" FileSource=".">
     15<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     16         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    5717
    5818<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    59                 <Directory Id="dir_Documents" Name="doc">
    60                     <!-- The documentation is a separate component. This allows to split the install process
    61                          into pieces if ever necessary. Maintenance is easier, too. The following component
    62                          will be installed in the "doc" folder. -->
    63                     <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
    64                         <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
    65                     </Component>
    66                 </Directory>
    67 <?endif ?>
    68                 <!-- Device driver directory -->
    69                 <Directory Id="dir_Drivers" Name="drivers">
    70                     <Directory Id="dir_VBoxDrv" Name="vboxdrv">
    71                         <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
    72                             <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    73                                             Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
    74                             <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
    75                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
    76                             <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
    77                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
     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            <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
     25        </Component>
     26    </Directory>
     27<?endif ?>
     28    <!-- Device driver directory -->
     29    <Directory Id="dir_VBoxAppDrivers" Name="drivers">
     30        <Directory Id="dir_VBoxAppVBoxDrv" Name="vboxdrv">
     31            <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
     32                <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
     33                                Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
     34                <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
     35                      Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
     36                <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
     37                      Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
    7838<?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                             <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
    80                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
    81 <?endif ?>
    82                         </Component>
    83                     </Directory>
    84                 </Directory> <!-- Directory "drivers" -->
    85 
    86                 <!-- National Language Support directory -->
    87                 <Directory Id="dir_NLS" Name="nls">
    88                     <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
    89                         <!-- Include the autogenerated NLS file list -->
    90                         <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
    91                     </Component>
    92                 </Directory>
     39                <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
     40                      Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
     41<?endif ?>
     42            </Component>
     43        </Directory>
     44    </Directory> <!-- Directory "drivers" -->
     45
     46    <!-- National Language Support directory -->
     47    <Directory Id="dir_VBoxAppNLS" Name="nls">
     48        <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
     49            <!-- Include the autogenerated NLS file list -->
     50            <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
     51        </Component>
     52    </Directory>
    9353
    9454<?if $(env.VBOX_WITH_32_ON_64_MAIN_API) = "yes" ?>
    95                 <Directory Id="dir_X86" Name="x86">
    96                     <!-- The 32-bit client COM component (see also cp_MainCom below). -->
    97                     <Component Id="cp_MainCOM_x86" Guid="B600824E-4A25-2EB3-4B44-3D8CB7F9B92D" Win64="no">
    98                         <File Id="VBoxClient_x86" Name="VBoxClient-x86.dll"
    99                             Source="$(env.PATH_OUT)\bin\x86\VBoxClient-x86.dll" KeyPath="yes"
    100                             DiskId="$(var.Property_DiskIdCommon)">
    101                         </File>
    102                         <File Id="VBoxRT_x86" Name="VBoxRT-x86.dll"
    103                             Source="$(env.PATH_OUT)\bin\x86\VBoxRT-x86.dll"
    104                             DiskId="$(var.Property_DiskIdCommon)">
    105                         </File>
    106                         <?include $(env.PATH_TARGET)\VirtualBox_TypeLib_x86.wxi ?>
     55    <Directory Id="dir_VBoxAppX86" Name="x86">
     56        <!-- The 32-bit client COM component (see also cp_MainCom below). -->
     57        <Component Id="cp_MainCOM_x86" Guid="B600824E-4A25-2EB3-4B44-3D8CB7F9B92D" Win64="no">
     58            <File Id="file_VBoxClient_x86" Name="VBoxClient-x86.dll"
     59                  Source="$(env.PATH_OUT)\bin\x86\VBoxClient-x86.dll" KeyPath="yes"
     60                  DiskId="$(var.Property_DiskIdCommon)">
     61            </File>
     62            <File Id="file_VBoxRT_x86" Name="VBoxRT-x86.dll"
     63                  Source="$(env.PATH_OUT)\bin\x86\VBoxRT-x86.dll"
     64                  DiskId="$(var.Property_DiskIdCommon)">
     65            </File>
     66            <?include $(env.PATH_TARGET)\VirtualBox_TypeLib_x86.wxi ?>
    10767<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    108                         <!-- MS C/C++ v10.0 32 bit Runtime DLL files. -->
    109                         <File Id="file_msvcr100.dll_x86" Name="msvcr100.dll"
    110                               Source="$(env.PATH_OUT)\bin\x86\msvcr100.dll"
    111                               DiskId="$(var.Property_DiskIdCommon)" />
    112                         <File Id="file_msvcp100.dll_x86" Name="msvcp100.dll"
    113                               Source="$(env.PATH_OUT)\bin\x86\msvcp100.dll"
    114                               DiskId="$(var.Property_DiskIdCommon)" />
     68            <!-- MS C/C++ v10.0 32 bit Runtime DLL files. -->
     69            <File Id="file_msvcr100.dll_x86" Name="msvcr100.dll"
     70                  Source="$(env.PATH_OUT)\bin\x86\msvcr100.dll"
     71                  DiskId="$(var.Property_DiskIdCommon)" />
     72            <File Id="file_msvcp100.dll_x86" Name="msvcp100.dll"
     73                  Source="$(env.PATH_OUT)\bin\x86\msvcp100.dll"
     74                  DiskId="$(var.Property_DiskIdCommon)" />
    11575<?endif?>
    11676<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    117                         <!-- MS C/C++ v11.0 Runtime DLL files. -->
    118                         <File Id="file_msvcr110.dll_x86" Name="msvcr110.dll"
    119                               Source="$(env.PATH_OUT)\bin\x86\msvcr110.dll"
    120                               DiskId="$(var.Property_DiskIdCommon)" />
    121                         <File Id="file_msvcp110.dll_x86" Name="msvcp110.dll"
    122                               Source="$(env.PATH_OUT)\bin\x86\msvcp110.dll"
    123                               DiskId="$(var.Property_DiskIdCommon)" />
    124 <?endif?>
    125                     </Component>
    126                 </Directory>
    127 <?endif?>
    128 
    129                 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
    130                      TypeLib element where to take the TLB resource from) may appear only once per Component. -->
    131                 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
    132 
    133                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    134                     <File Id="VBoxSVC" Name="VBoxSVC.exe"
    135                           Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
    136                     </File>
    137 
    138                     <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
    139                          and create appropriate Interface registry entries. Note that the same TLB is present
    140                          in VBoxSVC.exe - it's just a matter of choice which one to use -->
    141                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    142                     <File Id="VBoxC" Name="VBoxC.dll"
    143                           Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
    144                     </File>
    145 
    146                     <!-- Include the autogenerated TypeLib block -->
    147                     <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
    148 
    149                 </Component>
    150 
    151                 <!--
    152 
    153                 <Component Id="cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
    154                     <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
    155                                    Value="installed" KeyPath="yes" />
    156                     <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
    157                               Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
    158                     <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
    159                 </Component>-->
    160 
    161                 <!---->
    162 
    163                 <Component Id="cp_RegisterExtensions" Guid="FEB8943E-5D60-4E2D-846F-458207019D40" Win64="$(var.Property_Win64)">
    164                     <Condition>VBOX_REGISTERFILEEXTENSIONS</Condition>
    165                     <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
    166                          file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
    167                          Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
    168                     <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
    169                         <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
    170                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    171                         </Extension>
    172                     </ProgId>
    173                     <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
    174                         <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
    175                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    176                         </Extension>
    177                     </ProgId>
    178                     <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
    179                         <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
    180                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    181                         </Extension>
    182                     </ProgId>
    183                     <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
    184                         <Extension Id="ova" ContentType="application/x-virtualbox-ova">
    185                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    186                         </Extension>
    187                     </ProgId>
    188                     <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
    189                         <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
    190                     </ProgId>
    191                     <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
    192                         <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
    193                     </ProgId>
    194                     <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
    195                         <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
    196                     </ProgId>
    197                     <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
    198                         <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
    199                     </ProgId>
    200                 </Component> <!-- RegisterExtensions -->
    201 
    202                 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
    203                      binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
    204                 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
    205 
    206                     <!-- Set required environment variables. -->
    207                     <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
    208                                  System="yes" Part="last" Permanent="no" Value="MergeRedirectFolder" />
    209 
    210                     <!-- Files -->
     77            <!-- MS C/C++ v11.0 Runtime DLL files. -->
     78            <File Id="file_msvcr110.dll_x86" Name="msvcr110.dll"
     79                  Source="$(env.PATH_OUT)\bin\x86\msvcr110.dll"
     80                  DiskId="$(var.Property_DiskIdCommon)" />
     81            <File Id="file_msvcp110.dll_x86" Name="msvcp110.dll"
     82                  Source="$(env.PATH_OUT)\bin\x86\msvcp110.dll"
     83                  DiskId="$(var.Property_DiskIdCommon)" />
     84<?endif?>
     85        </Component>
     86    </Directory>
     87<?endif?>
     88
     89    <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
     90         TypeLib element where to take the TLB resource from) may appear only once per Component. -->
     91    <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
     92
     93        <!-- File ID *must not* be changed because of our typelib template generation file! -->
     94        <File Id="VBoxSVC" Name="VBoxSVC.exe"
     95              Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
     96        </File>
     97
     98        <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
     99             and create appropriate Interface registry entries. Note that the same TLB is present
     100             in VBoxSVC.exe - it's just a matter of choice which one to use -->
     101        <!-- File ID *must not* be changed because of our typelib template generation file! -->
     102        <File Id="VBoxC" Name="VBoxC.dll"
     103              Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
     104        </File>
     105
     106        <!-- Include the autogenerated TypeLib block -->
     107        <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
     108
     109    </Component>
     110
     111    <!--
     112
     113    <Component Id="cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
     114        <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
     115                       Value="installed" KeyPath="yes" />
     116        <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
     117                  Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
     118        <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
     119    </Component>-->
     120
     121    <!---->
     122
     123    <Component Id="cp_RegisterExtensions" Guid="FEB8943E-5D60-4E2D-846F-458207019D40" Win64="$(var.Property_Win64)">
     124        <Condition>VBOX_REGISTERFILEEXTENSIONS</Condition>
     125        <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
     126             file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
     127             Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
     128        <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
     129            <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
     130                <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
     131            </Extension>
     132        </ProgId>
     133        <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
     134            <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
     135                <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
     136            </Extension>
     137        </ProgId>
     138        <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
     139            <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
     140                <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
     141            </Extension>
     142        </ProgId>
     143        <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
     144            <Extension Id="ova" ContentType="application/x-virtualbox-ova">
     145                <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
     146            </Extension>
     147        </ProgId>
     148        <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
     149            <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
     150        </ProgId>
     151        <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
     152            <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
     153        </ProgId>
     154        <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
     155            <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
     156        </ProgId>
     157        <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
     158            <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
     159        </ProgId>
     160    </Component> <!-- RegisterExtensions -->
     161
     162    <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
     163         binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
     164    <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
     165
     166        <!-- Set required environment variables. -->
     167        <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
     168                     System="yes" Part="last" Permanent="no" Value="MergeRedirectFolder" />
     169
     170        <!-- Files -->
    211171<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    212                     <!-- Include all user manual .CHM files (file is generated by makefile). -->
    213                     <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
    214 <?endif ?>
    215                     <!-- Include all license files (file is generated by makefile). -->
    216                     <?include $(env.PATH_TARGET)\Files_License.wxi ?>
    217 
    218                     <!-- Frontends -->
    219                     <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
    220                           Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
    221                     <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
    222                           Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
    223                         <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
    224                    <!--     <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
    225                     </File>
    226                     <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
    227                           Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
    228 
    229                     <!-- Misc tools -->
    230                     <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
    231                           Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
    232                     <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe"
    233                           Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe"/>
     172        <!-- Include all user manual .CHM files (file is generated by makefile). -->
     173        <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
     174<?endif ?>
     175        <!-- Include all license files (file is generated by makefile). -->
     176        <?include $(env.PATH_TARGET)\Files_License.wxi ?>
     177
     178        <!-- Frontends -->
     179        <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
     180              Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
     181        <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
     182              Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
     183            <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
     184       <!--     <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
     185        </File>
     186        <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
     187              Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
     188
     189        <!-- Misc tools -->
     190        <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
     191              Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
     192        <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe"
     193              Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe"/>
    234194<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
    235                     <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
    236                           Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
    237 <?endif ?>
    238                     <!-- VBox DLL files -->
    239                     <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
    240                           Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
    241                     <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
    242                           Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
    243                     <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
    244                           Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
    245                     <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
    246                           Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
    247                     <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
    248                           Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
     195        <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
     196              Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
     197<?endif ?>
     198        <!-- VBox DLL files -->
     199        <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
     200              Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
     201        <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
     202              Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
     203        <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
     204              Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
     205        <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
     206              Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
     207        <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
     208              Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
    249209<?if $(env.BUILD_TARGET_ARCH) = "x86" ?>
    250                     <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
    251                           Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
    252                     <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
    253                           Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
    254 <?endif ?>
    255                     <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
    256                           Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
     210        <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
     211              Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
     212        <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
     213              Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
     214<?endif ?>
     215        <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
     216              Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
    257217<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
    258                     <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
    259                           Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
    260 <?endif ?>
    261                     <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
    262                           Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
    263                     <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
    264                           Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
     218        <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
     219              Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
     220<?endif ?>
     221        <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
     222              Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
     223        <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
     224              Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
    265225<?if $(env.VBOX_WITH_DRAG_AND_DROP)= "yes" ?>
    266                     <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll"
    267                           Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
     226        <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll"
     227              Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
    268228<?endif ?>
    269229<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
    270                     <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
    271                           Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
     230        <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
     231              Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
    272232<?endif ?>
    273233<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
    274                     <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
    275                           Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
    276 <?endif ?>
    277                     <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll"
    278                           Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
    279                     <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
    280                           Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
    281                     <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
    282                           Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
    283 
    284                     <!-- Include resource DLL (icons, ...). -->
    285                     <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
    286                           Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
    287 
    288                     <File Id="file_VMMGC.gc" Name="VMMGC.gc"
    289                           Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
    290                     <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
    291                           Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
    292                     <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
    293                           Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
    294 
    295                     <File Id="file_VMMR0.r0" Name="VMMR0.r0"
    296                           Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
    297                     <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
    298                           Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
    299                     <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
    300                           Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
     234        <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
     235              Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
     236<?endif ?>
     237        <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll"
     238              Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
     239        <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
     240              Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
     241        <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
     242              Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
     243
     244        <!-- Include resource DLL (icons, ...). -->
     245        <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
     246              Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
     247
     248        <File Id="file_VMMGC.gc" Name="VMMGC.gc"
     249              Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
     250        <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
     251              Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
     252        <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
     253              Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
     254
     255        <File Id="file_VMMR0.r0" Name="VMMR0.r0"
     256              Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
     257        <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
     258              Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
     259        <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
     260              Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
    301261
    302262<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    303                     <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
    304                           Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
    305 <?endif ?>
    306                     <!-- Qt frontend -->
    307                     <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
    308                           Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
    309                     </File>
    310                     <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
    311                           Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
    312                     <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
    313                           Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
    314                     <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
    315                           Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
     263        <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
     264              Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
     265<?endif ?>
     266        <!-- Qt frontend -->
     267        <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
     268              Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
     269        </File>
     270        <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
     271              Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
     272        <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
     273              Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
     274        <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
     275              Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
    316276<?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
    317                     <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
    318                           Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
     277        <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
     278              Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
    319279<?endif ?>
    320280<?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
    321                     <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
    322                           Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
     281        <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
     282              Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
    323283<?endif?>
    324284
    325285<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    326                     <!-- MS C/C++ v10.0 Runtime DLL files. -->
    327                     <File Id="file_msvcr100.dll" Name="msvcr100.dll"
    328                           Source="$(env.PATH_OUT)\bin\msvcr100.dll" />
    329                     <File Id="file_msvcp100.dll" Name="msvcp100.dll"
    330                           Source="$(env.PATH_OUT)\bin\msvcp100.dll" />
     286        <!-- MS C/C++ v10.0 Runtime DLL files. -->
     287        <File Id="file_msvcr100.dll" Name="msvcr100.dll"
     288              Source="$(env.PATH_OUT)\bin\msvcr100.dll" />
     289        <File Id="file_msvcp100.dll" Name="msvcp100.dll"
     290              Source="$(env.PATH_OUT)\bin\msvcp100.dll" />
    331291<?endif?>
    332292<?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    333                     <!-- MS C/C++ v11.0 Runtime DLL files. -->
    334                     <File Id="file_msvcr110.dll" Name="msvcr110.dll"
    335                           Source="$(env.PATH_OUT)\bin\msvcr110.dll" />
    336                     <File Id="file_msvcp110.dll" Name="msvcp110.dll"
    337                           Source="$(env.PATH_OUT)\bin\msvcp110.dll" />
    338 <?endif?>
    339 
    340                     <!-- EFI firmware -->
     293        <!-- MS C/C++ v11.0 Runtime DLL files. -->
     294        <File Id="file_msvcr110.dll" Name="msvcr110.dll"
     295              Source="$(env.PATH_OUT)\bin\msvcr110.dll" />
     296        <File Id="file_msvcp110.dll" Name="msvcp110.dll"
     297              Source="$(env.PATH_OUT)\bin\msvcp110.dll" />
     298<?endif?>
     299
     300        <!-- EFI firmware -->
    341301<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
    342                     <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
    343                           Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
    344                     <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
    345                           Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
    346 <?endif?>
    347                     <!-- VBox guest additions -->
     302        <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
     303              Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
     304        <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
     305              Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
     306<?endif?>
     307        <!-- VBox guest additions -->
    348308<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
    349 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
    350                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    351                           Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso"
    352                           DiskId="$(var.Property_DiskIdCommon)" />
    353 <?else ?>
    354                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    355                           Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
    356 <?endif ?>
    357 <?endif ?>
    358                     <!-- Include key for VBox version -->
    359                     <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
    360 
    361                 </Component> <!-- MainBinaries -->
     309    <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
     310            <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
     311                  Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso"
     312                  DiskId="$(var.Property_DiskIdCommon)" />
     313    <?else ?>
     314            <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
     315                  Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
     316    <?endif ?>
     317<?endif ?>
     318        <!-- Include key for VBox version -->
     319        <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
     320
     321    </Component> <!-- MainBinaries -->
    362322
    363323<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
    364                 <!-- Qt accessible plugins -->
    365                 <Directory Id="dir_Accessible" Name="accessible">
    366                     <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
    367                         <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
    368                               Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
    369                     </Component>
    370                 </Directory>
     324    <!-- Qt accessible plugins -->
     325    <Directory Id="dir_VBoxAppAccessible" Name="accessible">
     326        <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
     327            <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
     328                  Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
     329        </Component>
     330    </Directory>
    371331<?endif?>
    372332
    373333<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    374                 <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
    375                     <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
    376                           Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
    377                     <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
    378                           Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
    379                     <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
    380                           Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
    381                     <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
    382                           Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
    383                 </Component>
    384 <?endif?>
    385                 <!-- SDL plugins -->
    386                 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
    387                     <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
    388                           Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
    389                     <File Id="file_SDL.dll" Name="SDL.dll"
    390                           Source="$(env.PATH_OUT)\bin\SDL.dll" />
     334    <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
     335        <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
     336              Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
     337        <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
     338              Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
     339        <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
     340              Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
     341        <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
     342              Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
     343    </Component>
     344<?endif?>
     345    <!-- SDL plugins -->
     346    <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
     347        <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
     348              Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
     349        <File Id="file_SDL.dll" Name="SDL.dll"
     350              Source="$(env.PATH_OUT)\bin\SDL.dll" />
    391351<?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
    392                     <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
    393                           Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
    394 <?endif?>
    395                 </Component> <!-- SDL plugins -->
     352        <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
     353              Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
     354<?endif?>
     355    </Component> <!-- SDL plugins -->
    396356
    397357<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
    398                 <!-- Webservice -->
    399                 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
    400                     <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
    401                           Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
    402                 </Component>
    403 <?endif?>
    404                 <!-- C API (glue) bindings -->
    405                 <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0">
    406                     <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll"
    407                           Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
    408                 </Component>
    409 
    410 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    411                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    412                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    413                 </Component>
    414 <?endif?>
    415             </Directory> <!-- MergeRedirectFolder directory -->
    416         </Directory> <!-- TARGETDIR -->
    417 
    418     </Module>
    419 </Wix>
     358    <!-- Webservice -->
     359    <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
     360        <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
     361              Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
     362    </Component>
     363<?endif?>
     364    <!-- C API (glue) bindings -->
     365    <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0">
     366        <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll"
     367              Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
     368    </Component>
     369
     370</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeApp.wxs

    r51011 r51023  
    4949                 SummaryCodepage="1252"/>
    5050
    51         <!-- Custom actions -->
    52         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    53 
    5451        <!-- Here comes the file/directory list -->
    5552        <Directory Id="TARGETDIR" Name="SourceDir">
    5653            <Directory Id="MergeRedirectFolder" FileSource=".">
    5754
    58 <?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    59                 <Directory Id="dir_Documents" Name="doc">
    60                     <!-- The documentation is a separate component. This allows to split the install process
    61                          into pieces if ever necessary. Maintenance is easier, too. The following component
    62                          will be installed in the "doc" folder. -->
    63                     <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
    64                         <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
    65                     </Component>
    66                 </Directory>
    67 <?endif ?>
    68                 <!-- Device driver directory -->
    69                 <Directory Id="dir_Drivers" Name="drivers">
    70                     <Directory Id="dir_VBoxDrv" Name="vboxdrv">
    71                         <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
    72                             <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    73                                             Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
    74                             <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
    75                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
    76                             <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
    77                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                             <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
    80                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
    81 <?endif ?>
    82                         </Component>
    83                     </Directory>
    84                 </Directory> <!-- Directory "drivers" -->
     55                <?include VBoxMergeApp.wxi ?>
     56                <?include VBoxMergeAppCA.wxi ?>
    8557
    86                 <!-- National Language Support directory -->
    87                 <Directory Id="dir_NLS" Name="nls">
    88                     <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
    89                         <!-- Include the autogenerated NLS file list -->
    90                         <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
    91                     </Component>
    92                 </Directory>
    93 
    94 <?if $(env.VBOX_WITH_32_ON_64_MAIN_API) = "yes" ?>
    95                 <Directory Id="dir_X86" Name="x86">
    96                     <!-- The 32-bit client COM component (see also cp_MainCom below). -->
    97                     <Component Id="cp_MainCOM_x86" Guid="B600824E-4A25-2EB3-4B44-3D8CB7F9B92D" Win64="no">
    98                         <File Id="VBoxClient_x86" Name="VBoxClient-x86.dll"
    99                             Source="$(env.PATH_OUT)\bin\x86\VBoxClient-x86.dll" KeyPath="yes"
    100                             DiskId="$(var.Property_DiskIdCommon)">
    101                         </File>
    102                         <File Id="VBoxRT_x86" Name="VBoxRT-x86.dll"
    103                             Source="$(env.PATH_OUT)\bin\x86\VBoxRT-x86.dll"
    104                             DiskId="$(var.Property_DiskIdCommon)">
    105                         </File>
    106                         <?include $(env.PATH_TARGET)\VirtualBox_TypeLib_x86.wxi ?>
    107 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    108                         <!-- MS C/C++ v10.0 32 bit Runtime DLL files. -->
    109                         <File Id="file_msvcr100.dll_x86" Name="msvcr100.dll"
    110                               Source="$(env.PATH_OUT)\bin\x86\msvcr100.dll"
    111                               DiskId="$(var.Property_DiskIdCommon)" />
    112                         <File Id="file_msvcp100.dll_x86" Name="msvcp100.dll"
    113                               Source="$(env.PATH_OUT)\bin\x86\msvcp100.dll"
    114                               DiskId="$(var.Property_DiskIdCommon)" />
    115 <?endif?>
    116 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    117                         <!-- MS C/C++ v11.0 Runtime DLL files. -->
    118                         <File Id="file_msvcr110.dll_x86" Name="msvcr110.dll"
    119                               Source="$(env.PATH_OUT)\bin\x86\msvcr110.dll"
    120                               DiskId="$(var.Property_DiskIdCommon)" />
    121                         <File Id="file_msvcp110.dll_x86" Name="msvcp110.dll"
    122                               Source="$(env.PATH_OUT)\bin\x86\msvcp110.dll"
    123                               DiskId="$(var.Property_DiskIdCommon)" />
    124 <?endif?>
    125                     </Component>
    126                 </Directory>
    127 <?endif?>
    128 
    129                 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
    130                      TypeLib element where to take the TLB resource from) may appear only once per Component. -->
    131                 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
    132 
    133                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    134                     <File Id="VBoxSVC" Name="VBoxSVC.exe"
    135                           Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
    136                     </File>
    137 
    138                     <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
    139                          and create appropriate Interface registry entries. Note that the same TLB is present
    140                          in VBoxSVC.exe - it's just a matter of choice which one to use -->
    141                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    142                     <File Id="VBoxC" Name="VBoxC.dll"
    143                           Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
    144                     </File>
    145 
    146                     <!-- Include the autogenerated TypeLib block -->
    147                     <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
    148 
    149                 </Component>
    150 
    151                 <!--
    152 
    153                 <Component Id="cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
    154                     <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
    155                                    Value="installed" KeyPath="yes" />
    156                     <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
    157                               Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
    158                     <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
    159                 </Component>-->
    160 
    161                 <!---->
    162 
    163                 <Component Id="cp_RegisterExtensions" Guid="FEB8943E-5D60-4E2D-846F-458207019D40" Win64="$(var.Property_Win64)">
    164                     <Condition>VBOX_REGISTERFILEEXTENSIONS</Condition>
    165                     <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
    166                          file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
    167                          Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
    168                     <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
    169                         <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
    170                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    171                         </Extension>
    172                     </ProgId>
    173                     <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
    174                         <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
    175                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    176                         </Extension>
    177                     </ProgId>
    178                     <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
    179                         <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
    180                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    181                         </Extension>
    182                     </ProgId>
    183                     <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
    184                         <Extension Id="ova" ContentType="application/x-virtualbox-ova">
    185                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    186                         </Extension>
    187                     </ProgId>
    188                     <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
    189                         <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
    190                     </ProgId>
    191                     <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
    192                         <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
    193                     </ProgId>
    194                     <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
    195                         <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
    196                     </ProgId>
    197                     <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
    198                         <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
    199                     </ProgId>
    200                 </Component> <!-- RegisterExtensions -->
    201 
    202                 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
    203                      binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
    204                 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
    205 
    206                     <!-- Set required environment variables. -->
    207                     <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
    208                                  System="yes" Part="last" Permanent="no" Value="MergeRedirectFolder" />
    209 
    210                     <!-- Files -->
    211 <?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    212                     <!-- Include all user manual .CHM files (file is generated by makefile). -->
    213                     <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
    214 <?endif ?>
    215                     <!-- Include all license files (file is generated by makefile). -->
    216                     <?include $(env.PATH_TARGET)\Files_License.wxi ?>
    217 
    218                     <!-- Frontends -->
    219                     <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
    220                           Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
    221                     <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
    222                           Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
    223                         <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
    224                    <!--     <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
    225                     </File>
    226                     <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
    227                           Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
    228 
    229                     <!-- Misc tools -->
    230                     <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
    231                           Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
    232                     <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe"
    233                           Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe"/>
    234 <?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
    235                     <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
    236                           Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
    237 <?endif ?>
    238                     <!-- VBox DLL files -->
    239                     <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
    240                           Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
    241                     <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
    242                           Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
    243                     <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
    244                           Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
    245                     <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
    246                           Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
    247                     <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
    248                           Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
    249 <?if $(env.BUILD_TARGET_ARCH) = "x86" ?>
    250                     <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
    251                           Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
    252                     <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
    253                           Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
    254 <?endif ?>
    255                     <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
    256                           Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
    257 <?if $(env.VBOX_WITH_VRDP) = "yes" ?>
    258                     <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
    259                           Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
    260 <?endif ?>
    261                     <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
    262                           Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
    263                     <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
    264                           Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
    265 <?if $(env.VBOX_WITH_DRAG_AND_DROP)= "yes" ?>
    266                     <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll"
    267                           Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
    268 <?endif ?>
    269 <?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
    270                     <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
    271                           Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
    272 <?endif ?>
    273 <?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
    274                     <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
    275                           Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
    276 <?endif ?>
    277                     <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll"
    278                           Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
    279                     <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
    280                           Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
    281                     <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
    282                           Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
    283 
    284                     <!-- Include resource DLL (icons, ...). -->
    285                     <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
    286                           Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
    287 
    288                     <File Id="file_VMMGC.gc" Name="VMMGC.gc"
    289                           Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
    290                     <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
    291                           Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
    292                     <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
    293                           Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
    294 
    295                     <File Id="file_VMMR0.r0" Name="VMMR0.r0"
    296                           Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
    297                     <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
    298                           Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
    299                     <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
    300                           Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
    301 
    302 <?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    303                     <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
    304                           Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
    305 <?endif ?>
    306                     <!-- Qt frontend -->
    307                     <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
    308                           Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
    309                     </File>
    310                     <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
    311                           Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
    312                     <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
    313                           Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
    314                     <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
    315                           Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
    316 <?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
    317                     <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
    318                           Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
    319 <?endif ?>
    320 <?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
    321                     <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
    322                           Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
    323 <?endif?>
    324 
    325 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    326                     <!-- MS C/C++ v10.0 Runtime DLL files. -->
    327                     <File Id="file_msvcr100.dll" Name="msvcr100.dll"
    328                           Source="$(env.PATH_OUT)\bin\msvcr100.dll" />
    329                     <File Id="file_msvcp100.dll" Name="msvcp100.dll"
    330                           Source="$(env.PATH_OUT)\bin\msvcp100.dll" />
    331 <?endif?>
    332 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    333                     <!-- MS C/C++ v11.0 Runtime DLL files. -->
    334                     <File Id="file_msvcr110.dll" Name="msvcr110.dll"
    335                           Source="$(env.PATH_OUT)\bin\msvcr110.dll" />
    336                     <File Id="file_msvcp110.dll" Name="msvcp110.dll"
    337                           Source="$(env.PATH_OUT)\bin\msvcp110.dll" />
    338 <?endif?>
    339 
    340                     <!-- EFI firmware -->
    341 <?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
    342                     <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
    343                           Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
    344                     <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
    345                           Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
    346 <?endif?>
    347                     <!-- VBox guest additions -->
    348 <?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
    349 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
    350                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    351                           Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso"
    352                           DiskId="$(var.Property_DiskIdCommon)" />
    353 <?else ?>
    354                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    355                           Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
    356 <?endif ?>
    357 <?endif ?>
    358                     <!-- Include key for VBox version -->
    359                     <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
    360 
    361                 </Component> <!-- MainBinaries -->
    362 
    363 <?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
    364                 <!-- Qt accessible plugins -->
    365                 <Directory Id="dir_Accessible" Name="accessible">
    366                     <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
    367                         <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
    368                               Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
    369                     </Component>
    370                 </Directory>
    371 <?endif?>
    372 
    373 <?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    374                 <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
    375                     <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
    376                           Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
    377                     <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
    378                           Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
    379                     <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
    380                           Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
    381                     <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
    382                           Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
    383                 </Component>
    384 <?endif?>
    385                 <!-- SDL plugins -->
    386                 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
    387                     <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
    388                           Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
    389                     <File Id="file_SDL.dll" Name="SDL.dll"
    390                           Source="$(env.PATH_OUT)\bin\SDL.dll" />
    391 <?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
    392                     <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
    393                           Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
    394 <?endif?>
    395                 </Component> <!-- SDL plugins -->
    396 
    397 <?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
    398                 <!-- Webservice -->
    399                 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
    400                     <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
    401                           Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
    402                 </Component>
    403 <?endif?>
    404                 <!-- C API (glue) bindings -->
    405                 <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0">
    406                     <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll"
    407                           Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
    408                 </Component>
    409 
    410 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    411                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    412                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    413                 </Component>
    414 <?endif?>
    41558            </Directory> <!-- MergeRedirectFolder directory -->
    41659        </Directory> <!-- TARGETDIR -->
  • trunk/src/VBox/Installer/win/VBoxMergeAppCA.wxi

    r51011 r51023  
    1414-->
    1515
    16 <?include Properties.wxi ?>
     16<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     17         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1718
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     19    <!-- Custom actions -->
     20    <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    2021
    21     <!-- Note: GUIDs in WiX *must* be uppercase! -->
    22     <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
    23          a major upgrade (more than just fixing a few files) change the product GUID. We always do a major
    24          upgrade even for minor VBox updates. For that only change the product ID and the product version.
    25          The upgrade code *never* must be changed! -->
    26 
    27     <!-- Update / Upgrade policies:
    28          Update Type    Package Code    Product Version     Product Code    Upgrade Code
    29          Small update   change          don't change        don't change    don't change
    30          Minor update   change          change              don't change    don't change
    31          Major upgrade  change          change              change          don't change -->
    32 
    33     <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
    34          Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
    35 
    36     <Module Id="msm_VBoxApp"
    37             Language="!(loc.LANG)"
    38             Version="$(var.Property_Version)">
    39 
    40         <Package Id="d255feb6-597d-4f49-a170-e34f289fa0d3"
    41                  Keywords="Installer, Setup"
    42                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package"
    43                  Comments="$(env.VBOX_PRODUCT) installation package"
    44                  Manufacturer="$(env.VBOX_VENDOR)"
    45                  InstallerVersion="200"
    46                  AdminImage="yes"
    47                  InstallPrivileges="elevated"
    48                  Platform="$(var.Property_Platform)"
    49                  SummaryCodepage="1252"/>
    50 
    51         <!-- Custom actions -->
    52         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    53 
    54         <!-- Here comes the file/directory list -->
    55         <Directory Id="TARGETDIR" Name="SourceDir">
    56             <Directory Id="MergeRedirectFolder" FileSource=".">
    57 
    58 <?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    59                 <Directory Id="dir_Documents" Name="doc">
    60                     <!-- The documentation is a separate component. This allows to split the install process
    61                          into pieces if ever necessary. Maintenance is easier, too. The following component
    62                          will be installed in the "doc" folder. -->
    63                     <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
    64                         <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
    65                     </Component>
    66                 </Directory>
    67 <?endif ?>
    68                 <!-- Device driver directory -->
    69                 <Directory Id="dir_Drivers" Name="drivers">
    70                     <Directory Id="dir_VBoxDrv" Name="vboxdrv">
    71                         <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
    72                             <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    73                                             Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
    74                             <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
    75                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
    76                             <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
    77                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                             <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
    80                                   Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
    81 <?endif ?>
    82                         </Component>
    83                     </Directory>
    84                 </Directory> <!-- Directory "drivers" -->
    85 
    86                 <!-- National Language Support directory -->
    87                 <Directory Id="dir_NLS" Name="nls">
    88                     <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
    89                         <!-- Include the autogenerated NLS file list -->
    90                         <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
    91                     </Component>
    92                 </Directory>
    93 
    94 <?if $(env.VBOX_WITH_32_ON_64_MAIN_API) = "yes" ?>
    95                 <Directory Id="dir_X86" Name="x86">
    96                     <!-- The 32-bit client COM component (see also cp_MainCom below). -->
    97                     <Component Id="cp_MainCOM_x86" Guid="B600824E-4A25-2EB3-4B44-3D8CB7F9B92D" Win64="no">
    98                         <File Id="VBoxClient_x86" Name="VBoxClient-x86.dll"
    99                             Source="$(env.PATH_OUT)\bin\x86\VBoxClient-x86.dll" KeyPath="yes"
    100                             DiskId="$(var.Property_DiskIdCommon)">
    101                         </File>
    102                         <File Id="VBoxRT_x86" Name="VBoxRT-x86.dll"
    103                             Source="$(env.PATH_OUT)\bin\x86\VBoxRT-x86.dll"
    104                             DiskId="$(var.Property_DiskIdCommon)">
    105                         </File>
    106                         <?include $(env.PATH_TARGET)\VirtualBox_TypeLib_x86.wxi ?>
    107 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    108                         <!-- MS C/C++ v10.0 32 bit Runtime DLL files. -->
    109                         <File Id="file_msvcr100.dll_x86" Name="msvcr100.dll"
    110                               Source="$(env.PATH_OUT)\bin\x86\msvcr100.dll"
    111                               DiskId="$(var.Property_DiskIdCommon)" />
    112                         <File Id="file_msvcp100.dll_x86" Name="msvcp100.dll"
    113                               Source="$(env.PATH_OUT)\bin\x86\msvcp100.dll"
    114                               DiskId="$(var.Property_DiskIdCommon)" />
    115 <?endif?>
    116 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    117                         <!-- MS C/C++ v11.0 Runtime DLL files. -->
    118                         <File Id="file_msvcr110.dll_x86" Name="msvcr110.dll"
    119                               Source="$(env.PATH_OUT)\bin\x86\msvcr110.dll"
    120                               DiskId="$(var.Property_DiskIdCommon)" />
    121                         <File Id="file_msvcp110.dll_x86" Name="msvcp110.dll"
    122                               Source="$(env.PATH_OUT)\bin\x86\msvcp110.dll"
    123                               DiskId="$(var.Property_DiskIdCommon)" />
    124 <?endif?>
    125                     </Component>
    126                 </Directory>
    127 <?endif?>
    128 
    129                 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
    130                      TypeLib element where to take the TLB resource from) may appear only once per Component. -->
    131                 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
    132 
    133                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    134                     <File Id="VBoxSVC" Name="VBoxSVC.exe"
    135                           Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
    136                     </File>
    137 
    138                     <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
    139                          and create appropriate Interface registry entries. Note that the same TLB is present
    140                          in VBoxSVC.exe - it's just a matter of choice which one to use -->
    141                     <!-- File ID *must not* be changed because of our typelib template generation file! -->
    142                     <File Id="VBoxC" Name="VBoxC.dll"
    143                           Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
    144                     </File>
    145 
    146                     <!-- Include the autogenerated TypeLib block -->
    147                     <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
    148 
    149                 </Component>
    150 
    151                 <!--
    152 
    153                 <Component Id="cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
    154                     <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
    155                                    Value="installed" KeyPath="yes" />
    156                     <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
    157                               Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
    158                     <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
    159                 </Component>-->
    160 
    161                 <!---->
    162 
    163                 <Component Id="cp_RegisterExtensions" Guid="FEB8943E-5D60-4E2D-846F-458207019D40" Win64="$(var.Property_Win64)">
    164                     <Condition>VBOX_REGISTERFILEEXTENSIONS</Condition>
    165                     <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
    166                          file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
    167                          Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
    168                     <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
    169                         <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
    170                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    171                         </Extension>
    172                     </ProgId>
    173                     <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
    174                         <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
    175                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    176                         </Extension>
    177                     </ProgId>
    178                     <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
    179                         <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
    180                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    181                         </Extension>
    182                     </ProgId>
    183                     <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
    184                         <Extension Id="ova" ContentType="application/x-virtualbox-ova">
    185                             <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
    186                         </Extension>
    187                     </ProgId>
    188                     <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
    189                         <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
    190                     </ProgId>
    191                     <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
    192                         <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
    193                     </ProgId>
    194                     <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
    195                         <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
    196                     </ProgId>
    197                     <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
    198                         <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
    199                     </ProgId>
    200                 </Component> <!-- RegisterExtensions -->
    201 
    202                 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
    203                      binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
    204                 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
    205 
    206                     <!-- Set required environment variables. -->
    207                     <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
    208                                  System="yes" Part="last" Permanent="no" Value="MergeRedirectFolder" />
    209 
    210                     <!-- Files -->
    211 <?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
    212                     <!-- Include all user manual .CHM files (file is generated by makefile). -->
    213                     <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
    214 <?endif ?>
    215                     <!-- Include all license files (file is generated by makefile). -->
    216                     <?include $(env.PATH_TARGET)\Files_License.wxi ?>
    217 
    218                     <!-- Frontends -->
    219                     <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
    220                           Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
    221                     <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
    222                           Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
    223                         <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
    224                    <!--     <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
    225                     </File>
    226                     <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
    227                           Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
    228 
    229                     <!-- Misc tools -->
    230                     <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
    231                           Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
    232                     <File Id="file_VBoxNetNAT.exe" Name="VBoxNetNAT.exe"
    233                           Source="$(env.PATH_OUT)\bin\VBoxNetNAT.exe"/>
    234 <?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
    235                     <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
    236                           Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
    237 <?endif ?>
    238                     <!-- VBox DLL files -->
    239                     <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
    240                           Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
    241                     <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
    242                           Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
    243                     <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
    244                           Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
    245                     <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
    246                           Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
    247                     <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
    248                           Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
    249 <?if $(env.BUILD_TARGET_ARCH) = "x86" ?>
    250                     <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
    251                           Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
    252                     <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
    253                           Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
    254 <?endif ?>
    255                     <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
    256                           Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
    257 <?if $(env.VBOX_WITH_VRDP) = "yes" ?>
    258                     <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
    259                           Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
    260 <?endif ?>
    261                     <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
    262                           Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
    263                     <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
    264                           Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
    265 <?if $(env.VBOX_WITH_DRAG_AND_DROP)= "yes" ?>
    266                     <File Id="file_VBoxDragAndDropSvc.dll" Name="VBoxDragAndDropSvc.dll"
    267                           Source="$(env.PATH_OUT)\bin\VBoxDragAndDropSvc.dll" />
    268 <?endif ?>
    269 <?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
    270                     <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
    271                           Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
    272 <?endif ?>
    273 <?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
    274                     <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
    275                           Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
    276 <?endif ?>
    277                     <File Id="file_VBoxHostChannel.dll" Name="VBoxHostChannel.dll"
    278                           Source="$(env.PATH_OUT)\bin\VBoxHostChannel.dll" />
    279                     <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
    280                           Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
    281                     <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
    282                           Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
    283 
    284                     <!-- Include resource DLL (icons, ...). -->
    285                     <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
    286                           Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
    287 
    288                     <File Id="file_VMMGC.gc" Name="VMMGC.gc"
    289                           Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
    290                     <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
    291                           Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
    292                     <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
    293                           Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
    294 
    295                     <File Id="file_VMMR0.r0" Name="VMMR0.r0"
    296                           Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
    297                     <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
    298                           Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
    299                     <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
    300                           Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
    301 
    302 <?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    303                     <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
    304                           Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
    305 <?endif ?>
    306                     <!-- Qt frontend -->
    307                     <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
    308                           Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
    309                     </File>
    310                     <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
    311                           Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
    312                     <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
    313                           Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
    314                     <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
    315                           Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
    316 <?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
    317                     <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
    318                           Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
    319 <?endif ?>
    320 <?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
    321                     <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
    322                           Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
    323 <?endif?>
    324 
    325 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC100" ?>
    326                     <!-- MS C/C++ v10.0 Runtime DLL files. -->
    327                     <File Id="file_msvcr100.dll" Name="msvcr100.dll"
    328                           Source="$(env.PATH_OUT)\bin\msvcr100.dll" />
    329                     <File Id="file_msvcp100.dll" Name="msvcp100.dll"
    330                           Source="$(env.PATH_OUT)\bin\msvcp100.dll" />
    331 <?endif?>
    332 <?if $(env.VBOX_VCC_TOOL_STEM) = "VCC110" ?>
    333                     <!-- MS C/C++ v11.0 Runtime DLL files. -->
    334                     <File Id="file_msvcr110.dll" Name="msvcr110.dll"
    335                           Source="$(env.PATH_OUT)\bin\msvcr110.dll" />
    336                     <File Id="file_msvcp110.dll" Name="msvcp110.dll"
    337                           Source="$(env.PATH_OUT)\bin\msvcp110.dll" />
    338 <?endif?>
    339 
    340                     <!-- EFI firmware -->
    341 <?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
    342                     <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
    343                           Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
    344                     <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
    345                           Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
    346 <?endif?>
    347                     <!-- VBox guest additions -->
    348 <?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
    349 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
    350                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    351                           Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso"
    352                           DiskId="$(var.Property_DiskIdCommon)" />
    353 <?else ?>
    354                     <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
    355                           Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
    356 <?endif ?>
    357 <?endif ?>
    358                     <!-- Include key for VBox version -->
    359                     <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
    360 
    361                 </Component> <!-- MainBinaries -->
    362 
    363 <?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
    364                 <!-- Qt accessible plugins -->
    365                 <Directory Id="dir_Accessible" Name="accessible">
    366                     <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
    367                         <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
    368                               Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
    369                     </Component>
    370                 </Directory>
    371 <?endif?>
    372 
    373 <?if $(env.VBOX_WITH_CROGL) = "yes" ?>
    374                 <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
    375                     <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
    376                           Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
    377                     <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
    378                           Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
    379                     <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
    380                           Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
    381                     <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
    382                           Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
    383                 </Component>
    384 <?endif?>
    385                 <!-- SDL plugins -->
    386                 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
    387                     <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
    388                           Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
    389                     <File Id="file_SDL.dll" Name="SDL.dll"
    390                           Source="$(env.PATH_OUT)\bin\SDL.dll" />
    391 <?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
    392                     <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
    393                           Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
    394 <?endif?>
    395                 </Component> <!-- SDL plugins -->
    396 
    397 <?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
    398                 <!-- Webservice -->
    399                 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
    400                     <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
    401                           Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
    402                 </Component>
    403 <?endif?>
    404                 <!-- C API (glue) bindings -->
    405                 <Component Id="cp_VBoxCAPI" Guid="097F7F53-7111-467F-8E0C-257D9926FDA0">
    406                     <File Id="file_VBoxCAPI.dll" Name="VBoxCAPI.dll"
    407                           Source="$(env.PATH_OUT)\bin\VBoxCAPI.dll" />
    408                 </Component>
    409 
    410 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    411                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    412                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    413                 </Component>
    414 <?endif?>
    415             </Directory> <!-- MergeRedirectFolder directory -->
    416         </Directory> <!-- TARGETDIR -->
    417 
    418     </Module>
    419 </Wix>
     22</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeNetAdp.wxi

    r51011 r51023  
    1 <?xml version="1.0"?>
    21<!--
    32    VirtualBox Windows Installation Script (WiX)
     
    1413-->
    1514
    16 <?include Properties.wxi ?>
     15<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     16         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1717
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     18    <!-- Device driver directory -->
     19    <Directory Id="dir_VBoxNetAdpDrivers" Name="drivers">
     20        <Directory Id="dir_VBoxNetAdpNetwork" Name="network">
     21            <Directory Id="dir_VBoxNetAdpNetAdp" Name="netadp">
     22                <Component Id="cp_NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
     23                    <File Id="file_VBoxNetAdp.sys" Name="VBoxNetAdp.sys" KeyPath="yes"
     24                          Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys" Checksum="yes"/>
     25                    <File Id="file_VBoxNetAdp.inf" Name="VBoxNetAdp.inf"
     26                          Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
     27<?if $(env.VBOX_SIGNING_MODE) != none ?>
     28                    <File Id="file_VBoxNetAdp.cat" Name="VBoxNetAdp.cat"
     29                          Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
     30<?endif ?>
     31                </Component>
     32            </Directory>
     33        </Directory>
     34    </Directory>
    2035
    21     <Module Id="msm_VBoxNetworkAdp"
    22             Language="!(loc.LANG)"
    23             Version="$(var.Property_Version)">
    24 
    25         <Package Id="248b9371-ab62-48ee-8f23-270fb319bb46"
    26                  Keywords="Installer, Setup"
    27                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) NetAdp installation package"
    28                  Comments="$(env.VBOX_PRODUCT) NetAdp installation package"
    29                  Manufacturer="$(env.VBOX_VENDOR)"
    30                  InstallerVersion="200"
    31                  AdminImage="yes"
    32                  InstallPrivileges="elevated"
    33                  Platform="$(var.Property_Platform)"
    34                  SummaryCodepage="1252"/>
    35 
    36         <!-- Here comes the file/directory list -->
    37         <Directory Id="TARGETDIR" Name="SourceDir">
    38             <Directory Id="MergeRedirectFolder" FileSource=".">
    39                 <!-- Device driver directory -->
    40                 <Directory Id="dir_Drivers" Name="drivers">
    41                     <Directory Id="dir_Network" Name="network">
    42                         <Directory Id="dir_NetAdp" Name="netadp">
    43                             <Component Id="cp_NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
    44                                 <File Id="file_VBoxNetAdp.sys" Name="VBoxNetAdp.sys" KeyPath="yes"
    45                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys" Checksum="yes"/>
    46                                 <File Id="file_VBoxNetAdp.inf" Name="VBoxNetAdp.inf"
    47                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
    48 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    49                                 <File Id="file_VBoxNetAdp.cat" Name="VBoxNetAdp.cat"
    50                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
    51 <?endif ?>
    52                             </Component>
    53                         </Directory>
    54                     </Directory>
    55                 </Directory> <!-- Directory "drivers" -->
    56             </Directory> <!-- MergeRedirectFolder -->
    57         </Directory> <!-- TARGETDIR -->
    58 
    59     </Module>
    60 </Wix>
     36</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeNetAdp.wxs

    r51011 r51023  
    3737        <Directory Id="TARGETDIR" Name="SourceDir">
    3838            <Directory Id="MergeRedirectFolder" FileSource=".">
    39                 <!-- Device driver directory -->
    40                 <Directory Id="dir_Drivers" Name="drivers">
    41                     <Directory Id="dir_Network" Name="network">
    42                         <Directory Id="dir_NetAdp" Name="netadp">
    43                             <Component Id="cp_NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
    44                                 <File Id="file_VBoxNetAdp.sys" Name="VBoxNetAdp.sys" KeyPath="yes"
    45                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys" Checksum="yes"/>
    46                                 <File Id="file_VBoxNetAdp.inf" Name="VBoxNetAdp.inf"
    47                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
    48 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    49                                 <File Id="file_VBoxNetAdp.cat" Name="VBoxNetAdp.cat"
    50                                       Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
    51 <?endif ?>
    52                             </Component>
    53                         </Directory>
    54                     </Directory>
    55                 </Directory> <!-- Directory "drivers" -->
     39
     40                <?include VBoxMergeNetAdp.wxi ?>
     41
    5642            </Directory> <!-- MergeRedirectFolder -->
    5743        </Directory> <!-- TARGETDIR -->
  • trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxi

    r51009 r51023  
    1 <?xml version="1.0"?>
    21<!--
    32    VirtualBox Windows Installation Script (WiX)
     
    1413-->
    1514
    16 <?include Properties.wxi ?>
     15<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     16         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1717
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     18    <!-- Device driver directory -->
     19    <Directory Id="dir_VBoxNetFltDrivers" Name="drivers">
    2020
    21     <Module Id="msm_VBoxNetworkFlt"
    22             Language="!(loc.LANG)"
    23             Version="$(var.Property_Version)">
     21<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
     22        <Directory Id="dir_VBoxNetFltNetwork" Name="network">
     23            <Directory Id="dir_VBoxNetFltNetFlt" Name="netflt">
     24                <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
     25                    <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys"   KeyPath="yes"
     26                          Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
     27                    <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
     28                          Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
     29                    <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
     30                          Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
     31                    <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
     32                          Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
     33    <?if $(env.VBOX_SIGNING_MODE) != none ?>
     34                    <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
     35                          Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
     36    <?endif ?>
     37                </Component>
     38            </Directory>
     39        </Directory>
     40<?endif ?> <!-- VBOX_WITH_NETFLT -->
    2441
    25         <Package Id="687c000b-c74b-4336-a449-dd8b3c6a060e"
    26                  Keywords="Installer, Setup"
    27                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) NetFlt installation package"
    28                  Comments="$(env.VBOX_PRODUCT) NetFlt installation package"
    29                  Manufacturer="$(env.VBOX_VENDOR)"
    30                  InstallerVersion="200"
    31                  AdminImage="yes"
    32                  InstallPrivileges="elevated"
    33                  Platform="$(var.Property_Platform)"
    34                  SummaryCodepage="1252"/>
     42    </Directory> <!-- Directory "drivers" -->
    3543
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    39         <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
    40         <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
    41 
    42         <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    43         <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    44 
    45         <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    46         <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[INSTALLDIR]" Execute="immediate"/>
    47 
    48         <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    49         <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    50 
    51         <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
    52         <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    53 
    54         <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    55         <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    56 
    57         <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
    58         <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    59 <?endif ?>
    60 
    61         <!-- Here comes the file/directory list -->
    62         <Directory Id="TARGETDIR" Name="SourceDir">
    63             <Directory Id="MergeRedirectFolder" FileSource=".">
    64                 <!-- Device driver directory -->
    65                 <Directory Id="dir_Drivers" Name="drivers">
    66 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    67                     <Directory Id="dir_Network" Name="network">
    68                         <Directory Id="dir_NetFlt" Name="netflt">
    69                             <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
    70                                 <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys"   KeyPath="yes"
    71                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
    72                                 <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
    73                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
    74                                 <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
    75                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
    76                                 <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
    77                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                                 <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
    80                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
    81 <?endif ?>
    82                             </Component>
    83                         </Directory>
    84                     </Directory>
    85 <?endif ?>
    86                 </Directory> <!-- Directory "drivers" -->
    87             </Directory> <!-- MergeRedirectFolder -->
    88         </Directory> <!-- TARGETDIR -->
    89 
    90         <InstallExecuteSequence>
    91 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    92             <!-- Create host-only interfaces on first-time install. -->
    93             <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    94             <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    95             <!-- Don't remove the host-only interfaces on update, only on uninstall. -->
    96             <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
    97             <!-- First stop the existing host-only interfaces on update ... -->
    98             <Custom Action="ca_StopHostOnlyInterfaces" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[UPGRADINGPRODUCTCODE]]></Custom>
    99             <!-- ... then do the actual driver update. -->
    100             <Custom Action="ca_UpdateHostOnlyInterfacesArgs" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    101             <Custom Action="ca_UpdateHostOnlyInterfaces" Before="InstallFiles" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    102 
    103             <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    104             <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    105             <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    106             <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    107 
    108             <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    109             <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    110             <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    111             <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    112 <?endif?>
    113         </InstallExecuteSequence>
    114 
    115     </Module>
    116 </Wix>
     44</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxs

    r51009 r51023  
    3434                 SummaryCodepage="1252"/>
    3535
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    39         <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
    40         <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
    41 
    42         <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    43         <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    44 
    45         <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    46         <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[INSTALLDIR]" Execute="immediate"/>
    47 
    48         <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    49         <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    50 
    51         <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
    52         <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    53 
    54         <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    55         <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    56 
    57         <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
    58         <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    59 <?endif ?>
    60 
    6136        <!-- Here comes the file/directory list -->
    6237        <Directory Id="TARGETDIR" Name="SourceDir">
    6338            <Directory Id="MergeRedirectFolder" FileSource=".">
    64                 <!-- Device driver directory -->
    65                 <Directory Id="dir_Drivers" Name="drivers">
    66 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    67                     <Directory Id="dir_Network" Name="network">
    68                         <Directory Id="dir_NetFlt" Name="netflt">
    69                             <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
    70                                 <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys"   KeyPath="yes"
    71                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
    72                                 <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
    73                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
    74                                 <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
    75                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
    76                                 <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
    77                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                                 <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
    80                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
    81 <?endif ?>
    82                             </Component>
    83                         </Directory>
    84                     </Directory>
    85 <?endif ?>
    86                 </Directory> <!-- Directory "drivers" -->
     39
     40                <?include VBoxMergeNetFlt.wxi ?>
     41                <?include VBoxMergeNetFltCA.wxi ?>
     42
    8743            </Directory> <!-- MergeRedirectFolder -->
    8844        </Directory> <!-- TARGETDIR -->
    8945
    90         <InstallExecuteSequence>
    91 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    92             <!-- Create host-only interfaces on first-time install. -->
    93             <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    94             <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    95             <!-- Don't remove the host-only interfaces on update, only on uninstall. -->
    96             <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
    97             <!-- First stop the existing host-only interfaces on update ... -->
    98             <Custom Action="ca_StopHostOnlyInterfaces" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[UPGRADINGPRODUCTCODE]]></Custom>
    99             <!-- ... then do the actual driver update. -->
    100             <Custom Action="ca_UpdateHostOnlyInterfacesArgs" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    101             <Custom Action="ca_UpdateHostOnlyInterfaces" Before="InstallFiles" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    102 
    103             <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    104             <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    105             <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    106             <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    107 
    108             <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    109             <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    110             <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    111             <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    112 <?endif?>
    113         </InstallExecuteSequence>
    114 
    11546    </Module>
    11647</Wix>
  • trunk/src/VBox/Installer/win/VBoxMergeNetFltCA.wxi

    r51009 r51023  
    1414-->
    1515
    16 <?include Properties.wxi ?>
     16<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     17         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1718
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     19    <!-- Custom actions -->
     20    <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
     21<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
     22    <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
     23    <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
    2024
    21     <Module Id="msm_VBoxNetworkFlt"
    22             Language="!(loc.LANG)"
    23             Version="$(var.Property_Version)">
     25    <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
     26    <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    2427
    25         <Package Id="687c000b-c74b-4336-a449-dd8b3c6a060e"
    26                  Keywords="Installer, Setup"
    27                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) NetFlt installation package"
    28                  Comments="$(env.VBOX_PRODUCT) NetFlt installation package"
    29                  Manufacturer="$(env.VBOX_VENDOR)"
    30                  InstallerVersion="200"
    31                  AdminImage="yes"
    32                  InstallPrivileges="elevated"
    33                  Platform="$(var.Property_Platform)"
    34                  SummaryCodepage="1252"/>
     28    <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
     29    <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[INSTALLDIR]" Execute="immediate"/>
    3530
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    39         <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
    40         <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
     31    <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
     32    <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    4133
    42         <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    43         <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
     34    <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
     35    <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    4436
    45         <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
    46         <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[INSTALLDIR]" Execute="immediate"/>
     37    <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
     38    <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    4739
    48         <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    49         <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    50 
    51         <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
    52         <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    53 
    54         <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
    55         <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    56 
    57         <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
    58         <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
     40    <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
     41    <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
    5942<?endif ?>
    6043
    61         <!-- Here comes the file/directory list -->
    62         <Directory Id="TARGETDIR" Name="SourceDir">
    63             <Directory Id="MergeRedirectFolder" FileSource=".">
    64                 <!-- Device driver directory -->
    65                 <Directory Id="dir_Drivers" Name="drivers">
     44    <InstallExecuteSequence>
    6645<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    67                     <Directory Id="dir_Network" Name="network">
    68                         <Directory Id="dir_NetFlt" Name="netflt">
    69                             <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
    70                                 <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys"   KeyPath="yes"
    71                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
    72                                 <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
    73                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
    74                                 <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
    75                                       Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
    76                                 <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
    77                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                                 <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
    80                                       Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
    81 <?endif ?>
    82                             </Component>
    83                         </Directory>
    84                     </Directory>
    85 <?endif ?>
    86                 </Directory> <!-- Directory "drivers" -->
    87             </Directory> <!-- MergeRedirectFolder -->
    88         </Directory> <!-- TARGETDIR -->
     46        <!-- Create host-only interfaces on first-time install. -->
     47        <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
     48        <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
     49        <!-- Don't remove the host-only interfaces on update, only on uninstall. -->
     50        <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
     51        <!-- First stop the existing host-only interfaces on update ... -->
     52        <Custom Action="ca_StopHostOnlyInterfaces" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[UPGRADINGPRODUCTCODE]]></Custom>
     53        <!-- ... then do the actual driver update. -->
     54        <Custom Action="ca_UpdateHostOnlyInterfacesArgs" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
     55        <Custom Action="ca_UpdateHostOnlyInterfaces" Before="InstallFiles" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    8956
    90         <InstallExecuteSequence>
    91 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    92             <!-- Create host-only interfaces on first-time install. -->
    93             <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    94             <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
    95             <!-- Don't remove the host-only interfaces on update, only on uninstall. -->
    96             <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
    97             <!-- First stop the existing host-only interfaces on update ... -->
    98             <Custom Action="ca_StopHostOnlyInterfaces" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[UPGRADINGPRODUCTCODE]]></Custom>
    99             <!-- ... then do the actual driver update. -->
    100             <Custom Action="ca_UpdateHostOnlyInterfacesArgs" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
    101             <Custom Action="ca_UpdateHostOnlyInterfaces" Before="InstallFiles" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
     57        <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
     58        <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
     59        <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
     60        <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    10261
    103             <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    104             <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    105             <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
    106             <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
     62        <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
     63        <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
     64        <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
     65        <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
     66<?endif?>
     67    </InstallExecuteSequence>
    10768
    108             <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    109             <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    110             <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    111             <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
    112 <?endif?>
    113         </InstallExecuteSequence>
    114 
    115     </Module>
    116 </Wix>
     69</Include>
  • trunk/src/VBox/Installer/win/VBoxMergePython.wxi

    r51011 r51023  
    1 <?xml version="1.0"?>
    21<!--
    32    VirtualBox Windows Installation Script (WiX)
     
    1413-->
    1514
    16 <?include Properties.wxi ?>
    17 
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    20 
    21     <Module Id="msm_VBoxPython"
    22             Language="!(loc.LANG)"
    23             Version="$(var.Property_Version)">
    24 
    25         <Package Id="0f4de366-a8f3-4842-a165-fb19251cde88"
    26                  Keywords="Installer"
    27                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) Python bindings installation package"
    28                  Comments="$(env.VBOX_PRODUCT) Python bindings installation package"
    29                  Manufacturer="$(env.VBOX_VENDOR)"
    30                  InstallerVersion="200"
    31                  AdminImage="yes"
    32                  InstallPrivileges="elevated"
    33                  Platform="$(var.Property_Platform)"
    34                  SummaryCodepage="1252"/>
    35 
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38         <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
    39         <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[INSTALLDIR]" Execute="immediate"/>
    40 
    41         <!-- Here comes the file/directory list -->
    42         <Directory Id="TARGETDIR" Name="SourceDir">
    43             <Directory Id="MergeRedirectFolder" FileSource=".">
     15<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     16         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    4417
    4518<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    46                 <!-- Python bindings -->
    47                 <Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
    48                      <File Id="file_vboxapisetup.py" Name="vboxapisetup.py"
    49                            Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py"
    50                            DiskId="$(var.Property_DiskIdCommon)" />
    51                 </Component>
    52                 <Directory Id="dir_SDKVBoxAPI" Name="vboxapi">
    53                     <Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
    54                         <File Id="file___init__.py" Name="__init__.py"
    55                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py"
    56                               DiskId="$(var.Property_DiskIdCommon)" />
    57                         <File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py"
    58                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py"
    59                               DiskId="$(var.Property_DiskIdCommon)" />
    60                     </Component>
    61                 </Directory>
     19    <!-- Python bindings -->
     20    <Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
     21         <File Id="file_vboxapisetup.py" Name="vboxapisetup.py"
     22               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py"
     23               DiskId="$(var.Property_DiskIdCommon)" />
     24    </Component>
     25    <Directory Id="dir_VBoxPythonSDKVBoxAPI" Name="vboxapi">
     26        <Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
     27            <File Id="file___init__.py" Name="__init__.py"
     28                  Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py"
     29                  DiskId="$(var.Property_DiskIdCommon)" />
     30            <File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py"
     31                  Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py"
     32                  DiskId="$(var.Property_DiskIdCommon)" />
     33        </Component>
     34    </Directory>
    6235<?endif?>
    63                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    64                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    65                 </Component>
     36    <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
     37        <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
     38    </Component>
    6639
    67             </Directory> <!-- MergeRedirectFolder -->
    68         </Directory> <!-- TARGETDIR -->
    69 
    70         <InstallExecuteSequence>
    71 
    72             <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[&VBoxPython=3]]></Custom>
    73             <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
    74 
    75         </InstallExecuteSequence>
    76 
    77     </Module>
    78 </Wix>
     40</Include>
  • trunk/src/VBox/Installer/win/VBoxMergePython.wxs

    r51011 r51023  
    3434                 SummaryCodepage="1252"/>
    3535
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38         <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
    39         <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[INSTALLDIR]" Execute="immediate"/>
    40 
    4136        <!-- Here comes the file/directory list -->
    4237        <Directory Id="TARGETDIR" Name="SourceDir">
    4338            <Directory Id="MergeRedirectFolder" FileSource=".">
    4439
    45 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    46                 <!-- Python bindings -->
    47                 <Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
    48                      <File Id="file_vboxapisetup.py" Name="vboxapisetup.py"
    49                            Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py"
    50                            DiskId="$(var.Property_DiskIdCommon)" />
    51                 </Component>
    52                 <Directory Id="dir_SDKVBoxAPI" Name="vboxapi">
    53                     <Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
    54                         <File Id="file___init__.py" Name="__init__.py"
    55                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py"
    56                               DiskId="$(var.Property_DiskIdCommon)" />
    57                         <File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py"
    58                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py"
    59                               DiskId="$(var.Property_DiskIdCommon)" />
    60                     </Component>
    61                 </Directory>
    62 <?endif?>
    63                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    64                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    65                 </Component>
     40                <?include VBoxMergePython.wxi ?>
     41                <?include VBoxMergePythonCA.wxi ?>
    6642
    6743            </Directory> <!-- MergeRedirectFolder -->
    6844        </Directory> <!-- TARGETDIR -->
    6945
    70         <InstallExecuteSequence>
    71 
    72             <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[&VBoxPython=3]]></Custom>
    73             <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
    74 
    75         </InstallExecuteSequence>
    76 
    7746    </Module>
    7847</Wix>
  • trunk/src/VBox/Installer/win/VBoxMergePythonCA.wxi

    r51011 r51023  
    1414-->
    1515
    16 <?include Properties.wxi ?>
     16<?xml version="1.0"?>
     17<!--
     18    VirtualBox Windows Installation Script (WiX)
    1719
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     20    Copyright (C) 2006-2014 Oracle Corporation
    2021
    21     <Module Id="msm_VBoxPython"
    22             Language="!(loc.LANG)"
    23             Version="$(var.Property_Version)">
     22    This file is part of VirtualBox Open Source Edition (OSE), as
     23    available from http://www.virtualbox.org. This file is free software;
     24    you can redistribute it and/or modify it under the terms of the GNU
     25    General Public License (GPL) as published by the Free Software
     26    Foundation, in version 2 as it comes in the "COPYING" file of the
     27    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
     28    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     29-->
    2430
    25         <Package Id="0f4de366-a8f3-4842-a165-fb19251cde88"
    26                  Keywords="Installer"
    27                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) Python bindings installation package"
    28                  Comments="$(env.VBOX_PRODUCT) Python bindings installation package"
    29                  Manufacturer="$(env.VBOX_VENDOR)"
    30                  InstallerVersion="200"
    31                  AdminImage="yes"
    32                  InstallPrivileges="elevated"
    33                  Platform="$(var.Property_Platform)"
    34                  SummaryCodepage="1252"/>
     31<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     32         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    3533
    36         <!-- Custom actions -->
    37         <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
    38         <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
    39         <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[INSTALLDIR]" Execute="immediate"/>
     34    <!-- Custom actions -->
     35    <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
     36    <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
     37    <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[INSTALLDIR]" Execute="immediate"/>
    4038
    41         <!-- Here comes the file/directory list -->
    42         <Directory Id="TARGETDIR" Name="SourceDir">
    43             <Directory Id="MergeRedirectFolder" FileSource=".">
     39    <InstallExecuteSequence>
    4440
    45 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    46                 <!-- Python bindings -->
    47                 <Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
    48                      <File Id="file_vboxapisetup.py" Name="vboxapisetup.py"
    49                            Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py"
    50                            DiskId="$(var.Property_DiskIdCommon)" />
    51                 </Component>
    52                 <Directory Id="dir_SDKVBoxAPI" Name="vboxapi">
    53                     <Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
    54                         <File Id="file___init__.py" Name="__init__.py"
    55                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py"
    56                               DiskId="$(var.Property_DiskIdCommon)" />
    57                         <File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py"
    58                               Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py"
    59                               DiskId="$(var.Property_DiskIdCommon)" />
    60                     </Component>
    61                 </Directory>
    62 <?endif?>
    63                 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
    64                     <Condition>VBOX_PYTHON_IS_INSTALLED</Condition>
    65                 </Component>
     41        <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[&VBoxPython=3]]></Custom>
     42        <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
    6643
    67             </Directory> <!-- MergeRedirectFolder -->
    68         </Directory> <!-- TARGETDIR -->
     44    </InstallExecuteSequence>
    6945
    70         <InstallExecuteSequence>
    71 
    72             <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[&VBoxPython=3]]></Custom>
    73             <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
    74 
    75         </InstallExecuteSequence>
    76 
    77     </Module>
    78 </Wix>
     46</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeUSB.wxi

    r51009 r51023  
    1414-->
    1515
    16 <?include Properties.wxi ?>
     16<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
     17         xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    1718
    18 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    19      xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
     19    <Directory Id="dir_VBoxUSBFilter" Name="filter">
     20        <Component Id="cp_USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65" Win64="$(var.Property_Win64)">
     21            <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
     22                            Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
     23            <File Id="file_VBoxUSBMon.sys" Name="VBoxUSBMon.sys"
     24                  Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
     25            <File Id="file_VBoxUSBMon.inf" Name="VBoxUSBMon.inf"
     26                  Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
     27<?if $(env.VBOX_SIGNING_MODE) != none ?>
     28            <File Id="file_VBoxUSBMon.cat" Name="VBoxUSBMon.cat"
     29                  Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
     30<?endif ?>
     31        </Component>
     32    </Directory>
    2033
    21     <!-- Note: GUIDs in WiX *must* be uppercase! -->
    22     <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
    23          a major upgrade (more than just fixing a few files) change the product GUID. We always do a major
    24          upgrade even for minor VBox updates. For that only change the product ID and the product version.
    25          The upgrade code *never* must be changed! -->
     34    <Directory Id="dir_VBoxUSBDevice" Name="device">
     35        <Component Id="cp_USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0" Win64="$(var.Property_Win64)">
     36            <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
     37                            Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
     38            <File Id="file_VBoxUSB.sys" Name="VBoxUSB.sys"
     39                  Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
     40            <File Id="file_VBoxUSB.inf" Name="VBoxUSB.inf"
     41                  Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
     42<?if $(env.VBOX_SIGNING_MODE) != none ?>
     43            <File Id="file_VBoxUSB.cat" Name="VBoxUSB.cat"
     44                  Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
     45<?endif ?>
     46        </Component>
     47    </Directory>
    2648
    27     <!-- Update / Upgrade policies:
    28          Update Type    Package Code    Product Version     Product Code    Upgrade Code
    29          Small update   change          don't change        don't change    don't change
    30          Minor update   change          change              don't change    don't change
    31          Major upgrade  change          change              change          don't change -->
    32 
    33     <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
    34          Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
    35 
    36     <Module Id="msm_VBoxUSB"
    37             Language="!(loc.LANG)"
    38             Version="$(var.Property_Version)">
    39 
    40         <Package Id="b8f1b6f4-2e92-40a6-b819-782e523b20ab"
    41                  Keywords="Installer, Setup"
    42                  Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) USB drivers installation package"
    43                  Comments="$(env.VBOX_PRODUCT) USB drivers installation package"
    44                  Manufacturer="$(env.VBOX_VENDOR)"
    45                  InstallerVersion="200"
    46                  AdminImage="yes"
    47                  InstallPrivileges="elevated"
    48                  Platform="$(var.Property_Platform)"
    49                  SummaryCodepage="1252"/>
    50 
    51         <!-- Here comes the file/directory list -->
    52         <Directory Id="TARGETDIR" Name="SourceDir">
    53             <Directory Id="MergeRedirectFolder" FileSource=".">
    54 
    55                 <Directory Id="dir_USBFilter" Name="filter">
    56                     <Component Id="cp_USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65" Win64="$(var.Property_Win64)">
    57                         <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    58                                         Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
    59                         <File Id="file_VBoxUSBMon.sys" Name="VBoxUSBMon.sys"
    60                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
    61                         <File Id="file_VBoxUSBMon.inf" Name="VBoxUSBMon.inf"
    62                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
    63 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    64                         <File Id="file_VBoxUSBMon.cat" Name="VBoxUSBMon.cat"
    65                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
    66 <?endif ?>
    67                     </Component>
    68                 </Directory>
    69 
    70                 <Directory Id="dir_USBDevice" Name="device">
    71                     <Component Id="cp_USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0" Win64="$(var.Property_Win64)">
    72                         <!-- <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    73                                         Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/> -->
    74                         <File Id="file_VBoxUSB.sys" Name="VBoxUSB.sys"
    75                               Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
    76                         <File Id="file_VBoxUSB.inf" Name="VBoxUSB.inf"
    77                               Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                         <File Id="file_VBoxUSB.cat" Name="VBoxUSB.cat"
    80                               Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
    81 <?endif ?>
    82                     </Component>
    83                 </Directory>
    84 
    85             </Directory> <!-- MergeRedirectFolder -->
    86         </Directory> <!-- TARGETDIR -->
    87 
    88     </Module>
    89 </Wix>
     49</Include>
  • trunk/src/VBox/Installer/win/VBoxMergeUSB.wxs

    r51009 r51023  
    1919     xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
    2020
    21     <!-- Note: GUIDs in WiX *must* be uppercase! -->
    22     <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
    23          a major upgrade (more than just fixing a few files) change the product GUID. We always do a major
    24          upgrade even for minor VBox updates. For that only change the product ID and the product version.
    25          The upgrade code *never* must be changed! -->
    26 
    27     <!-- Update / Upgrade policies:
    28          Update Type    Package Code    Product Version     Product Code    Upgrade Code
    29          Small update   change          don't change        don't change    don't change
    30          Minor update   change          change              don't change    don't change
    31          Major upgrade  change          change              change          don't change -->
    32 
    33     <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
    34          Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
    35 
    3621    <Module Id="msm_VBoxUSB"
    3722            Language="!(loc.LANG)"
     
    5338            <Directory Id="MergeRedirectFolder" FileSource=".">
    5439
    55                 <Directory Id="dir_USBFilter" Name="filter">
    56                     <Component Id="cp_USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65" Win64="$(var.Property_Win64)">
    57                         <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    58                                         Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
    59                         <File Id="file_VBoxUSBMon.sys" Name="VBoxUSBMon.sys"
    60                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
    61                         <File Id="file_VBoxUSBMon.inf" Name="VBoxUSBMon.inf"
    62                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
    63 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    64                         <File Id="file_VBoxUSBMon.cat" Name="VBoxUSBMon.cat"
    65                               Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
    66 <?endif ?>
    67                     </Component>
    68                 </Directory>
    69 
    70                 <Directory Id="dir_USBDevice" Name="device">
    71                     <Component Id="cp_USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0" Win64="$(var.Property_Win64)">
    72                         <!-- <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
    73                                         Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/> -->
    74                         <File Id="file_VBoxUSB.sys" Name="VBoxUSB.sys"
    75                               Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
    76                         <File Id="file_VBoxUSB.inf" Name="VBoxUSB.inf"
    77                               Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
    78 <?if $(env.VBOX_SIGNING_MODE) != none ?>
    79                         <File Id="file_VBoxUSB.cat" Name="VBoxUSB.cat"
    80                               Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
    81 <?endif ?>
    82                     </Component>
    83                 </Directory>
     40                <?include VBoxMergeUSB.wxi ?>
    8441
    8542            </Directory> <!-- MergeRedirectFolder -->
  • trunk/src/VBox/Installer/win/VirtualBox.wxs

    r51011 r51023  
    1919    <?include Properties.wxi ?>
    2020
     21<?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    2122    <!-- The merge module file names -->
    2223    <?define Property_VBoxMergeApp = "$(env.VBOX_WIN_INST_MERGE_APP)" ?>
    2324    <?define Property_VBoxMergeUSB = "$(env.VBOX_WIN_INST_MERGE_USB)" ?>
    24 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    25     <?define Property_VBoxMergeNetworkFlt = "$(env.VBOX_WIN_INST_MERGE_NETFLT)" ?>
    26 <?endif ?>
     25
     26    <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
     27        <?define Property_VBoxMergeNetworkFlt = "$(env.VBOX_WIN_INST_MERGE_NETFLT)" ?>
     28    <?endif ?>
     29
    2730    <?define Property_VBoxMergeNetworkAdp = "$(env.VBOX_WIN_INST_MERGE_NETADP)" ?>
    28 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    29     <?define Property_VBoxMergePython = "$(env.VBOX_WIN_INST_MERGE_PYTHON)" ?>
     31
     32    <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
     33        <?define Property_VBoxMergePython = "$(env.VBOX_WIN_INST_MERGE_PYTHON)" ?>
     34    <?endif ?>
    3035<?endif ?>
    3136
     
    118123    <!-- The media/binary IDs -->
    119124    <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
    120 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
     125<?if $(env.VBOX_WITH_MSM_INSTALL) = "no" ?>
     126    <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
    121127        <Media Id="2" Cabinet="common.cab" EmbedCab="no" CompressionLevel="high" />
     128    <?endif ?>
    122129<?endif ?>
    123130    <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
     
    169176        <Directory Id="$(var.Property_ProgramFiles)" Name="PFiles">
    170177            <Directory Id="INSTALLDIR" Name="$(env.VBOX_PRODUCT)">
     178<?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    171179                <Merge Id="msm_VBoxApp" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeApp)" DiskId="1" />
     180<?else ?>
     181                <?include VBoxMergeApp.wxi ?>
     182<?endif ?>
    172183                <Directory Id="dir_Drivers" Name="drivers">
    173184                    <Directory Id="dir_USB" Name="USB">
     185<?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    174186                        <Merge Id="msm_VBoxUSB" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeUSB)" DiskId="1" />
     187<?else ?>
     188                        <?include VBoxMergeUSB.wxi ?>
     189<?endif ?>
    175190                    </Directory>
    176191                    <Directory Id="dir_Network" Name="network">
    177192<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    178193                        <Directory Id="dir_NetFlt" Name="netflt">
     194    <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    179195                            <Merge Id="msm_VBoxNetworkFlt" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeNetworkFlt)" DiskId="1" />
     196    <?else ?>
     197                            <?include VBoxMergeNetFlt.wxi ?>
     198    <?endif ?>
    180199                        </Directory>
    181200<?endif ?>
    182201                        <Directory Id="dir_NetAdp" Name="netadp">
     202<?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    183203                            <Merge Id="msm_VBoxNetworkAdp" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeNetworkAdp)" DiskId="1" />
     204<?else ?>
     205                            <?include VBoxMergeNetAdp.wxi ?>
     206<?endif ?>
    184207                        </Directory>
    185208                    </Directory>
     
    188211                <Directory Id="dir_SDK" Name="sdk">
    189212                    <Directory Id="dir_SDKInstall" Name="install">
     213    <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    190214                        <Merge Id="msm_VBoxPython" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergePython)" DiskId="1" />
     215    <?else ?>
     216                        <?include VBoxMergePython.wxi ?>
     217    <?endif ?>
    191218                    </Directory>
    192219                </Directory>
     
    247274             ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
    248275             Absent="disallow" AllowAdvertise="no" >
     276 <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    249277        <MergeRef Id="msm_VBoxApp" />
    250 
     278<?else ?>
    251279        <ComponentRef Id="cp_StartMenuVBox" />
    252280        <ComponentRef Id="cp_DesktopShortcut" />
    253281        <ComponentRef Id="cp_QuickLaunchVBox" />
     282        <ComponentRef Id="cp_RegisterExtensions" />
     283
     284    <?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
     285            <ComponentRef Id="cp_Docs" />
     286    <?endif?>
     287            <ComponentRef Id="cp_NLS" />
     288    <?if $(env.VBOX_WITH_32_ON_64_MAIN_API) = "yes" ?>
     289            <ComponentRef Id="cp_MainCOM_x86" />
     290    <?endif?>
     291            <ComponentRef Id="cp_MainCOM" />
     292            <ComponentRef Id="cp_MainBinaries" />
     293    <?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
     294            <ComponentRef Id="cp_QtAccessible" />
     295    <?endif?>
     296    <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
     297            <ComponentRef Id="cp_VBoxPyInst" />
     298            <ComponentRef Id="cp_VBoxPyMod" />
     299    <?endif?>
     300
     301    <?if $(env.VBOX_WITH_CROGL) = "yes" ?>
     302            <ComponentRef Id="cp_VBoxCROpenGL" />
     303    <?endif?>
     304            <ComponentRef Id="cp_VBoxSDLBinaries" />
     305    <?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
     306            <ComponentRef Id="cp_VBoxWebService" />
     307    <?endif?>
     308            <ComponentRef Id="cp_VBoxDrv" />
     309    <?endif ?>
    254310
    255311        <Feature Id="VBoxUSB" Title="VirtualBox USB Support" Level="1"
     
    257313                 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
    258314                 Absent="allow" AllowAdvertise="no" >
     315<?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    259316            <MergeRef Id="msm_VBoxUSB" />
     317<?else ?>
     318            <ComponentRef Id="cp_USBFilterDriver" />
     319            <ComponentRef Id="cp_USBDeviceDriver" />
     320<?endif ?>
    260321        </Feature>
    261322
     
    269330                     ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
    270331                     Absent="allow" AllowAdvertise="no" >
     332    <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    271333                <MergeRef Id="msm_VBoxNetworkFlt" />
     334    <?else ?>
     335                <ComponentRef Id="cp_NetFltDriver" />
     336    <?endif ?>
    272337            </Feature>
    273338            <Feature Id="VBoxNetworkAdp" Title="VirtualBox Host-Only Networking" Level="1"
     
    275340                     ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
    276341                     Absent="allow" AllowAdvertise="no" >
     342    <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
    277343                <MergeRef Id="msm_VBoxNetworkAdp" />
     344    <?else ?>
     345                <ComponentRef Id="cp_NetAdpDriver" />
     346    <?endif ?>
    278347            </Feature>
    279348        </Feature>
     
    285354                 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
    286355                 Absent="allow" AllowAdvertise="no" >
    287             <MergeRef Id="msm_VBoxPython" />
     356    <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
     357                <MergeRef Id="msm_VBoxPython" />
     358    <?else ?>
     359                <ComponentRef Id="cp_VBoxPythonBinding" />
     360    <?endif ?>
    288361        </Feature>
    289362<?endif?>
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