diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js index ca55437c3df64e6ff48acf84b331d8425a99ba76..a4268e7ce34aed1096339da07e32e21658ee3a24 100644 --- a/build/gulpfile.vscode.win32.js +++ b/build/gulpfile.vscode.win32.js @@ -26,6 +26,7 @@ const zipPath = arch => path.join(zipDir(arch), `VSCode-win32-${arch}.zip`); const setupDir = (arch, target) => path.join(repoPath, '.build', `win32-${arch}`, `${target}-setup`); const issPath = path.join(__dirname, 'win32', 'code.iss'); const innoSetupPath = path.join(path.dirname(path.dirname(require.resolve('innosetup-compiler'))), 'bin', 'ISCC.exe'); +const signPS1 = path.join(repoPath, 'build', 'tfs', 'win32', 'sign.ps1'); function packageInnoSetup(iss, options, cb) { options = options || {}; @@ -44,8 +45,8 @@ function packageInnoSetup(iss, options, cb) { const defs = keys.map(key => `/d${key}=${definitions[key]}`); const args = [ iss, - '/Sesrp="powershell.exe build\tfs\win32\sign.ps1 $f"', - ...defs + ...defs, + `/sesrp=powershell.exe -ExecutionPolicy bypass ${signPS1} $f` ]; cp.spawn(innoSetupPath, args, { stdio: ['ignore', 'inherit', 'inherit'] }) diff --git a/build/tfs/win32/sign.ps1 b/build/tfs/win32/sign.ps1 index e28482ba915044c9bc4f840d64dcd84cbab20554..d888a7d104f04de0e5fb3143c2b1ceb71f77b7cc 100644 --- a/build/tfs/win32/sign.ps1 +++ b/build/tfs/win32/sign.ps1 @@ -1,3 +1,9 @@ +function Create-TmpJson($Obj) { + $FileName = [System.IO.Path]::GetTempFileName() + ConvertTo-Json -Depth 100 $Obj | Out-File -Encoding UTF8 $FileName + return $FileName +} + $Auth = Create-TmpJson @{ Version = "1.0.0" AuthenticationType = "AAD_CERT" @@ -72,4 +78,5 @@ $Input = Create-TmpJson @{ } $Output = [System.IO.Path]::GetTempFileName() -build\tfs\win32\ESRPClient\packages\EsrpClient.1.0.27\tools\ESRPClient.exe Sign -a $Auth -p $Policy -i $Input -o $Output \ No newline at end of file +$ScriptPath = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent +& "$ScriptPath\ESRPClient\packages\EsrpClient.1.0.27\tools\ESRPClient.exe" Sign -a $Auth -p $Policy -i $Input -o $Output \ No newline at end of file