Home | History | Annotate | Download | only in msi
      1 <#
      2 .Synopsis
      3     Compiles and signs a catalog file.
      4 .Description
      5     Given the CDF definition file, builds and signs a catalog.
      6 .Parameter catalog
      7     The path to the catalog definition file to compile and
      8     sign. It is assumed that the .cat file will be the same
      9     name with a new extension.
     10 .Parameter description
     11     The description to add to the signature (optional).
     12 .Parameter certname
     13     The name of the certificate to sign with (optional).
     14 .Parameter certsha1
     15     The SHA1 hash of the certificate to sign with (optional).
     16 #>
     17 param(
     18     [Parameter(Mandatory=$true)][string]$catalog,
     19     [string]$description,
     20     [string]$certname,
     21     [string]$certsha1,
     22     [string]$certfile
     23 )
     24 
     25 $tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
     26 Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force
     27 
     28 Set-Alias MakeCat (Find-Tool "makecat.exe") -Scope Script
     29 
     30 MakeCat $catalog
     31 if (-not $?) {
     32     throw "Catalog compilation failed"
     33 }
     34 Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files @($catalog -replace 'cdf$', 'cat')
     35