diff --git a/install/common/common.wxi b/install/common/common.wxi
index e048e139..073307de 100644
--- a/install/common/common.wxi
+++ b/install/common/common.wxi
@@ -25,10 +25,6 @@
-
-
-
-
diff --git a/install/common/variables.wxi b/install/common/variables.wxi
new file mode 100644
index 00000000..c5dd7d6f
--- /dev/null
+++ b/install/common/variables.wxi
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/install/framework/nunit-framework.wxs b/install/framework/framework-merge.wxs
similarity index 57%
rename from install/framework/nunit-framework.wxs
rename to install/framework/framework-merge.wxs
index 738d090a..6ab70990 100644
--- a/install/framework/nunit-framework.wxs
+++ b/install/framework/framework-merge.wxs
@@ -1,64 +1,26 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
@@ -71,11 +33,11 @@
-
-
-
+
+
+
-
+
@@ -93,17 +55,17 @@
-
-
-
@@ -115,17 +77,17 @@
-
-
-
@@ -137,17 +99,17 @@
-
-
-
@@ -159,17 +121,17 @@
-
-
-
@@ -181,13 +143,13 @@
-
-
@@ -200,17 +162,17 @@
-
-
-
@@ -219,7 +181,6 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/install/framework/framework.wxs b/install/framework/framework.wxs
new file mode 100644
index 00000000..082e7cd2
--- /dev/null
+++ b/install/framework/framework.wxs
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/install/framework/nunit-framework-merge.wixproj b/install/framework/nunit-framework-merge.wixproj
new file mode 100644
index 00000000..500c840f
--- /dev/null
+++ b/install/framework/nunit-framework-merge.wixproj
@@ -0,0 +1,76 @@
+
+
+
+ Debug
+ x86
+ 3.9
+ 352151E9-CA8F-4461-AF95-50D1540039C2
+ 2.0
+ NUnit.Framework
+ Module
+ false
+ $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets
+ $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Configuration)\
+ Debug
+ Build=$(Configuration)
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Configuration)\
+
+
+ Debug;
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Platform)\$(Configuration)\
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Platform)\$(Configuration)\
+
+
+
+
+
+
+
+
+
+ $(WixExtDir)\WixUIExtension.dll
+ WixUIExtension
+
+
+
+
+ common.wxi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/install/framework/nunit-framework.wixproj b/install/framework/nunit-framework.wixproj
index 6077aabb..03bac847 100644
--- a/install/framework/nunit-framework.wixproj
+++ b/install/framework/nunit-framework.wixproj
@@ -37,7 +37,7 @@
-
+
@@ -49,6 +49,9 @@
common.wxi
+
+ variables.wxi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/install/master/nunit.wxs b/install/master/nunit.wxs
new file mode 100644
index 00000000..63722159
--- /dev/null
+++ b/install/master/nunit.wxs
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/install/runners/nunit-runners-merge.wixproj b/install/runners/nunit-runners-merge.wixproj
new file mode 100644
index 00000000..4b940f6f
--- /dev/null
+++ b/install/runners/nunit-runners-merge.wixproj
@@ -0,0 +1,77 @@
+
+
+
+ Debug
+ x86
+ 3.9
+ 40FEA8CD-5C48-4BF4-AC67-DF5E5B149425
+ 2.0
+ NUnit.Runners
+ Module
+ false
+ $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets
+ $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
+ nunit-runners
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Configuration)\
+ Debug
+ Build=$(Configuration)
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Configuration)\
+
+
+ Debug;
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Platform)\$(Configuration)\
+
+
+ ..\..\bin\$(Configuration)\
+ obj\$(Platform)\$(Configuration)\
+
+
+
+
+
+
+
+
+
+ $(WixExtDir)\WixUIExtension.dll
+ WixUIExtension
+
+
+
+
+ variables.wxi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/install/runners/nunit-runners.wixproj b/install/runners/nunit-runners.wixproj
index 1d6a077f..27895041 100644
--- a/install/runners/nunit-runners.wixproj
+++ b/install/runners/nunit-runners.wixproj
@@ -38,7 +38,7 @@
-
+
@@ -50,6 +50,9 @@
common.wxi
+
+ variables.wxi
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
@@ -97,58 +45,58 @@
-
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
-
+
-
-
+
-
+
\ No newline at end of file
diff --git a/install/runners/runners.wxs b/install/runners/runners.wxs
new file mode 100644
index 00000000..f1ba52fa
--- /dev/null
+++ b/install/runners/runners.wxs
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nunit-install.sln b/nunit-install.sln
index 3f1f442c..6b6901d7 100644
--- a/nunit-install.sln
+++ b/nunit-install.sln
@@ -16,22 +16,75 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{56F560C7-BBFE-4EE9-AF2E-590E352777BE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "runners", "runners", "{FDE065C3-6105-4660-AC37-E3EB445EF105}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "master", "master", "{9A20FD72-0EB2-466F-B2C4-6A46D38D8D9B}"
+EndProject
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit-framework-merge", "install\framework\nunit-framework-merge.wixproj", "{352151E9-CA8F-4461-AF95-50D1540039C2}"
+EndProject
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit-runners-merge", "install\runners\nunit-runners-merge.wixproj", "{40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}"
+EndProject
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit", "install\master\nunit.wixproj", "{809C00DC-3FD3-45BF-BC0E-E284F314D306}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x64.ActiveCfg = Debug|x64
+ {20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x64.Build.0 = Debug|x64
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x86.ActiveCfg = Debug|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x86.Build.0 = Debug|x86
+ {20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x64.ActiveCfg = Release|x64
+ {20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x64.Build.0 = Release|x64
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x86.ActiveCfg = Release|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x86.Build.0 = Release|x86
+ {0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x64.ActiveCfg = Debug|x64
+ {0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x64.Build.0 = Debug|x64
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x86.ActiveCfg = Debug|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x86.Build.0 = Debug|x86
+ {0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x64.ActiveCfg = Release|x64
+ {0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x64.Build.0 = Release|x64
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x86.ActiveCfg = Release|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x86.Build.0 = Release|x86
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Debug|x64.ActiveCfg = Debug|x64
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Debug|x64.Build.0 = Debug|x64
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Debug|x86.ActiveCfg = Debug|x86
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Debug|x86.Build.0 = Debug|x86
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Release|x64.ActiveCfg = Release|x64
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Release|x64.Build.0 = Release|x64
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Release|x86.ActiveCfg = Release|x86
+ {352151E9-CA8F-4461-AF95-50D1540039C2}.Release|x86.Build.0 = Release|x86
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Debug|x64.ActiveCfg = Debug|x64
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Debug|x64.Build.0 = Debug|x64
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Debug|x86.ActiveCfg = Debug|x86
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Debug|x86.Build.0 = Debug|x86
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Release|x64.ActiveCfg = Release|x64
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Release|x64.Build.0 = Release|x64
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Release|x86.ActiveCfg = Release|x86
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425}.Release|x86.Build.0 = Release|x86
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x64.ActiveCfg = Debug|x64
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x64.Build.0 = Debug|x64
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x86.ActiveCfg = Debug|x86
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x86.Build.0 = Debug|x86
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x64.ActiveCfg = Release|x64
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x64.Build.0 = Release|x64
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x86.ActiveCfg = Release|x86
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {20132190-582E-462E-B18B-4B2CEDDDB6C4} = {56F560C7-BBFE-4EE9-AF2E-590E352777BE}
+ {0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75} = {FDE065C3-6105-4660-AC37-E3EB445EF105}
+ {352151E9-CA8F-4461-AF95-50D1540039C2} = {56F560C7-BBFE-4EE9-AF2E-590E352777BE}
+ {40FEA8CD-5C48-4BF4-AC67-DF5E5B149425} = {FDE065C3-6105-4660-AC37-E3EB445EF105}
+ {809C00DC-3FD3-45BF-BC0E-E284F314D306} = {9A20FD72-0EB2-466F-B2C4-6A46D38D8D9B}
+ EndGlobalSection
EndGlobal