Index: /trunk/src/VBox/Installer/win/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 54040)
+++ /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 54041)
@@ -309,5 +309,5 @@
 	$(call MSG_GENERATE,,$@,$<)
 	$(QUIET)$(APPEND) -nt "$@" \
-		'<?xml version="1.0" ?> \
+		'<?xml version="1.0" ?>' \
 		'<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">'
 ifdef VBOX_WITH_DTRACE
@@ -316,7 +316,7 @@
 		'  <Directory Id="dir_DTrace_lib" Name="lib">' \
 		'    <Directory Id="dir_DTrace_lib_arch" Name="$(KBUILD_TARGET_ARCH)">' \
-               '      <Component Id="cp_dir_DTrace_lib_arch" Guid="7476CDF6-4157-2E17-5CCC-FF92528D2854" WIN64="$$(var.Property_Win64)">' \
+               '      <Component Id="cp_dir_DTrace_lib_arch" Guid="7476CDF6-4157-2E17-5CCC-FF92528D2854" Win64="$$(var.Property_Win64)">' \
 		$(foreach file, $(VBOXINST_DTRACE_LIB_ARCH_FILES) \
-                	, '        <File Id="file_dtrace_lib_arch_$(file)" Name="$(file)" Vital="yes" ' \
+                	, '        <File Id="file_dtrace_lib_arch_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \
 			  '              Source="$(PATH_STAGE_BIN)/dtrace/lib/$(KBUILD_TARGET_ARCH)/$(file)" />' ) \
 		'      </Component>' \
@@ -325,7 +325,7 @@
 		'  <Directory Id="dir_DTrace_testcase" Name="testcase">' \
 		'    <Directory Id="dir_DTrace_testcase_arch" Name="$(KBUILD_TARGET_ARCH)">' \
-               '      <Component Id="cp_dir_DTrace_testcase_arch" Guid="45DF7014-4431-6C40-6DB0-35AF7C690EE1" WIN64="$$(var.Property_Win64)">' \
+               '      <Component Id="cp_dir_DTrace_testcase_arch" Guid="45DF7014-4431-6C40-6DB0-35AF7C690EE1" Win64="$$(var.Property_Win64)">' \
 		$(foreach file, $(VBOXINST_DTRACE_TESTCASE_ARCH_FILES) \
-                	, '        <File Id="file_dtrace_testcase_arch_$(file)" Name="$(file)" Vital="yes" ' \
+                	, '        <File Id="file_dtrace_testcase_arch_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \
 			  '              Source="$(PATH_STAGE_BIN)/dtrace/testcase/$(KBUILD_TARGET_ARCH)/$(file)" />' ) \
 		'      </Component>' \
@@ -333,7 +333,7 @@
 		'  </Directory>' \
 		'  <Directory Id="dir_DTrace_scripts" Name="scripts">' \
-               '    <Component Id="cp_dir_DTrace_scripts" Guid="AE07F9D5-4FD9-ACC7-C760-E9923CE01E16" WIN64="$$(var.Property_Win64)">' \
+               '    <Component Id="cp_dir_DTrace_scripts" Guid="AE07F9D5-4FD9-ACC7-C760-E9923CE01E16" Win64="$$(var.Property_Win64)">' \
 		$(foreach file, $(VBOXINST_DTRACE_SCRIPTS_FILES) \
-                	, '      <File Id="file_dtrace_scripts_(file)" Name="$(file)" Vital="yes" ' \
+                	, '      <File Id="file_dtrace_scripts_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \
 			  '            Source="$(PATH_STAGE_BIN)/dtrace/scripts/$(file)" />' ) \
 		'    </Component>' \
@@ -447,84 +447,14 @@
 			$(eval $(def_vbox_link_msm)))),)
 
-#
-# Load and adjust the MSI compile step dependencies.
-#
--include $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj.dep
-
-# Filter out some files depending on build type and compiler.
-ifeq ($(KBUILD_TYPE),release)
- VBOX_MSI_DEPENDENCIES := $(filer-out $(PATH_OUT)/bin/VBoxDbg3.dll, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifndef VBOX_SIGNING_MODE
- VBOX_MSI_DEPENDENCIES := $(filer-out %.cat, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifdef VBOX_USE_VCC110
- VBOX_MSI_DEPENDENCIES := $(filter-out \
-	$(PATH_OUT)/bin/msvcr100.dll \
-	$(PATH_OUT)/bin/msvcp100.dll \
-	, $(VBOX_MSI_DEPENDENCIES))
-else # VCC100
- VBOX_MSI_DEPENDENCIES := $(filter-out \
-	$(PATH_OUT)/bin/msvcr110.dll \
-	$(PATH_OUT)/bin/msvcp110.dll \
-	, $(VBOX_MSI_DEPENDENCIES))
-endif
-# TODO: Add filtering out more dependencies here!
-ifndef VBOX_WITH_QTGUI
- VBOX_MSI_DEPENDENCIES := $(filter-out \
-	$(PATH_OUT)/bin/VirtualBox.exe \
-	$(PATH_OUT)/bin/VBoxTestOGL.exe \
-	$(PATH_OUT)/bin/QtCoreVBox4.dll \
-	$(PATH_OUT)/bin/QtGuiVBox4.dll \
-	$(PATH_OUT)/bin/QtNetworkVBox4.dll \
-	$(PATH_OUT)/bin/QtOpenGLVBox4.dll \
-	$(PATH_OUT)/bin/accessible/qtaccessiblewidgets4.dll \
-	, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifndef VBOX_WITH_PYTHON
- VBOX_MSI_DEPENDENCIES := $(filer-out $ \
-	$(PATH_OUT)/bin/sdk/installer/vboxapisetup.py \
-	$(PATH_OUT)/bin/sdk/installer/vboxapi/__init__.py \
-	$(PATH_OUT)/bin/sdk/installer/vboxapi/VirtualBox_constants.py \
-	, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifndef VBOX_WITH_CROGL
- VBOX_MSI_DEPENDENCIES := $(filer-out $ \
-	$(PATH_OUT)/bin/VBoxOGLhostcrutil.dll \
-	$(PATH_OUT)/bin/VBoxOGLhosterrorspu.dll \
-	$(PATH_OUT)/bin/VBoxOGLrenderspu.dll \
-	$(PATH_OUT)/bin/VBoxSharedCrOpenGL.dll \
-	, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifndef VBOX_WITH_SECURELABEL
- VBOX_MSI_DEPENDENCIES := $(filer-out $(PATH_OUT)/bin/SDL_ttf.dll, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifndef VBOX_WITH_WEBSERVICES
- VBOX_MSI_DEPENDENCIES := $(filer-out $(PATH_OUT)/bin/vboxwebsrv.exe, $(VBOX_MSI_DEPENDENCIES))
-endif
-
-ifneq ($(KBUILD_TARGET_ARCH),amd64)
- VBOX_MSI_DEPENDENCIES := $(filter-out \
-	$(PATH_OUT)/bin/VBoxREM2.rel \
-	, $(VBOX_MSI_DEPENDENCIES))
-else
- VBOX_MSI_DEPENDENCIES := $(filter-out \
-	$(PATH_OUT)/bin/VBoxREM32.dll \
-	$(PATH_OUT)/bin/VBoxREM64.dll \
-	, $(VBOX_MSI_DEPENDENCIES))
-endif
-ifdef VBOX_WITH_EXTPACK_PUEL
- VBOX_MSI_DEPENDENCIES := $(filter-out $(PATH_OUT)/bin/VBoxVRDP$(VBOX_SUFF_DLL), $(VBOX_MSI_DEPENDENCIES))
-endif
-
-# Add dependencies that makes sure necessary bits gets built since
-# VBOX_MSI_DEPENDENCIES will be zero the first time around.
+
+#
+# Add dependencies that makes sure necessary bits gets built.
 # For combined packages we always use the .ISO from the amd64 build.
-VBOX_MSI_DEPENDENCIES := $(filter-out %/VBoxGuestAdditions.iso, $(VBOX_MSI_DEPENDENCIES))
+#
 ifdef VBOX_WITH_COMBINED_PACKAGE
- VBOX_MSI_DEPENDENCIES += \
+ VBOX_MSI_DEPENDENCIES := \
 	$(if $(VBOX_WITH_ADDITIONS_PACKING),$(PATH_MULTIARCH_GUEST_ADDITIONS_ISO)/VBoxGuestAdditions.iso)
 else
- VBOX_MSI_DEPENDENCIES += \
+ VBOX_MSI_DEPENDENCIES := \
 	$(if $(VBOX_WITH_ADDITIONS_PACKING),$(VBOX_PATH_ADDITIONS_ISO)/VBoxGuestAdditions.iso)
 endif
@@ -537,5 +467,5 @@
 	$(PATH_SUB_CURRENT)/VBoxMergeApp.wxi
 
-$(PATH_SUB_CURRENT)/VBoxMergeApp.wxi: \
+$(PATH_SUB_CURRENT)/VBoxMergeApp.wxi $(PATH_SUB_CURRENT)/VirtualBox.wxs: \
 	$(VBOX_WIN_INST_OUT_DIR)/Files_Doc.wxi \
 	$(VBOX_WIN_INST_OUT_DIR)/DirComponentsAndFiles_DTrace.wxi \
@@ -544,5 +474,5 @@
 	$(VBOX_WIN_INST_OUT_DIR)/VBoxKey.wxi \
 	$(VBOX_WIN_INST_OUT_DIR)/VBoxGuiNLS.wxi \
-	$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi
 
 #
@@ -550,4 +480,5 @@
 #
 define def_vbox_compile_wixobj
+includedep $(VBOX_WIN_INST_OUT_DIR)/VirtualBox_$(lang).wixobj.dep
 $(VBOX_WIN_INST_OUT_DIR)/VirtualBox_$(lang).wixobj: \
 			$(PATH_SUB_CURRENT)/VirtualBox.wxs \
@@ -566,14 +497,14 @@
 	$(QUIET)$(RM) -f $@
 	$(REDIRECT) \
-		-E 'PATH_OUT=$(subst /,\\,$(PATH_OUT))' \
-		-E 'PATH_TARGET=$(subst /,\\,$(VBOX_WIN_INST_OUT_DIR))' \
-		-E 'PATH_ROOT=$(subst /,\\,$(PATH_ROOT))' \
-		-E 'PATH_MULTIARCH_GUEST_ADDITIONS_ISO=$(subst /,\\,$(PATH_MULTIARCH_GUEST_ADDITIONS_ISO))' \
-		-E 'VBOX_PATH_WIN_INST_SRC=$(subst /,\\,$(VBOX_PATH_WIN_INST_SRC))' \
-		-E 'VBOX_BRAND_WIN_INST_DLGJPG=$(subst /,\\,$(VBOX_BRAND_WIN_INST_DLGJPG))' \
+		-E 'PATH_OUT=$(subst /,\,$(PATH_OUT))' \
+		-E 'PATH_TARGET=$(subst /,\,$(VBOX_WIN_INST_OUT_DIR))' \
+		-E 'PATH_ROOT=$(subst /,\,$(PATH_ROOT))' \
+		-E 'PATH_MULTIARCH_GUEST_ADDITIONS_ISO=$(subst /,\,$(PATH_MULTIARCH_GUEST_ADDITIONS_ISO))' \
+		-E 'VBOX_PATH_WIN_INST_SRC=$(subst /,\,$(VBOX_PATH_WIN_INST_SRC))' \
+		-E 'VBOX_BRAND_WIN_INST_DLGJPG=$(subst /,\,$(VBOX_BRAND_WIN_INST_DLGJPG))' \
 		-E 'VBOX_ADD_LANGUAGES=$(VBOX_INSTALLER_ADD_LANGUAGES)' \
-		-E 'VBOX_BRAND_LICENSE_RTF=$(subst /,\\,$(VBOX_BRAND_LICENSE_RTF))' \
+		-E 'VBOX_BRAND_LICENSE_RTF=$(subst /,\,$(VBOX_BRAND_LICENSE_RTF))' \
 		$(foreach lang,$(VBOX_INSTALLER_LANGUAGES), \
-			-E 'VBOX_BRAND_$(lang)_LICENSE_RTF=$(subst /,\\,$(VBOX_BRAND_$(subst en_US_,,$(lang)_)LICENSE_RTF))') \
+			-E 'VBOX_BRAND_$(lang)_LICENSE_RTF=$(subst /,\,$(VBOX_BRAND_$(subst en_US_,,$(lang)_)LICENSE_RTF))') \
 		-E 'VBOX_BUILD_NR_FOR_INST=$(VBOX_VERSION_BUILD)' \
 		-E 'VBOX_VENDOR=$(VBOX_VENDOR)' \
@@ -613,5 +544,5 @@
 		-E 'VBOX_WITH_SERIALNUMBER_INSTALL=$(if $(VBOX_WITH_SERIALNUMBER_INSTALL),yes,no)' \
 		-E 'VBOX_WITH_LICENSE_DISPLAY=$(if $(VBOX_WITH_LICENSE_DISPLAY),yes,no)' \
-		-E 'VBOX_WINDOWS_ICON_FILE=$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))' \
+		-E 'VBOX_WINDOWS_ICON_FILE=$(subst /,\,$(VBOX_WINDOWS_ICON_FILE))' \
 		-E 'BUILD_TYPE=$(KBUILD_TYPE)' \
 		-E 'BUILD_TARGET_ARCH=$(KBUILD_TARGET_ARCH)' \
@@ -622,19 +553,9 @@
 			-ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \
 			-out $$@
-ifeq ($(lang),en_US)
-#
-# Generate dependency file, we share this between all the languages.
-#
-	$(APPEND) -t $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj.dep 'VBOX_MSI_DEPENDENCIES = \'
-	$(SED) -f $(VBOX_PATH_WIN_INST_SRC)/dep.sed \
-		--append $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj.dep \
-		$(foreach module,$(VBOX_INSTALLER_MERGE_MODULES), \
-			$(VBOX_PATH_WIN_INST_SRC)/VBoxMerge$(module).wxi) \
-		$(VBOX_PATH_WIN_INST_SRC)/VirtualBox.wxs \
-		$(VBOX_PATH_WIN_INST_SRC)/UserInterface.wxi \
-		$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
-		$(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib_x86.wxi,)
-	$(APPEND) $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj.dep ''
-endif
+# Generate wxi dependencies based on the sourceLineNumber references in the output.
+	$(QUIET)$(APPEND) -t '$$@.dep' '$$@: \'
+	$(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep.xsl "$$@" >> "$$@.dep"
+	$(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep2.xsl "$$@" | sort  | $(SED) '$!N; /^\(.*\)\n\1$$$$/!P; D' >> "$$@.dep"
+	$(QUIET)$(APPEND) -n '$$@.dep' '' ''
 endef
 
@@ -646,4 +567,5 @@
 #
 define def_vbox_compile_msm
+includedep $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj
 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj: \
 		$(PATH_SUB_CURRENT)/VBoxMerge$(module).wxs \
@@ -662,14 +584,14 @@
 	$(QUIET)$(RM) -f $@
 	$(REDIRECT) \
-		-E 'PATH_OUT=$(subst /,\\,$(PATH_OUT))' \
-		-E 'PATH_TARGET=$(subst /,\\,$(VBOX_WIN_INST_OUT_DIR))' \
-		-E 'PATH_ROOT=$(subst /,\\,$(PATH_ROOT))' \
-		-E 'PATH_MULTIARCH_GUEST_ADDITIONS_ISO=$(subst /,\\,$(PATH_MULTIARCH_GUEST_ADDITIONS_ISO))' \
-		-E 'VBOX_PATH_WIN_INST_SRC=$(subst /,\\,$(VBOX_PATH_WIN_INST_SRC))' \
-		-E 'VBOX_BRAND_WIN_INST_DLGJPG=$(subst /,\\,$(VBOX_BRAND_WIN_INST_DLGJPG))' \
+		-E 'PATH_OUT=$(subst /,\,$(PATH_OUT))' \
+		-E 'PATH_TARGET=$(subst /,\,$(VBOX_WIN_INST_OUT_DIR))' \
+		-E 'PATH_ROOT=$(subst /,\,$(PATH_ROOT))' \
+		-E 'PATH_MULTIARCH_GUEST_ADDITIONS_ISO=$(subst /,\,$(PATH_MULTIARCH_GUEST_ADDITIONS_ISO))' \
+		-E 'VBOX_PATH_WIN_INST_SRC=$(subst /,\,$(VBOX_PATH_WIN_INST_SRC))' \
+		-E 'VBOX_BRAND_WIN_INST_DLGJPG=$(subst /,\,$(VBOX_BRAND_WIN_INST_DLGJPG))' \
 		-E 'VBOX_ADD_LANGUAGES=$(VBOX_INSTALLER_ADD_LANGUAGES)' \
-		-E 'VBOX_BRAND_LICENSE_RTF=$(subst /,\\,$(VBOX_BRAND_LICENSE_RTF))' \
+		-E 'VBOX_BRAND_LICENSE_RTF=$(subst /,\,$(VBOX_BRAND_LICENSE_RTF))' \
 		$(foreach lang,$(VBOX_INSTALLER_LANGUAGES), \
-			-E 'VBOX_BRAND_$(lang)_LICENSE_RTF=$(subst /,\\,$(VBOX_BRAND_$(subst en_US_,,$(lang)_)LICENSE_RTF))') \
+			-E 'VBOX_BRAND_$(lang)_LICENSE_RTF=$(subst /,\,$(VBOX_BRAND_$(subst en_US_,,$(lang)_)LICENSE_RTF))') \
 		-E 'VBOX_BUILD_NR_FOR_INST=$(VBOX_VERSION_BUILD)' \
 		-E 'VBOX_VENDOR=$(VBOX_VENDOR)' \
@@ -706,5 +628,5 @@
 		-E 'VBOX_WITH_SERIALNUMBER_INSTALL=$(if $(VBOX_WITH_SERIALNUMBER_INSTALL),yes,no)' \
 		-E 'VBOX_WITH_LICENSE_DISPLAY=$(if $(VBOX_WITH_LICENSE_DISPLAY),yes,no)' \
-		-E 'VBOX_WINDOWS_ICON_FILE=$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))' \
+		-E 'VBOX_WINDOWS_ICON_FILE=$(subst /,\,$(VBOX_WINDOWS_ICON_FILE))' \
 		-E 'BUILD_TYPE=$(KBUILD_TYPE)' \
 		-E 'BUILD_TARGET_ARCH=$(KBUILD_TARGET_ARCH)' \
@@ -715,17 +637,9 @@
 			-ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \
 			-out $$@
-ifeq ($(lang),en_US)
-#
-# Generate dependency file, we share this between all the languages.
-#
-	$(APPEND) -t $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module).msm.dep 'VBOX_MSI_DEPENDENCIES = \'
-	$(SED) -f $(VBOX_PATH_WIN_INST_SRC)/dep.sed \
-		--append $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module).msm.dep \
-		$(VBOX_PATH_WIN_INST_SRC)/VBoxMerge$(module).wxi \
-		$(VBOX_PATH_WIN_INST_SRC)/UserInterface.wxi \
-		$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
-		$(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib_x86.wxi,)
-	$(APPEND) $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module).msm.dep ''
-endif
+# Generate wxi dependencies based on the sourceLineNumber references in the output.
+	$(QUIET)$(APPEND) -t '$$@.dep' '$$@: \'
+	$(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep.xsl "$$@" >> "$$@.dep"
+	$(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep2.xsl "$$@" | sort  | $(SED) '$!N; /^\(.*\)\n\1$$$$/!P; D' >> "$$@.dep"
+	$(QUIET)$(APPEND) -n '$$@.dep' '' ''
 endef
 
Index: /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 54040)
+++ /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 54041)
@@ -79,4 +79,5 @@
     <?include $(env.PATH_TARGET)\DirComponentsAndFiles_DTrace.wxi ?>
 
+
     <!--
 
@@ -187,5 +188,5 @@
 <?endif ?>
 <?if $(env.VBOX_WITH_DTRACE) = "yes" ?>
-	 <File Id="file_VBoxDTrace.exe" Name="VBoxDTrace.exe" Source="$(env.PATH_OUT)\VBoxDTrace.exe" />
+	 <File Id="file_VBoxDTrace.exe" Name="VBoxDTrace.exe" Source="$(env.PATH_OUT)\bin\VBoxDTrace.exe" />
 <?endif ?>
         <!-- VBox DLL files -->
Index: unk/src/VBox/Installer/win/dep.sed
===================================================================
--- /trunk/src/VBox/Installer/win/dep.sed	(revision 54040)
+++ 	(revision )
@@ -1,29 +1,0 @@
-# $Id$
-## @file
-# Generate dependencies from .wxs and .wxi sources.
-#
-
-#
-# Copyright (C) 2006-2011 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-# drop all lines not including a src property.
-/Source=\"/!d
-# extract the file spec
-s/^.*Source="\([^"]*\).*$/\1 /
-# convert to unix slashes
-s/\\/\//g
-# $(env.PATH_OUT stuff.
-s/(env\./(/g
-# pretty
-s/$/\\/
-s/^/\t/
-
Index: /trunk/src/VBox/Installer/win/dep.xsl
===================================================================
--- /trunk/src/VBox/Installer/win/dep.xsl	(revision 54041)
+++ /trunk/src/VBox/Installer/win/dep.xsl	(revision 54041)
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+
+<!--
+    Generate a list of dependencies from a wixobj file.
+
+    Copyright (C) 2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+-->
+
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:wix="http://schemas.microsoft.com/wix/2006/objects"
+    >
+<xsl:output method="text" encoding="utf-8"/>
+
+<xsl:strip-space elements="*"/>
+
+<xsl:include href="../../Main/idl/typemap-shared.inc.xsl"/>
+
+
+<xsl:template name="output-file">
+    <xsl:param name="name"/>
+    <xsl:if test="1 or substring($name, 2, 1) = ':'">
+        <xsl:text>    </xsl:text>
+        <xsl:value-of select="translate($name, '\', '/')"/>
+        <xsl:text> \</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+    </xsl:if>
+</xsl:template>
+
+<xsl:template match="wix:table[@name = 'Binary' or @name = 'Icon']">
+    <xsl:for-each select="wix:row/wix:field[2]">
+        <xsl:call-template name="output-file">
+            <xsl:with-param name="name" select="normalize-space(.)"/>
+        </xsl:call-template>
+    </xsl:for-each>
+</xsl:template>
+
+<xsl:template match="wix:table[@name = 'WixFile']">
+    <xsl:for-each select="wix:row/wix:field[7]">
+        <xsl:call-template name="output-file">
+            <xsl:with-param name="name" select="normalize-space(.)"/>
+        </xsl:call-template>
+    </xsl:for-each>
+</xsl:template>
+
+<xsl:template match="wix:wixObject">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="wix:section">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<!-- Eat everything that's unmatched. -->
+<xsl:template match="*">
+</xsl:template>
+
+</xsl:stylesheet>
+
Index: /trunk/src/VBox/Installer/win/dep2.xsl
===================================================================
--- /trunk/src/VBox/Installer/win/dep2.xsl	(revision 54041)
+++ /trunk/src/VBox/Installer/win/dep2.xsl	(revision 54041)
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+
+<!--
+    Generate a list of dependencies from a wixobj file.
+
+    Copyright (C) 2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+-->
+
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:wix="http://schemas.microsoft.com/wix/2006/objects"
+    >
+<xsl:output method="text" encoding="utf-8"/>
+
+<xsl:strip-space elements="*"/>
+
+<xsl:include href="../../Main/idl/typemap-shared.inc.xsl"/>
+
+<xsl:template name="split-file-remove-number">
+    <xsl:param name="name"/>
+    <xsl:choose>
+        <xsl:when test="contains($name, '|')">
+            <xsl:text>    </xsl:text>
+            <xsl:value-of select="substring-before(substring-before($name, '|'), '*')"/>
+            <xsl:text> \
+</xsl:text>
+            <xsl:call-template name="split-file-remove-number">
+                <xsl:with-param name="name" select="substring-after($name, '|')"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:otherwise>
+            <xsl:text>    </xsl:text>
+            <xsl:value-of select="substring-before($name, '*')"/>
+            <xsl:text> \</xsl:text>
+            <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<xsl:template name="output-source-line-number">
+    <xsl:param name="name"/>
+    <xsl:if test="1 or substring($name, 2, 1) = ':'">
+        <xsl:call-template name="split-file-remove-number">
+            <xsl:with-param name="name" select="translate($name, '\', '/')"/>
+        </xsl:call-template>
+    </xsl:if>
+</xsl:template>
+
+<xsl:template match="wix:row">
+    <xsl:call-template name="output-source-line-number">
+        <xsl:with-param name="name" select="@sourceLineNumber"/>
+    </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="wix:table">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="wix:wixObject">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="wix:section">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<!-- Eat everything that's unmatched. -->
+<xsl:template match="*">
+</xsl:template>
+
+</xsl:stylesheet>
+
