Index: /trunk/src/VBox/Installer/win/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 51224)
+++ /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 51225)
@@ -60,4 +60,9 @@
 #
 ifneq ($(int-mod $(VBOX_VERSION_BUILD),2),0)
+ VBOX_WITH_MSM_INSTALL := 1
+ VBOX_INSTALLER_LANGUAGES = en_US
+endif
+
+ifeq ($(USERNAME),andy)
  VBOX_WITH_MSM_INSTALL := 1
  VBOX_INSTALLER_LANGUAGES = en_US
@@ -642,4 +647,5 @@
 		-E 'VBOX_WITH_VRDP=$(if-expr defined(VBOX_WITH_VRDP) && !defined(VBOX_WITH_EXTPACK_PUEL),yes,no)' \
 		-E 'VBOX_WITH_WEBSERVICES=$(if $(VBOX_WITH_WEBSERVICES),yes,no)' \
+		-E 'VBOX_WITH_MSM_INSTALL=$(if $(VBOX_WITH_MSM_INSTALL),yes,no)' \
 		-E 'VBOX_WITH_SECURELABEL=$(if $(VBOX_WITH_SECURELABEL),yes,no)' \
 		-E 'VBOX_WITH_SERIALNUMBER_INSTALL=$(if $(VBOX_WITH_SERIALNUMBER_INSTALL),yes,no)' \
Index: /trunk/src/VBox/Installer/win/VBoxKey.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxKey.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxKey.wxi	(revision 51225)
@@ -2,4 +2,4 @@
     <RegistryValue Root="HKLM" Key="$(var.Property_RegKey)" Name="Version" Value="%VER%" Type="string" />
     <RegistryValue Root="HKLM" Key="$(var.Property_RegKey)" Name="VersionExt" Value="%VER_EXT%" Type="string" />
-    <RegistryValue Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Value="[MergeRedirectFolder]" Type="string" />
+    <RegistryValue Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Value="[INSTALLDIR]" Type="string" />
 </Include>
Index: /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 51225)
@@ -137,5 +137,5 @@
         <!-- Set required environment variables -->
         <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_MSI_INSTALL_PATH"
-                     System="yes" Part="last" Permanent="no" Value="[MergeRedirectFolder]" />
+                     System="yes" Part="last" Permanent="no" Value="[msm_VBoxApplicationFolder]" />
 
         <!-- Files -->
Index: /trunk/src/VBox/Installer/win/VBoxMergeApp.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeApp.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeApp.wxs	(revision 51225)
@@ -51,9 +51,9 @@
         <!-- Here comes the file/directory list -->
         <Directory Id="TARGETDIR" Name="SourceDir">
-            <Directory Id="MergeRedirectFolder" FileSource=".">
+            <Directory Id="msm_VBoxApplicationFolder" FileSource=".">
 
                 <?include VBoxMergeApp.wxi ?>
 
-            </Directory> <!-- MergeRedirectFolder directory -->
+            </Directory> <!-- msm_VBoxApplicationFolder directory -->
         </Directory> <!-- TARGETDIR -->
 
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetAdp.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetAdp.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetAdp.wxs	(revision 51225)
@@ -36,9 +36,9 @@
         <!-- Here comes the file/directory list -->
         <Directory Id="TARGETDIR" Name="SourceDir">
-            <Directory Id="MergeRedirectFolder" FileSource=".">
+            <Directory Id="msm_VBoxNetworkAdpFolder" FileSource=".">
 
                 <?include VBoxMergeNetAdp.wxi ?>
 
-            </Directory> <!-- MergeRedirectFolder -->
+            </Directory> <!-- msm_VBoxNetworkAdpFolder -->
         </Directory> <!-- TARGETDIR -->
 
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetAdpCA.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetAdpCA.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetAdpCA.wxi	(revision 51225)
@@ -18,9 +18,9 @@
 
     <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
-    <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[msm_VBoxNetworkAdpFolder]" Execute="immediate"/>
     <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
     <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
+    <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[msm_VBoxNetworkAdpFolder]" Execute="immediate"/>
     <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
-    <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[MergeRedirectFolder]" Execute="immediate"/>
 
 </Include>
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetAdpSeq.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetAdpSeq.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetAdpSeq.wxi	(revision 51225)
@@ -19,6 +19,18 @@
 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
     <!-- Create host-only interfaces on first-time install -->
-    <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[NOT Installed]]></Custom>
-    <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[NOT Installed]]></Custom>
+    <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[NOT Installed]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkAdp=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[NOT Installed]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkAdp=3]]>
+        <?endif ?>
+    </Custom>
     <!-- Don't remove the host-only interfaces on update, only on uninstall -->
     <Custom Action="ca_RemoveHostOnlyInterfaces" Before="InstallFinalize" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxs	(revision 51225)
@@ -36,9 +36,9 @@
         <!-- Here comes the file/directory list -->
         <Directory Id="TARGETDIR" Name="SourceDir">
-            <Directory Id="MergeRedirectFolder" FileSource=".">
+            <Directory Id="msm_VBoxNetworkFltFolder" FileSource=".">
 
                 <?include VBoxMergeNetFlt.wxi ?>
 
-            </Directory> <!-- MergeRedirectFolder -->
+            </Directory> <!-- msm_VBoxNetworkFltFolder -->
         </Directory> <!-- TARGETDIR -->
 
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetFltCA.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetFltCA.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetFltCA.wxi	(revision 51225)
@@ -19,14 +19,14 @@
 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
     <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
-    <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[msm_VBoxNetworkFltFolder]" Execute="immediate"/>
 
     <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
-    <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[msm_VBoxNetworkFltFolder]" Execute="immediate"/>
 
     <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
-    <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[msm_VBoxNetworkFltFolder]" Execute="immediate"/>
 
     <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
-    <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[msm_VBoxNetworkFltFolder]" Execute="immediate"/>
 <?endif ?>
 
Index: /trunk/src/VBox/Installer/win/VBoxMergeNetFltSeq.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeNetFltSeq.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeNetFltSeq.wxi	(revision 51225)
@@ -18,14 +18,61 @@
 
 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
-    <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]></Custom>
-    <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]></Custom>
-    <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]></Custom>
-    <Custom Action="ca_InstallNetFlt" Before="InstallFinalize" ><![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]></Custom>
-
-    <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]></Custom>
-    <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]></Custom>
-    <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]></Custom>
-    <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]></Custom>
-<?endif?>
+    <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_InstallNetFlt" Before="InstallFinalize" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[UPGRADINGPRODUCTCODE OR (NOT Installed)]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=2]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=2]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=2]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[(UPGRADINGPRODUCTCODE) OR (REMOVE="ALL")]]>
+        <?else ?>
+            <![CDATA[&VBoxNetworkFlt=2]]>
+        <?endif ?>
+    </Custom>
+<?endif?> <!-- VBOX_WITH_NETFLT -->
 
 </Include>
Index: /trunk/src/VBox/Installer/win/VBoxMergePython.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergePython.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergePython.wxs	(revision 51225)
@@ -36,9 +36,9 @@
         <!-- Here comes the file/directory list -->
         <Directory Id="TARGETDIR" Name="SourceDir">
-            <Directory Id="MergeRedirectFolder" FileSource=".">
+            <Directory Id="msm_VBoxPythonFolder" FileSource=".">
 
                 <?include VBoxMergePython.wxi ?>
 
-            </Directory> <!-- MergeRedirectFolder -->
+            </Directory> <!-- msm_VBoxPythonFolder -->
         </Directory> <!-- TARGETDIR -->
 
Index: /trunk/src/VBox/Installer/win/VBoxMergePythonCA.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergePythonCA.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergePythonCA.wxi	(revision 51225)
@@ -18,5 +18,5 @@
 
     <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
-    <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[MergeRedirectFolder]" Execute="immediate"/>
+    <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[msm_VBoxPythonFolder]" Execute="immediate"/>
 
 </Include>
Index: /trunk/src/VBox/Installer/win/VBoxMergePythonSeq.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergePythonSeq.wxi	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergePythonSeq.wxi	(revision 51225)
@@ -17,6 +17,18 @@
          xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
 
-    <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[1]]></Custom>
-    <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[1]]></Custom>
+    <Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[1]]>
+        <?else ?>
+            <![CDATA[&VBoxPython=3]]>
+        <?endif ?>
+    </Custom>
+    <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" >
+        <?if $(env.VBOX_WITH_MSM_INSTALL) = "yes" ?>
+            <![CDATA[1]]>
+        <?else ?>
+            <![CDATA[&VBoxPython=3]]>
+        <?endif ?>
+    </Custom>
 
 </Include>
Index: /trunk/src/VBox/Installer/win/VBoxMergeUSB.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeUSB.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VBoxMergeUSB.wxs	(revision 51225)
@@ -36,9 +36,9 @@
         <!-- Here comes the file/directory list -->
         <Directory Id="TARGETDIR" Name="SourceDir">
-            <Directory Id="MergeRedirectFolder" FileSource=".">
+            <Directory Id="msm_VBoxUSBFolder" FileSource=".">
 
                 <?include VBoxMergeUSB.wxi ?>
 
-            </Directory> <!-- MergeRedirectFolder -->
+            </Directory> <!-- msm_VBoxUSBFolder -->
         </Directory> <!-- TARGETDIR -->
 
Index: /trunk/src/VBox/Installer/win/VirtualBox.wxs
===================================================================
--- /trunk/src/VBox/Installer/win/VirtualBox.wxs	(revision 51224)
+++ /trunk/src/VBox/Installer/win/VirtualBox.wxs	(revision 51225)
@@ -196,7 +196,9 @@
     <?endif ?>
 <?else ?>
-                <?include VBoxMergeApp.wxi ?>
+                <Directory Id="msm_VBoxApplicationFolder" FileSource=".">
+                    <?include VBoxMergeApp.wxi ?>
     <?if $(env.VBOX_WITH_32_ON_64_MAIN_API) = "yes" ?>
-                <?include VBoxMergeCOM32On64.wxi ?>
+                    <?include VBoxMergeCOM32On64.wxi ?>
+                </Directory>
     <?endif ?>
 <?endif ?>
@@ -206,5 +208,7 @@
                         <Merge Id="msm_VBoxUSB" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeUSB)" DiskId="1" />
 <?else ?>
-                        <?include VBoxMergeUSB.wxi ?>
+                        <Directory Id="msm_VBoxUSBFolder" FileSource=".">
+                            <?include VBoxMergeUSB.wxi ?>
+                        </Directory>
 <?endif ?>
                     </Directory>
@@ -215,5 +219,7 @@
                             <Merge Id="msm_VBoxNetworkFlt" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeNetworkFlt)" DiskId="1" />
     <?else ?>
-                            <?include VBoxMergeNetFlt.wxi ?>
+                            <Directory Id="msm_VBoxNetworkFltFolder" FileSource=".">
+                                <?include VBoxMergeNetFlt.wxi ?>
+                            </Directory>
     <?endif ?>
                         </Directory>
@@ -223,5 +229,7 @@
                             <Merge Id="msm_VBoxNetworkAdp" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergeNetworkAdp)" DiskId="1" />
 <?else ?>
-                            <?include VBoxMergeNetAdp.wxi ?>
+                            <Directory Id="msm_VBoxNetworkAdpFolder" FileSource=".">
+                                <?include VBoxMergeNetAdp.wxi ?>
+                            </Directory>
 <?endif ?>
                         </Directory>
@@ -234,5 +242,7 @@
                         <Merge Id="msm_VBoxPython" Language="!(loc.LANG)" SourceFile="$(var.Property_VBoxMergePython)" DiskId="1" />
     <?else ?>
-                        <?include VBoxMergePython.wxi ?>
+                        <Directory Id="msm_VBoxPythonFolder" FileSource=".">
+                            <?include VBoxMergePython.wxi ?>
+                        </Directory>
     <?endif ?>
                     </Directory>
