How to provide publisher Name for MSI installer which is developed using WIX Installer?
While installing my .msi installer it's showing unknown publisher, how to provide a name for publisher?Is it possible to do this within WIX? If so kindly help me how to implement this using WIX installer.
I think you are looking to avoid the security warning that is displayed when someone installs your setup. For this you would need to sign the setup with your certificate and a private key. You can try to do this by following the steps explained in the following links:
- How to Digitally Sign Microsoft Files
Signing .MSI and .EXE files
- Everything you need to know about Authenticode Code Signing
Assuming you are looking for a publisher name in the control panel Programs and Features
. You could use the Manufacturer
attribute in your Product
tag.
<Product Id="PUT-YOUR-GUID"
Manufacturer="PublisherName"
Name="ProductName"
UpgradeCode="PUT-YOUR-GUID"
Version="1.0.0">
Using WiX's in-built tool insignia
is fairly straight-forward. Here's the steps to do code-sign a WiX MSI:
- Set up the
signtool
as a batch file in my PATH so that I can call it and change it easily. I'm running Windows 10 and so my "signtool.bat" looks like this:
"c:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" %*
- Set up
insignia
as a batch file in my PATH too so you can change it with new WiX builds as they come. My "insignia.bat" looks like this:
"C:\Program Files (x86)\WiX Toolset v3.10\bin\insignia.exe" %*
- Sign my MSI in a post-build event (MSI Project -> Properties -> Build Events) by calling this:
signtool sign /f "c:\certificates\mycert.pfx" /p cert-password /d "Your Installer Label" /t http://timestamp.verisign.com/scripts/timstamp.dll /v $(TargetFileName)
Further notes and thoughts:
I have also signed the application (I think) by just doing Project
Properties -> Signing
and enabling click-once manifests, selecting
the certificate and checking the Sign the assembly
option.
Here's my similar answer on how to do the same but for a bootstrap bundle: using insignia to sign WiX MSI and bootstrap bundle