20

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.

Cœur
  • 37,241
  • 25
  • 195
  • 267
reapen
  • 705
  • 4
  • 13
  • 26

2 Answers2

9

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:

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">
Nuno André
  • 4,739
  • 1
  • 33
  • 46
Syed Ali
  • 1,817
  • 2
  • 23
  • 44
  • 1
    Actually the Manufacturer attribute is already provided inside my Product tag. What is happening when i run my msi at that time it will show below unknow publisher. – reapen Jul 11 '13 at 11:22
  • Looks like the second link is dead. – Crono Mar 15 '16 at 17:23
  • @Crono that's true and unfortunately I can't find the original now. It's strange a company like intel would remove their blogs/articles... – Syed Ali Apr 05 '16 at 14:50
7

Using WiX's in-built tool insignia is fairly straight-forward. Here's the steps to do code-sign a WiX MSI:

  1. Add signtool to my PATH. It is commonly found in C:\Program Files (x86)\Windows Kits\10\bin\x64 or, more recently, C:\Program Files (x86)\Windows Kits\10\App Certification Kit
  2. Add insignia to my PATH. Your WiX Toolset directory is commonly found at
    "C:\Program Files (x86)\WiX Toolset v3.10\bin"
  3. 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

A T
  • 13,008
  • 21
  • 97
  • 158
noelicus
  • 14,468
  • 3
  • 92
  • 111
  • Does the consumer of my .msi installer file need to install my certificate authority that I used to generate the signing certificate? – Damian Sep 01 '21 at 11:41