Unable to download symbols with Windows Auth container on Windows 11
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 881
- Forks
- 285
- Avg merge
- 3d 36m
- Merged PRs (30d)
- 1
Description
Hi all!
Describe the bug
I create container with BcContainerHelper with -Auth Windows. Credential provided is identical to my Windows account (It's a Microsoft account). When I try to Download Symbols, no username/password prompt (That's normal) but instantly dotnet error shown:
Processing of message 'al/downloadSymbols' failed with error: 'No credentials are available in the security package'.
To Reproduce
1️⃣
BcContainerHelper.config.json
{
"sandboxContainersAreMultitenantByDefault": false,
"defaultNewContainerParameters": {
"restart": "no"
}
}
New-BcContainer -accept_eula -auth Windows -artifactUrl https://bcartifacts.azureedge.net/sandbox/19.1.31886.33316/fr -containerName bcwin -Credential (Get-Credential)
2️⃣

3️⃣
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Your own server",
"request": "launch",
"type": "al",
"environmentType": "Sandbox",
"server": "http://bcwin",
"serverInstance": "BC",
"authentication": "Windows",
"tenant": ""
}
]
}
4️⃣

Expected behavior
[2021-12-05 23:01:14.29] Sending request to http://bcwin:7049/BC/dev/metadata
[2021-12-05 23:01:36.02] Sending request to http://bcwin:7049/BC/dev/packages?publisher=Microsoft&appName=System&versionText=1.0.0.0&appId=8874ed3a-0643-4247-9ced-7a7002f7135d
[2021-12-05 23:01:36.02] Sending request to http://bcwin:7049/BC/dev/packages?publisher=Microsoft&appName=Application&versionText=19.0.0.0&appId=00000000-0000-0000-0000-000000000000
[2021-12-05 23:01:36.65] The following dependencies will be queried for propagated dependencies:
System Application by Microsoft (19.1.0.0)
Base Application by Microsoft (19.1.0.0)
[2021-12-05 23:01:36.66] Sending request to http://bcwin:7049/BC/dev/packages?publisher=Microsoft&appName=System Application&versionText=19.1.0.0&appId=63ca2fa4-4f03-4f2b-a480-172fef340d3f
[2021-12-05 23:01:36.66] Sending request to http://bcwin:7049/BC/dev/packages?publisher=Microsoft&appName=Base Application&versionText=19.1.0.0&appId=437dbf0e-84ff-417a-965d-ed2bb9650972
[2021-12-05 23:01:37.74] All reference symbols have been downloaded.
(Simulated using UserPassword container)
Actual behavior
1️⃣
Business Central Web Client works perfectly, but i'm asked to log in.
@freddydk said on another Issue (https://github.com/microsoft/AL/issues/6532#issuecomment-800873052)
When you create a container using Windows Auth, and you can access the Web Client in a Browser without logging in you are fine.
2️⃣
[2021-12-05 22:53:27.25] Using reference symbols cache path: w:\Code\Temp\EFF\./.alpackages
[2021-12-05 22:53:27.28] Targeting server 'http://bcwin', server instance 'BC' and tenant 'default'.
[2021-12-05 22:53:27.28] Using Windows authentication.
[2021-12-05 22:53:27.30] Sending request to http://bcwin:7049/BC/dev/metadata?tenant=default
[2021-12-05 22:53:27.38] Sending request to http://bcwin:7049/BC/dev/metadata?tenant=default
[Error - 22:53:27] Please report this issue to https://github.com/microsoft/al/issues including information on how to reproduce it, if possible.
Processing of message 'al/downloadSymbols' failed with error: 'Aucune information d’identification n’est disponible dans le package de sécurité'
Details:
System.ComponentModel.Win32Exception (0x8009030E): Aucune information d’identification n’est disponible dans le package de sécurité
at System.Net.NTAuthentication.GetOutgoingBlob(Byte[] incomingBlob, Boolean throwOnError, SecurityStatusPal& statusCode)
at System.Net.NTAuthentication.GetOutgoingBlob(String incomingBlob)
at System.Net.Http.AuthenticationHelper.SendWithNtAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean isProxyAuth, HttpConnection connection, HttpConnectionPool connectionPool, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Microsoft.Dynamics.Nav.Deployment.Telemetry.TelemetryHttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\Telemetry\TelemetryHttpClientHandler.cs:line 61
at Microsoft.Dynamics.Nav.Deployment.Http.NavHttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\Http\NavHttpClientHandler.cs:line 35
at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
at Microsoft.Dynamics.Nav.Deployment.ApiClients.ServerInfoApiClient.GetServerInfo() in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\ServerInfoApiClient.cs:line 46
at Microsoft.Dynamics.Nav.Deployment.ApiClients.ServerRegistry.QueryMetadata(ConnectionOptions options, IEmitLogger logger) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\ServerRegistry.cs:line 153
at Microsoft.Dynamics.Nav.Deployment.ApiClients.ServerRegistry.GetServerInfo(ConnectionOptions options, IEmitLogger logger) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\ServerRegistry.cs:line 56
at Microsoft.Dynamics.Nav.Deployment.ApiClients.PackagesApiClient.SendRequest(IHttpClient client, SymbolReferenceSpecification reference) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\PackagesApiClient.cs:line 135
at Microsoft.Dynamics.Nav.Deployment.ApiClients.PackagesApiClient.DownloadPackage(IHttpClient client, SymbolReferenceSpecification specification, String directory, Boolean isSecondLevelDependency) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\PackagesApiClient.cs:line 172
at Microsoft.Dynamics.Nav.Deployment.ApiClients.PackagesApiClient.DownloadPackages(ImmutableArray`1 references, String targetDir) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ApiClients\PackagesApiClient.cs:line 61
at Microsoft.Dynamics.Nav.Deployment.ReferenceDownloader.NavDevServerPackageDownloader.DownloadPackages(ImmutableArray`1 packages, String targetDirectory) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.Deployment\ReferenceDownloader\NavDevServerPackageDownloader.cs:line 32
at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.DownloadSymbolsRequestHandler.DownloadFiles(DownloadSymbolsRequest request, String cacheDirectory, ImmutableArray`1 referencesToDownload) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\DownloadSymbolsRequestHandler.cs:line 125
at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.DownloadSymbolsRequestHandler.ProcessRequestAsync(DownloadSymbolsRequest request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\DownloadSymbolsRequestHandler.cs:line 93
at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.NavServerRequestHandler`2.HandleAsync(T request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\NavServerRequestHandler.cs:line 40
at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase`1.HandleAsync(JToken requestContents, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 63
at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.Process(Message message) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 64
Error translation:
🇫🇷 Processing of message 'al/downloadSymbols' failed with error: 'Aucune information d’identification n’est disponible dans le package de sécurité'
🇺🇸 Processing of message 'al/downloadSymbols' failed with error: 'No credentials are available in the security package'.
Versions
- Windows: 11 21H2 (10.0.22000 Build 22000)
- AL Language: 8.2.550913
- BcContainerHelper: 2.0.22
- Visual Studio Code: 1.62.3
- Business Central: all? (Tested on: 19.1.31886.33316 and 18.5.29545.33366)
- List of Visual Studio Code extensions that you have installed:
- andrzejzwierzchowski.al-code-outline
- ankitbko.vscode-pull-request-azdo
- arcticicestudio.nord-visual-studio-code
- Calliope.al-extension-pack
- david-rickard.git-diff-and-merge-tool
- DavidAnson.vscode-markdownlint
- davidfeldhoff.al-codeactions
- DotJoshJohnson.xml
- howardzuo.vscode-git-tags
- humao.rest-client
- j-brooke.fracturedjsonvsc
- jamespearson.al-test-runner
- lacroixdavid1.vscode-format-context-menu
- marp-team.marp-vscode
- mhutchie.git-graph
- ms-azuretools.vscode-docker
- ms-dynamics-smb.al
- ms-vscode.live-server
- nabsolutions.nab-al-tools
- nwallace.createGUID
- PKief.material-icon-theme
- ryu1kn.annotator
- statical.prism-al
- stefanmaron.businesscentral-lintercop
- usernamehw.errorlens
- waderyan.gitblame
- waldo.crs-al-language-extension
- zhuangtongfa.material-theme
Final Checklist
Please remember to do the following:
- [x ] Search the issue repository to ensure you are reporting a new issue
- [x ] Reproduce the issue after disabling all extensions except the AL Language extension
- [x ] Simplify your code around the issue to better isolate the problem
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Windows-authentication symbol download with the shown New-BcContainer command, launch.json, and Windows 11 versions. Read the stack trace at ServerInfoApiClient.GetServerInfo, ServerRegistry.QueryMetadata, and DownloadSymbolsRequestHandler.DownloadFiles, then compare the successful UserPassword flow. Done means Download Symbols completes for the reported Windows-authenticated container without the security-package credentials error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell, vscode
- Domain
- authentication, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100