<# .Synopsis Compiles and signs a catalog file. .Description Given the CDF definition file, builds and signs a catalog. .Parameter catalog The path to the catalog definition file to compile and sign. It is assumed that the .cat file will be the same name with a new extension. .Parameter description The description to add to the signature (optional). .Parameter certname The name of the certificate to sign with (optional). .Parameter certsha1 The SHA1 hash of the certificate to sign with (optional). #> param( [Parameter(Mandatory=$true)][string]$catalog, [string]$description, [string]$certname, [string]$certsha1, [string]$certfile ) $tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent; Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force Set-Alias MakeCat (Find-Tool "makecat.exe") -Scope Script MakeCat $catalog if (-not $?) { throw "Catalog compilation failed" } Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files @($catalog -replace 'cdf$', 'cat')