aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2018-12-07 19:42:42 -0500
committerBob Arnson <bob@firegiant.com>2018-12-07 19:50:06 -0500
commit77e611874a3d3d45e51a46e75674c44d418670cb (patch)
tree4ad149792799fdb9fe9e34deb2f784a51ba2cc44 /src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
parent3b3854e3cb7c171cd356497531a040596af5d214 (diff)
downloadwix-77e611874a3d3d45e51a46e75674c44d418670cb.tar.gz
wix-77e611874a3d3d45e51a46e75674c44d418670cb.tar.bz2
wix-77e611874a3d3d45e51a46e75674c44d418670cb.zip
Let caller specify directory for files extracted by ExtractCabinetsCommand.
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
index eaed16b8..fab780f8 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
@@ -121,23 +121,21 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
121 // extract the cabinet files 121 // extract the cabinet files
122 if (0 < cabinetFiles.Count) 122 if (0 < cabinetFiles.Count)
123 { 123 {
124 var fileDirectory = Path.Combine(this.ExportBasePath, "File");
125
126 // delete the directory and its files to prevent cab extraction due to an existing file 124 // delete the directory and its files to prevent cab extraction due to an existing file
127 if (Directory.Exists(fileDirectory)) 125 if (Directory.Exists(this.ExportBasePath))
128 { 126 {
129 Directory.Delete(fileDirectory, true); 127 Directory.Delete(this.ExportBasePath, true);
130 } 128 }
131 129
132 // ensure the directory exists or extraction will fail 130 // ensure the directory exists or extraction will fail
133 Directory.CreateDirectory(fileDirectory); 131 Directory.CreateDirectory(this.ExportBasePath);
134 132
135 foreach (var cabinetFile in cabinetFiles) 133 foreach (var cabinetFile in cabinetFiles)
136 { 134 {
137 try 135 try
138 { 136 {
139 var cabinet = new Cabinet(cabinetFile); 137 var cabinet = new Cabinet(cabinetFile);
140 cabinet.Extract(fileDirectory); 138 cabinet.Extract(this.ExportBasePath);
141 } 139 }
142 catch (FileNotFoundException) 140 catch (FileNotFoundException)
143 { 141 {
@@ -145,7 +143,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
145 } 143 }
146 } 144 }
147 145
148 this.ExtractedFiles = Directory.GetFiles(fileDirectory); 146 this.ExtractedFiles = Directory.GetFiles(this.ExportBasePath);
149 } 147 }
150 else 148 else
151 { 149 {