aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
index 229e75b4..7985c120 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
@@ -7,7 +7,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
7 using System.Collections.Specialized; 7 using System.Collections.Specialized;
8 using System.Globalization; 8 using System.Globalization;
9 using System.IO; 9 using System.IO;
10 using WixToolset.Core.Cab; 10 using WixToolset.Core.Native;
11 using WixToolset.Data; 11 using WixToolset.Data;
12 using WixToolset.Data.Rows; 12 using WixToolset.Data.Rows;
13 using WixToolset.Msi; 13 using WixToolset.Msi;
@@ -88,9 +88,9 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
88 string cabinetFile = Path.Combine(this.IntermediateFolder, String.Concat("Media", Path.DirectorySeparatorChar, diskId.ToString(CultureInfo.InvariantCulture), ".cab")); 88 string cabinetFile = Path.Combine(this.IntermediateFolder, String.Concat("Media", Path.DirectorySeparatorChar, diskId.ToString(CultureInfo.InvariantCulture), ".cab"));
89 89
90 // ensure the parent directory exists 90 // ensure the parent directory exists
91 System.IO.Directory.CreateDirectory(Path.GetDirectoryName(cabinetFile)); 91 Directory.CreateDirectory(Path.GetDirectoryName(cabinetFile));
92 92
93 using (FileStream fs = System.IO.File.Create(cabinetFile)) 93 using (FileStream fs = File.Create(cabinetFile))
94 { 94 {
95 int bytesRead; 95 int bytesRead;
96 byte[] buffer = new byte[512]; 96 byte[] buffer = new byte[512];
@@ -128,16 +128,14 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
128 128
129 foreach (string cabinetFile in cabinetFiles) 129 foreach (string cabinetFile in cabinetFiles)
130 { 130 {
131 using (var extractCab = new WixExtractCab()) 131 try
132 { 132 {
133 try 133 var cabinet = new Cabinet(cabinetFile);
134 { 134 cabinet.Extract(fileDirectory);
135 extractCab.Extract(cabinetFile, fileDirectory); 135 }
136 } 136 catch (FileNotFoundException)
137 catch (FileNotFoundException) 137 {
138 { 138 throw new WixException(WixErrors.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile));
139 throw new WixException(WixErrors.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile));
140 }
141 } 139 }
142 } 140 }
143 } 141 }