summaryrefslogtreecommitdiffstats
path: root/Tools/msi/sign_build.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/sign_build.ps1')
-rw-r--r--Tools/msi/sign_build.ps134
1 files changed, 34 insertions, 0 deletions
diff --git a/Tools/msi/sign_build.ps1 b/Tools/msi/sign_build.ps1
new file mode 100644
index 0000000..6668eb3
--- /dev/null
+++ b/Tools/msi/sign_build.ps1
@@ -0,0 +1,34 @@
+<#
+.Synopsis
+ Recursively signs the contents of a directory.
+.Description
+ Given the file patterns, code signs the contents.
+.Parameter root
+ The root directory to sign.
+.Parameter patterns
+ The file patterns to sign
+.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]$root,
+ [string[]]$patterns=@("*.exe", "*.dll", "*.pyd"),
+ [string]$description,
+ [string]$certname,
+ [string]$certsha1,
+ [string]$certfile
+)
+
+$tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
+Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force
+
+pushd $root
+try {
+ Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files (gci -r $patterns)
+} finally {
+ popd
+} \ No newline at end of file