Skip to content

Commit

Permalink
Release v1.4.10.0
Browse files Browse the repository at this point in the history
- Issue #182: RegistrySearch has "Win64=no" when building x64 installers
- Issue #184: Certificate - SetComponentPermanent(true) does not make component permanent
- Issue #185: INSTALLDIR with russian symbols
- Issue #191: Setup crash in feature selection dialog
- Issue #193: Localization
- Issue #196: ID Generation is weak
- Issue #197: How can I get wixpdb?
  • Loading branch information
oleg-shilo committed Nov 13, 2017
1 parent 5cf8e70 commit d5d5266
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 2 deletions.
Binary file modified Source/src/WixSharp.Samples/WixSharp.Lab.dll
Binary file not shown.
Binary file modified Source/src/WixSharp.Samples/WixSharp.Msi.dll
Binary file not shown.
Binary file modified Source/src/WixSharp.Samples/WixSharp.UI.dll
Binary file not shown.
Binary file modified Source/src/WixSharp.Samples/WixSharp.dll
Binary file not shown.
19 changes: 19 additions & 0 deletions Source/src/WixSharp.Samples/WixSharp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10434,6 +10434,13 @@
<param name="file">The file.</param>
<returns></returns>
</member>
<member name="M:WixSharp.Project.HashedIdAlgorithm(WixSharp.WixEntity)">
<summary>
For future use
</summary>
<param name="entity">The entity.</param>
<returns></returns>
</member>
<member name="M:WixSharp.Project.FindDir(System.String)">
<summary>
Finds <see cref="T:WixSharp.Dir"/> corresponding to the specified path.
Expand Down Expand Up @@ -12830,6 +12837,18 @@
</summary>
<value>The id.</value>
</member>
<member name="M:WixSharp.WixEntity.IncrementalIdFor(WixSharp.WixEntity)">
<summary>
Index based ID generation algorithm.
<para>It is the default algorithm, which generates the most human readable IDs. Thus if the p
project has two `index.html` files one will be assigned ID `index.html` and another one
`index.html.1`.</para>
<para> Limitations: If two files have the same name it is non-deterministic which one gets
clear ID and which one the indexed one.</para>
</summary>
<param name="entity">The entity.</param>
<returns></returns>
</member>
<member name="F:WixSharp.WixEntity.id">
<summary>
Backing value of <see cref="P:WixSharp.WixEntity.Id"/>.
Expand Down
20 changes: 20 additions & 0 deletions Source/src/WixSharp/Project.cs
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,26 @@ public string GetTargetPathOf(File file)
return path.Join("\\");
}

/// <summary>
/// For future use
/// </summary>
/// <param name="entity">The entity.</param>
/// <returns></returns>
private string HashedIdAlgorithm(WixEntity entity)
{
if (entity is File file)
{
var target_path = this.GetTargetPathOf(file);
var hash = target_path.GetHashCode32();

// WiX does not allow '-' char in ID. So need to use `Math.Abs`
return $"{target_path.PathGetFileName()}_{Math.Abs(hash)}";
}
return null; // next two lines produce the same result
// return WixEntity.DefaultIdAlgorithm(entity);
// return WixEntity.IncrementalIdFor(entity);
}

/// <summary>
/// Finds <see cref="T:WixSharp.Dir"/> corresponding to the specified path.
/// </summary>
Expand Down
4 changes: 2 additions & 2 deletions Source/src/WixSharp/Properties/AssemblyInfo.version.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.4.9.0")]
[assembly: AssemblyFileVersion("1.4.9.0")]
[assembly: AssemblyVersion("1.4.10.0")]
[assembly: AssemblyFileVersion("1.4.10.0")]
10 changes: 10 additions & 0 deletions Source/src/WixSharp/WixEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,16 @@ public string Id
}
}

/// <summary>
/// Index based ID generation algorithm.
/// <para>It is the default algorithm, which generates the most human readable IDs. Thus if the p
/// project has two `index.html` files one will be assigned ID `index.html` and another one
/// `index.html.1`.</para>
/// <para> Limitations: If two files have the same name it is non-deterministic which one gets
/// clear ID and which one the indexed one.</para>
/// </summary>
/// <param name="entity">The entity.</param>
/// <returns></returns>
public static string IncrementalIdFor(WixEntity entity)
{
if (!idMaps.ContainsKey(entity.GetType()))
Expand Down

0 comments on commit d5d5266

Please sign in to comment.