[wix-devs] Stable Guid MSBuild task
Hoover, Jacob
Jacob.Hoover at greenheck.com
Tue Sep 17 11:53:30 PDT 2019
Just like the Id’s of files/components remain stable when using an *, this logic is able to generate a RFC 4122 compliant GUID.
For me, this allows me to not constantly update a statically generated list of GUIDs, but if I wanted to know what GUID was used for a product code of a build from 3 years ago I could calculate the value. In addition, I repackage my application for multiple different installs (think Develop/Test/Production/etc) and I want to build the installs from the same authoring.
In my example, the Version parameter is only the Major.Minor part, not for each point release.
From: Edwin Castro [mailto:egcastr at gmail.com]
Sent: Tuesday, September 17, 2019 1:45 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Hoover, Jacob <Jacob.Hoover at greenheck.com>
Subject: Re: [wix-devs] Stable Guid MSBuild task
Under what circumstances would I want my UpgradeCode to change build to build?
What does stable mean? I assume the code changes build to build but in what ways does it change?
--
Edwin G. Castro
On Tue, Sep 17, 2019 at 8:37 AM Hoover, Jacob via wix-devs <wix-devs at lists.wixtoolset.org<mailto:wix-devs at lists.wixtoolset.org>> wrote:
For wix4, would anyone else find use in having the existing stable guid logic also exposed as a MSBuild task? While a random guid works, sometimes having something deterministic is desired.
Ex:
<Target Name="GenerateUpgradeCode">
<PropertyGroup>
<ProductCodeKey>$(ApplicationBuild)#$(Version)#ProductCode</ProductCodeKey>
<UpgradeCodeKey>$(ApplicationBuild)#$(Version)#UpgradeCode</UpgradeCodeKey>
<Salt>{C1BA69E1-B69D-46B8-A095-CAF6337B71F4}</Salt>
</PropertyGroup>
<GetStableGUID Key="$(ProductCodeKey)" Salt="$(Salt)">
<Output TaskParameter="Stable" PropertyName="ProductCode" />
</GetStableGUID>
<GetStableGUID Key="$(UpgradeCodeKey)" Salt="$(Salt)">
<Output TaskParameter="Stable" PropertyName="UpgradeCode" />
</GetStableGUID>
<PropertyGroup>
<DefineConstants>
$(DefineConstants);
ProductCode=$(ProductCode);
UpgradeCode=$(UpgradeCode);
</DefineConstants>
</PropertyGroup>
</Target>
Thanks,
Jacob
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/
NOTE: This email was received from an external source. Please use caution when opening links or attachments in the message.
More information about the wix-devs
mailing list