diff --git a/.github/workflows/build_orca.yml b/.github/workflows/build_orca.yml index 33e30f1a86..2846eff1d5 100644 --- a/.github/workflows/build_orca.yml +++ b/.github/workflows/build_orca.yml @@ -157,11 +157,6 @@ jobs: run: | choco install nsis - - name: Check signtool.exe - if: matrix.os == 'windows-2019' - run: | - "C:/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe/signtool.exe" - - name: download deps if: matrix.os == 'windows-2019' shell: powershell @@ -205,6 +200,7 @@ jobs: - name: Create installer Win if: matrix.os == 'windows-2019' + shell: pwsh env: BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} @@ -213,12 +209,13 @@ jobs: # Decode the certificate echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > certificate.p12 # Sign all .exe and .dll files in the specified folder - for file in OrcaSlicer/*; do - if [[ $file == *.exe ]] || [[ $file == *.dll ]]; then - "C:/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe/signtool.exe" sign /fd sha256 /f certificate.p12 /p $P12_PASSWORD "$file" - fi - done + # Decode the certificate + [System.Convert]::FromBase64String($env:BUILD_CERTIFICATE_BASE64) | Set-Content -AsByteStream -Path certificate.p12 + Get-ChildItem -Path OrcaSlicer -Include *.exe,*.dll -Recurse | ForEach-Object { + & "C:/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe" sign /fd sha256 /f certificate.p12 /p $env:P12_PASSWORD $_.FullName + } cpack -G NSIS + ls "${{ github.workspace }}/build" "C:/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe/signtool.exe" sign /fd sha256 /f certificate.p12 /p $P12_PASSWORD "${{ github.workspace }}/build/OrcaSlicer_Windows_Installer_${{ env.ver }}.exe" # - name: pack app