main
cs 23 lines 1.12 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.Core.Burn.Interfaces
4 {
5 using System.Diagnostics;
6 using WixToolset.Data.Symbols;
7
8 /// <summary>
9 /// Service for harvesting payload information.
10 /// </summary>
11 public interface IPayloadHarvester
12 {
13 /// <summary>
14 /// Uses <see cref="WixBundlePayloadSymbol.SourceFile"/> to:
15 /// update <see cref="WixBundlePayloadSymbol.Hash"/> from file contents,
16 /// update <see cref="WixBundlePayloadSymbol.FileSize"/> from file size, and
17 /// update <see cref="WixBundlePayloadSymbol.Description"/>, <see cref="WixBundlePayloadSymbol.DisplayName"/>, and <see cref="WixBundlePayloadSymbol.Version"/> from <see cref="FileVersionInfo"/>.
18 /// </summary>
19 /// <param name="payload">The symbol to update.</param>
20 /// <returns>Whether the symbol had a source file specified.</returns>
21 bool HarvestStandardInformation(WixBundlePayloadSymbol payload);
22 }
23 }