-
Notifications
You must be signed in to change notification settings - Fork 365
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
Fix #1186 Fixing signtool.exe path for new windows kits #1188
base: develop
Are you sure you want to change the base?
Conversation
Fix #1186 |
Could you unify the code to only make use of |
yep, will do it in the next days. |
@matkoch do you mind if we drop the support to old versions of the Windows Kit (I mean support only 10.*) ? PS: Windows Kit 10 is the current version of the SDK for windows 10 and 11. |
fine i guess |
@matkoch done |
0686f32
to
d6aab06
Compare
hello @matkoch, any chance this PR will be merged soon? |
0231425
to
d806295
Compare
7066bbe
to
985de83
Compare
0719711
to
6fe1e3b
Compare
.FirstOrDefault(); | ||
var windowsKitsRootDirectory = programDirectory / "Windows Kits" / windowsKitLastVersion; | ||
|
||
var signToolPath = windowsKitsRootDirectory.GlobFiles($"bin/{windowsKitLastVersion}.*/{platformIdentifier}/signtool.exe").LastOrDefault(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we order by version number first before using LastOrDefault
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the order returned is naturally the alphabetical order, meaning version 10.0.22 will be after version 10.0.17.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the info, I did not know it's already ordered. 👍
What do you think about adding support for using the |
@MichaeIDietrich Do you think it is possible to the user to run nuke-build having no SDK kit installed? |
Hello @gustavocalheiros, I would say yes. The Microsoft SDK is not a prerequisite for Nuke Build |
Yes, the Windows SDK is not needed for Nuke to run. Only a matching .NET SDK is needed to run Nuke. |
@MichaeIDietrich Pushed support for Microsoft.Windows.SDK.BuildTools |
var nugetPath = SettingsUtility.GetGlobalPackagesFolder(Settings.LoadDefaultSettings(null)); | ||
|
||
signToolPath = AbsolutePath.Create(nugetPath) | ||
.GlobFiles($"{microsoftBuildToolsNugetPackage}/{windowsKitVersionWildcard}/bin/{windowsKitVersionWildcard}/{platformIdentifier}/{signtoolExe}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
path structure for nuget packages is different, for example :
C:\Users\MyUser\ .nuget\packages\microsoft.windows.sdk.buildtools\10.0.20348\bin\10.0.20348\x64\signtool.exe
@MichaeIDietrich @matkoch
and implementing the |
6d02194
to
4bfee84
Compare
85998da
to
01b2b6e
Compare
e652c9a
to
6ed9e4d
Compare
I look inside the path of the latest Windows Kit major version (in this case "10") and check in all the minor version folders (for example "10.0.22621.0", "10.0.16299.0"), and get the last one that contains the file "signtool.exe".
if nothing is found, I fallback on the previous code.
I confirm that the pull-request: