diff options
| author | Rob Mensching <rob@firegiant.com> | 2017-11-29 22:03:26 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2017-11-29 22:03:26 -0800 |
| commit | 71c52d5af2293d3eb79882ce36b0411f81185c11 (patch) | |
| tree | 23dd116bdd6abc2b0f7b488f490d1b77faa41812 /src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs | |
| parent | 0fa198ed8c6c6fc81e649466879752a99fe37d08 (diff) | |
| download | wix-71c52d5af2293d3eb79882ce36b0411f81185c11.tar.gz wix-71c52d5af2293d3eb79882ce36b0411f81185c11.tar.bz2 wix-71c52d5af2293d3eb79882ce36b0411f81185c11.zip | |
Fix source path and cabinet processing
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs index 32d1cfda..a31c8079 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs | |||
| @@ -14,7 +14,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 14 | using WixToolset.Msi; | 14 | using WixToolset.Msi; |
| 15 | using WixToolset.Core.Native; | 15 | using WixToolset.Core.Native; |
| 16 | using WixToolset.Core.Bind; | 16 | using WixToolset.Core.Bind; |
| 17 | using WixToolset.Core.Cab; | ||
| 18 | using WixToolset.Data.Tuples; | 17 | using WixToolset.Data.Tuples; |
| 19 | 18 | ||
| 20 | /// <summary> | 19 | /// <summary> |
| @@ -110,7 +109,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 110 | wixFileRow.Directory_ = record[2]; | 109 | wixFileRow.Directory_ = record[2]; |
| 111 | wixFileRow.DiskId = wixMergeRow.DiskId; | 110 | wixFileRow.DiskId = wixMergeRow.DiskId; |
| 112 | wixFileRow.PatchGroup = -1; | 111 | wixFileRow.PatchGroup = -1; |
| 113 | wixFileRow.Source = Path.Combine(this.IntermediateFolder, wixMergeRow.Id.Id, record[1]); | 112 | wixFileRow.Source = new IntermediateFieldPathValue { Path = Path.Combine(this.IntermediateFolder, wixMergeRow.Id.Id, record[1]) }; |
| 114 | //WixFileRow wixFileRow = (WixFileRow)this.WixFileTable.CreateRow(wixMergeRow.SourceLineNumbers, false); | 113 | //WixFileRow wixFileRow = (WixFileRow)this.WixFileTable.CreateRow(wixMergeRow.SourceLineNumbers, false); |
| 115 | //wixFileRow.Directory = record[2]; | 114 | //wixFileRow.Directory = record[2]; |
| 116 | //wixFileRow.DiskId = wixMergeRow.DiskId; | 115 | //wixFileRow.DiskId = wixMergeRow.DiskId; |
| @@ -204,20 +203,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 204 | string mergeIdPath = Path.Combine(this.IntermediateFolder, mergeId); | 203 | string mergeIdPath = Path.Combine(this.IntermediateFolder, mergeId); |
| 205 | Directory.CreateDirectory(mergeIdPath); | 204 | Directory.CreateDirectory(mergeIdPath); |
| 206 | 205 | ||
| 207 | using (var extractCab = new WixExtractCab()) | 206 | try |
| 208 | { | 207 | { |
| 209 | try | 208 | var cabinet = new Cabinet(moduleCabPath); |
| 210 | { | 209 | cabinet.Extract(mergeIdPath); |
| 211 | extractCab.Extract(moduleCabPath, mergeIdPath); | 210 | } |
| 212 | } | 211 | catch (FileNotFoundException) |
| 213 | catch (FileNotFoundException) | 212 | { |
| 214 | { | 213 | throw new WixException(WixErrors.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); |
| 215 | throw new WixException(WixErrors.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); | 214 | } |
| 216 | } | 215 | catch |
| 217 | catch | 216 | { |
| 218 | { | 217 | throw new WixException(WixErrors.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); |
| 219 | throw new WixException(WixErrors.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); | ||
| 220 | } | ||
| 221 | } | 218 | } |
| 222 | } | 219 | } |
| 223 | catch (COMException ce) | 220 | catch (COMException ce) |
