-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot locate signtool.exe after installation #3580
Comments
I've encountered the same issue on a customers system. (Azure DevOps) I've made sure network connectivity is not the issue. Nothing worked it just looks like the exe is called but not executed. @achim-t have you tried upgrading docker? @freddydk any insight here? |
Looked at the code: Write-Host "Downloading Signing Tools"
$winSdkSetupExe = "c:\run\install\winsdksetup.exe"
$winSdkSetupUrl = "https://bcartifacts.blob.core.windows.net/prerequisites/winsdksetup.exe"
(New-Object System.Net.WebClient).DownloadFile($winSdkSetupUrl,$winSdkSetupExe)
Write-Host "Installing Signing Tools"
Start-Process $winSdkSetupExe -ArgumentList "/features OptionId.SigningTools /q" -Wait
if (!(Test-Path "C:\Program Files (x86)\Windows Kits\10\bin\*\x64\SignTool.exe")) {
throw "Cannot locate signtool.exe after installation"
}
$signToolExe = (get-item "C:\Program Files (x86)\Windows Kits\10\bin\*\x64\SignTool.exe").FullName and tried running it on my machine - works fine (as expected) Note that this is the same signtool version that has been used for ages? maybe it needs an old version of something? |
I created a new container by running New-BcContainer on the same machine where the runners are. Then I entered that container and ran your code (up to the install step). There were no errors, but there is also no "Windows Kits" directory. |
I've used the following prompts:
This works on my device but not on the runner of our customer. There shouldn't be any missing prerequirements because they are need in the container not the server. The only thing I can come up with is a docker issue. |
I really can't pinpoint it. But for some reason all build agents fail while the local install can run the script above. |
I updated docker to 27.0.2, that didn't change anything. I also ran a windows update, after noticing the warning about Host and Container OS not matching. They do match now, but the error persists. |
Have you tried hyperv / non hyperv? The functionality of signing inside the container will soon no longer be supported because you cannot buy a certificate, which you get handed out like a pfx anymore. Recommended workaround is to place your certificate in an Azure KeyVault and use dotnet sign. Described here: https://github.com/microsoft/AL-Go/blob/main/Scenarios/Codesigning.md and implemented in AL-Go for GitHub for automatic signing. |
HyperV is not available on that machine, unfortunately. |
Sorry, I cannot do magic. |
I also have a github runner on the same machine and one github project that failed with the same message for several weeks. For the last 3 days the "Test Current" workflow finished successfully. I don't know what changed. |
Describe the issue
In DevOps Pipelines the sign tool can not be installed.
Full output of scripts
Additional context
The text was updated successfully, but these errors were encountered: