Share

Windows Installer XML (WiX) toolset

Tracker: Feature Requests

5 Produce digitally signed packages - ID: 1812933
Last Update: Comment added ( barnson )

Currently it appears that to produce digitally signed MSI packages one must
use the Microsoft signtool.exe program.

It would be nice if light.exe (or whatever's appropriate) could be enhanced
to also do this.


Chris Ridd ( chrisridd ) - 2007-10-13 17:00

5

Closed

None

Nobody/Anonymous

linker

v3.5

Public


Comments ( 4 )

Date: 2008-07-07 04:57
Sender: barnsonProject Admin


Closed for lack of feedback.


Date: 2007-10-29 01:18
Sender: barnsonProject Admin


What's the benefit of embedding signing, other than saving one step in a
build process?


Date: 2007-10-17 08:16
Sender: chrisridd


That's great, but only if you're using "MSBuild" to do your building. If
you're not... :-(


Date: 2007-10-15 19:45
Sender: rkuki


You can customize the MSBuild target "AfterBuild" in the wixproj file.
This is an example, which generates setup.exe and signs the MSI and
setup.exe:

<PropertyGroup>
<Certificate>FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</Certificate>

<TimeStampUrl>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampUrl>
<ProductName>My Product</ProductName>
</PropertyGroup>
<ItemGroup>
<BootstrapperFile Include="Microsoft.Windows.Installer.2.0">
<ProductName>Windows Installer 2.0</ProductName>
</BootstrapperFile>
</ItemGroup>
<ItemGroup>
<InstallerToSign Include="$(OutputPath)$(OutputName).msi" />
<SetupToSign Include="$(OutputPath)Setup.exe" />
<InstallerMsi Include="$(OutputName).msi" />
</ItemGroup>
<Target Name="AfterBuild">
<Exec Command="signtool sign /sha1 $(Certificate)
&quot;@(InstallerToSign)&quot;" />
<GenerateBootstrapper ApplicationFile="@(InstallerMsi)"
ApplicationName="$(ProductName)" BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative" Culture="de" FallbackCulture="de-DE"
CopyComponents="True" Validate="False" OutputPath="$(OutputPath)" />
<SignFile CertificateThumbprint="$(Certificate)"
SigningTarget="@(SetupToSign)" TimestampUrl="$(TimeStampUrl)" />
</Target>


Attached File

No Files Currently Attached

Changes ( 3 )

Field Old Value Date By
status_id Open 2008-07-07 04:57 barnson
artifact_group_id None 2008-07-07 04:57 barnson
close_date - 2008-07-07 04:57 barnson