diff options
| author | Rob Mensching <rob@firegiant.com> | 2020-05-30 14:53:05 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2020-05-30 15:07:21 -0700 |
| commit | d529525a1e331f3ef9ec2707791c99bd78fdd82f (patch) | |
| tree | 1d9fe1f0c0ee9850371c916802eb03ec9dc37a87 /src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs | |
| parent | 9c54d2fce80983bbee5f0f113b5aa30f22bc8a23 (diff) | |
| download | wix-d529525a1e331f3ef9ec2707791c99bd78fdd82f.tar.gz wix-d529525a1e331f3ef9ec2707791c99bd78fdd82f.tar.bz2 wix-d529525a1e331f3ef9ec2707791c99bd78fdd82f.zip | |
Basic patching support
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs index 4ca5ec48..63a8b3d9 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs | |||
| @@ -39,20 +39,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 39 | 39 | ||
| 40 | public void Execute() | 40 | public void Execute() |
| 41 | { | 41 | { |
| 42 | var assemblyNameTuples = this.Section.Tuples.OfType<MsiAssemblyNameTuple>().ToDictionary(t => t.Id.Id); | ||
| 43 | |||
| 42 | foreach (var file in this.UpdateFileFacades) | 44 | foreach (var file in this.UpdateFileFacades) |
| 43 | { | 45 | { |
| 44 | this.UpdateFileFacade(file); | 46 | this.UpdateFileFacade(file, assemblyNameTuples); |
| 45 | } | 47 | } |
| 46 | } | 48 | } |
| 47 | 49 | ||
| 48 | private void UpdateFileFacade(FileFacade facade) | 50 | private void UpdateFileFacade(FileFacade facade, Dictionary<string, MsiAssemblyNameTuple> assemblyNameTuples) |
| 49 | { | 51 | { |
| 50 | var assemblyNameTuples = new Dictionary<string, MsiAssemblyNameTuple>(); | ||
| 51 | foreach (var assemblyTuple in this.Section.Tuples.OfType<MsiAssemblyNameTuple>()) | ||
| 52 | { | ||
| 53 | assemblyNameTuples.Add(assemblyTuple.ComponentRef + "/" + assemblyTuple.Name, assemblyTuple); | ||
| 54 | } | ||
| 55 | |||
| 56 | FileInfo fileInfo = null; | 52 | FileInfo fileInfo = null; |
| 57 | try | 53 | try |
| 58 | { | 54 | { |
| @@ -335,7 +331,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 335 | var lookup = String.Concat(facade.ComponentRef, "/", name); | 331 | var lookup = String.Concat(facade.ComponentRef, "/", name); |
| 336 | if (!assemblyNameTuples.TryGetValue(lookup, out var assemblyNameTuple)) | 332 | if (!assemblyNameTuples.TryGetValue(lookup, out var assemblyNameTuple)) |
| 337 | { | 333 | { |
| 338 | assemblyNameTuple = this.Section.AddTuple(new MsiAssemblyNameTuple(facade.SourceLineNumber) | 334 | assemblyNameTuple = this.Section.AddTuple(new MsiAssemblyNameTuple(facade.SourceLineNumber, new Identifier(AccessModifier.Private, facade.ComponentRef, name)) |
| 339 | { | 335 | { |
| 340 | ComponentRef = facade.ComponentRef, | 336 | ComponentRef = facade.ComponentRef, |
| 341 | Name = name, | 337 | Name = name, |
| @@ -348,6 +344,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 348 | } | 344 | } |
| 349 | 345 | ||
| 350 | facade.AssemblyNames.Add(assemblyNameTuple); | 346 | facade.AssemblyNames.Add(assemblyNameTuple); |
| 347 | |||
| 348 | assemblyNameTuples.Add(assemblyNameTuple.Id.Id, assemblyNameTuple); | ||
| 351 | } | 349 | } |
| 352 | 350 | ||
| 353 | assemblyNameTuple.Value = value; | 351 | assemblyNameTuple.Value = value; |
