[{"data":1,"prerenderedAt":1390},["Reactive",2],{"navigation":3,"/posts/winget-import":204,"/posts/winget-import-surround":1364},[4,192,200],{"title":5,"_path":6,"children":7,"icon":191},"Blog","/posts",[8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188],{"title":9,"_path":10},"Testing your API with REST Client","/posts/testing-your-api-with-rest-client",{"title":12,"_path":13},"HTML templating in Xamarin","/posts/html-templating-in-xamarin",{"title":15,"_path":16},"Goodbye Azure Portal, Welcome Azure CLI","/posts/welcome-azure-cli",{"title":18,"_path":19},"Coming across Gitpod","/posts/gitpod",{"title":21,"_path":22},"Handle token retrieval while querying an API","/posts/delegating-handler",{"title":24,"_path":25},"Clean up your local git branches.","/posts/cleaning-git-branches",{"title":27,"_path":28},"Automate configuration of Teams Tab SSO with PowerShell.","/posts/teams-sso-powershell",{"title":30,"_path":31},"How to do a technology watch? - Part 1","/posts/technology-watch-part1",{"title":33,"_path":34},"How to do a technology watch? - Part 2","/posts/technology-watch-part2",{"title":36,"_path":37},"You almost no longer need Key Vault references for Azure Functions.","/posts/azure-functions-custom-configuration",{"title":39,"_path":40},"How to do a technology watch? - Part 3","/posts/technology-watch-part3",{"title":42,"_path":43},"Forget DevOps, the future is already here!","/posts/devops-future",{"title":45,"_path":46},"Week 9, 2021 - Tips I learned this week","/posts/w09-2021-tips-learned-this-week",{"title":48,"_path":49},"Week 12, 2021 - Tips I learned this week","/posts/w12-2021-tips-learned-this-week",{"title":51,"_path":52},"Week 14, 2021 - Tips I learned this week","/posts/w14-2021-tips-learned-this-week",{"title":54,"_path":55},"Once upon a time in .NET","/posts/once-upon-a-time-in-dotnet",{"title":57,"_path":58},"Install your applications with winget","/posts/winget-import",{"title":60,"_path":61},"Customize your applications when installing them with winget","/posts/winget-override",{"title":63,"_path":64},"Week 22, 2021 - Tips I learned this week","/posts/w22-2021-tips-learned-this-week",{"title":66,"_path":67},"How to connect to an Azure SQL Database from C# using Azure AD","/posts/sqlclient-active-directory-authent",{"title":69,"_path":70},"Producing packages for Windows Package Manager","/posts/wingetcreate",{"title":72,"_path":73},"4 tips about GitHub Actions environment variables and contexts","/posts/github-actions-var-and-context",{"title":75,"_path":76},"AzureWebJobsStorage, the secret you don't need in your Function App.","/posts/azure-functions-without-azurewebjobsstorage",{"title":78,"_path":79},"ASP.NET Core - Lost in configuration","/posts/lost-in-configuration",{"title":81,"_path":82},"Week 39, 2021 - Tips I learned this week","/posts/w39-2021-tips-learned-this-week",{"title":84,"_path":85},"Week 41, 2021 - Tips I learned this week","/posts/w41-2021-tips-learned-this-week",{"title":87,"_path":88},"Migrating and open-sourcing my blog","/posts/migrating-blog",{"title":90,"_path":91},"Week 45, 2021 - Tips I learned this week","/posts/w45-2021-tips-learned-this-week",{"title":93,"_path":94},"Organize your GitHub stars with Astral","/posts/astral",{"title":96,"_path":97},"Pulumi with an Azure Blob Storage backend","/posts/pulumi-azure-backend",{"title":99,"_path":100},"IaC Hot Reload with Pulumi Watch","/posts/pulumi-watch",{"title":102,"_path":103},"Week 2, 2022 - Tips I learned this week","/posts/w02-2022-tips-learned-this-week",{"title":105,"_path":106},"Week 3, 2022 - Tips I learned this week","/posts/w03-2022-tips-learned-this-week",{"title":108,"_path":109},"Week 5, 2022 - Tips I learned this week","/posts/w05-2022-tips-learned-this-week",{"title":111,"_path":112},"How to provision an Azure SQL Database with Active Directory authentication","/posts/sqldatabase-active-directory-authent",{"title":114,"_path":115},"Why will I choose Pulumi over Terraform for my next project?","/posts/pulumi-vs-terraform",{"title":117,"_path":118},"Week 19, 2022 - Tips I learned this week","/posts/w19-2022-tips-learned-this-week",{"title":120,"_path":121},"Week 20, 2022 - Tips I learned this week","/posts/w20-2022-tips-learned-this-week",{"title":123,"_path":124},"Keeping secrets secure when using API Clients","/posts/http-clients-secrets",{"title":126,"_path":127},"What made me want to be a developer?","/posts/be-a-developer",{"title":129,"_path":130},"What can we do when stuck with a programming problem?","/posts/get-unstuck",{"title":132,"_path":133},"How did I automate the setup of my developer Windows laptop?","/posts/automate-developer-machine",{"title":135,"_path":136},"Discussion about API clients","/posts/http-clients",{"title":138,"_path":139},"Week 46, 2022 - Tips I learned this week","/posts/w46-2022-tips-learned-this-week",{"title":141,"_path":142},"When Pulumi met Nuke: a .NET love story","/posts/when-pulumi-met-nuke",{"title":144,"_path":145},"A year of learning and sharing - Dev Retro 2022","/posts/2022-retro",{"title":147,"_path":148},"Perform Dynamic Execution of an npm Package","/posts/pnpm-dlx",{"title":150,"_path":151},"Manage multiple Node.js versions","/posts/pnpm-env",{"title":153,"_path":154},"Introducing the Vue.js CI/CD series","/posts/vuecicd-introduction",{"title":156,"_path":157},"Execute commands using your project dependencies","/posts/pnpm-exec",{"title":159,"_path":160},"Vue.js CI/CD: Continuous Integration","/posts/vuecicd-ci",{"title":162,"_path":163},"Who is using pnpm?","/posts/pnpm-who-is-using",{"title":165,"_path":166},"Create an Azure-Ready GitHub Repository using Pulumi","/posts/azure-ready-github-repository",{"title":168,"_path":169},"Deploying to Azure from Azure DevOps without secrets","/posts/ado-workload-identity-federation",{"title":171,"_path":172},"Effortlessly Configure GitHub Repositories for Azure Deployment via OIDC","/posts/scripting-azure-ready-github-repository",{"title":174,"_path":175},"Playing with the .NET 8 Web API template","/posts/playing-with-dotnet8",{"title":177,"_path":178},"Another year of sharing and learning - Dev Retro 2023","/posts/2023-retro",{"title":180,"_path":181},"Week 4, 2024 - Tips I learned this week","/posts/w04-2024-tips-learned-this-week",{"title":183,"_path":184},"Using dependency injection with Azure .NET SDK","/posts/azure-sdk-di",{"title":186,"_path":187},"Having Fun With IT Event Calendars","/posts/it-event-calendars",{"title":189,"_path":190},"Call your Azure AD B2C protected API with authenticated HTTP requests from your JetBrains IDE","/posts/http-clients-oauth2","i-heroicons-newspaper",{"title":193,"_path":194,"children":195,"icon":199},"Goodies","/goodies",[196],{"title":197,"_path":198},"My Git Cheat Sheet","/goodies/gitcheatsheet","i-heroicons-gift-solid",{"title":201,"_path":202,"icon":203},"About","/about","i-heroicons-user-circle-solid",{"_path":58,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":57,"description":208,"lead":209,"date":210,"image":211,"badge":213,"tags":215,"body":220,"_type":1359,"_id":1360,"_source":1361,"_file":1362,"_extension":1363},"posts",false,"","Using Windows Package Manager import to install multiple applications.","Winget import a promising feature","2021-05-26T00:00:00.000Z",{"src":212},"/images/surface_2.jpg",{"label":214},"Tooling",[216,217,218,219],"development box setup","winget","package manager","tooling",{"type":221,"children":222,"toc":1353},"root",[223,232,257,262,283,304,310,337,355,367,373,400,405,1296,1308,1324,1329,1335,1347],{"type":224,"tag":225,"props":226,"children":228},"element","h2",{"id":227},"about-windows-package-manager",[229],{"type":230,"value":231},"text","About Windows Package Manager",{"type":224,"tag":233,"props":234,"children":235},"p",{},[236,238,247,249,255],{"type":230,"value":237},"You probably have already heard of the new ",{"type":224,"tag":239,"props":240,"children":244},"a",{"href":241,"rel":242},"https://docs.microsoft.com/en-us/windows/package-manager/",[243],"nofollow",[245],{"type":230,"value":246},"Windows Package Manager",{"type":230,"value":248}," and its command-line tool ",{"type":224,"tag":250,"props":251,"children":253},"code",{"className":252},[],[254],{"type":230,"value":217},{"type":230,"value":256}," that allows you to automate installing and upgrading software on your Windows 10 computer.",{"type":224,"tag":233,"props":258,"children":259},{},[260],{"type":230,"value":261},"With winget you can install an application very easily simply by executing in your terminal a command like this one which installs PowerToys:",{"type":224,"tag":263,"props":264,"children":268},"pre",{"className":265,"code":266,"language":267,"meta":207,"style":207},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","winget install powertoys\n","powershell",[269],{"type":224,"tag":250,"props":270,"children":271},{"__ignoreMap":207},[272],{"type":224,"tag":273,"props":274,"children":277},"span",{"class":275,"line":276},"line",1,[278],{"type":224,"tag":273,"props":279,"children":281},{"style":280},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[282],{"type":230,"value":266},{"type":224,"tag":233,"props":284,"children":285},{},[286,288,295,297,302],{"type":230,"value":287},"Currently, Windows Package Manager only offers basic features and has far fewer packages compared to other package managers like ",{"type":224,"tag":239,"props":289,"children":292},{"href":290,"rel":291},"https://chocolatey.org/",[243],[293],{"type":230,"value":294},"Chocolatey",{"type":230,"value":296},". However, even if ",{"type":224,"tag":250,"props":298,"children":300},{"className":299},[],[301],{"type":230,"value":217},{"type":230,"value":303}," is still in its early days, there are some promising features that make it a tool to consider when setting up a Windows 10 machine.",{"type":224,"tag":225,"props":305,"children":307},{"id":306},"installing-microsoft-store-applications",[308],{"type":230,"value":309},"Installing Microsoft Store applications",{"type":224,"tag":233,"props":311,"children":312},{},[313,315,320,322,327,329,335],{"type":230,"value":314},"First, winget can install Microsoft Store applications. Most of the software you use as a developer probably does not come from Microsoft Store, but there are still some applications that it is handy to get from it. For instance, the new Windows Terminal is available as a Microsoft Store application. As far as I know, apart from ",{"type":224,"tag":250,"props":316,"children":318},{"className":317},[],[319],{"type":230,"value":217},{"type":230,"value":321},", there is no other easy way to install a Microsoft Store application from the command line. With ",{"type":224,"tag":250,"props":323,"children":325},{"className":324},[],[326],{"type":230,"value":217},{"type":230,"value":328}," you can just do: ",{"type":224,"tag":250,"props":330,"children":332},{"className":331},[],[333],{"type":230,"value":334},"winget install Microsoft.WindowsTerminal -s msstore",{"type":230,"value":336}," to install the new WindowsTerminal application from Microsoft Store.",{"type":224,"tag":338,"props":339,"children":341},"callout",{"icon":340},"i-fluent-emoji-flat-pushpin",[342],{"type":224,"tag":233,"props":343,"children":344},{},[345,347,353],{"type":230,"value":346},"Please note that at the time of writing, installing store applications from winget is an experimental feature that you have to enable in ",{"type":224,"tag":250,"props":348,"children":350},{"className":349},[],[351],{"type":230,"value":352},"winget settings",{"type":230,"value":354}," and that only a subset of Microsoft Store applications can be installed.",{"type":224,"tag":233,"props":356,"children":357},{},[358],{"type":224,"tag":359,"props":360,"children":366},"img",{"alt":361,"className":362,"src":365},"Winget configuration file.",[363,364],"rounded-lg","mx-auto","/posts/images/winget_import_1.png",[],{"type":224,"tag":225,"props":368,"children":370},{"id":369},"installing-several-packages-with-the-import-command",[371],{"type":230,"value":372},"Installing several packages with the import command",{"type":224,"tag":233,"props":374,"children":375},{},[376,378,384,386,392,394],{"type":230,"value":377},"Second, winget has an ",{"type":224,"tag":250,"props":379,"children":381},{"className":380},[],[382],{"type":230,"value":383},"import",{"type":230,"value":385}," command that allows you installing all the package specified in a JSON file you pass in parameter. It means that instead of writing a script with many install commands for each of the packages you want to install, you can write a ",{"type":224,"tag":250,"props":387,"children":389},{"className":388},[],[390],{"type":230,"value":391},"package.json",{"type":230,"value":393}," file that will contain all the packages you want to install, their version, the source of the package (place to find them, msstore for Microsoft Store applications), ... and you will be able to install the software with one command: ",{"type":224,"tag":250,"props":395,"children":397},{"className":396},[],[398],{"type":230,"value":399},"winget import packages.json",{"type":224,"tag":233,"props":401,"children":402},{},[403],{"type":230,"value":404},"Here is an example of such a file:",{"type":224,"tag":263,"props":406,"children":410},{"className":407,"code":408,"language":409,"meta":207,"style":207},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"$schema\" : \"https://aka.ms/winget-packages.schema.2.0.json\",\n    \"CreationDate\" : \"2021-05-23T14:41:38.200-00:00\",\n    \"Sources\" : \n    [\n        {\n            \"Packages\" : \n            [\n                {\n                    \"PackageIdentifier\" : \"Microsoft.Whiteboard\"\n                },\n                {\n                    \"PackageIdentifier\" : \"Microsoft.WindowsTerminal\"   \n                }\n            ],\n            \"SourceDetails\" : \n            {\n                \"Argument\" : \"https://winget.azureedge.net/msstore\",\n                \"Identifier\" : \"Microsoft.Winget.MSStore.Source_8wekyb3d8bbwe\",\n                \"Name\" : \"msstore\",\n                \"Type\" : \"Microsoft.PreIndexed.Package\"\n            }\n        },\n        {\n            \"Packages\" : \n            [\n                {\n                    \"PackageIdentifier\": \"Microsoft.AzureCLI\"\n                },\n                {\n                    \"PackageIdentifier\" : \"Microsoft.PowerToys\"\n                }\n            ],\n            \"SourceDetails\" : \n            {\n                \"Argument\" : \"https://winget.azureedge.net/cache\",\n                \"Identifier\" : \"Microsoft.Winget.Source_8wekyb3d8bbwe\",\n                \"Name\" : \"winget\",\n                \"Type\" : \"Microsoft.PreIndexed.Package\"\n            }\n        }\n    ],\n    \"WinGetVersion\" : \"0.4.11391\"\n}\n","json",[411],{"type":224,"tag":250,"props":412,"children":413},{"__ignoreMap":207},[414,423,468,506,532,541,550,577,586,595,632,641,649,687,696,705,730,739,778,816,854,888,897,906,914,938,946,954,988,996,1004,1037,1045,1053,1077,1085,1122,1159,1195,1227,1235,1244,1253,1287],{"type":224,"tag":273,"props":415,"children":416},{"class":275,"line":276},[417],{"type":224,"tag":273,"props":418,"children":420},{"style":419},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[421],{"type":230,"value":422},"{\n",{"type":224,"tag":273,"props":424,"children":426},{"class":275,"line":425},2,[427,432,438,443,448,453,459,463],{"type":224,"tag":273,"props":428,"children":429},{"style":419},[430],{"type":230,"value":431},"    \"",{"type":224,"tag":273,"props":433,"children":435},{"style":434},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[436],{"type":230,"value":437},"$schema",{"type":224,"tag":273,"props":439,"children":440},{"style":419},[441],{"type":230,"value":442},"\"",{"type":224,"tag":273,"props":444,"children":445},{"style":419},[446],{"type":230,"value":447}," :",{"type":224,"tag":273,"props":449,"children":450},{"style":419},[451],{"type":230,"value":452}," \"",{"type":224,"tag":273,"props":454,"children":456},{"style":455},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[457],{"type":230,"value":458},"https://aka.ms/winget-packages.schema.2.0.json",{"type":224,"tag":273,"props":460,"children":461},{"style":419},[462],{"type":230,"value":442},{"type":224,"tag":273,"props":464,"children":465},{"style":419},[466],{"type":230,"value":467},",\n",{"type":224,"tag":273,"props":469,"children":471},{"class":275,"line":470},3,[472,476,481,485,489,493,498,502],{"type":224,"tag":273,"props":473,"children":474},{"style":419},[475],{"type":230,"value":431},{"type":224,"tag":273,"props":477,"children":478},{"style":434},[479],{"type":230,"value":480},"CreationDate",{"type":224,"tag":273,"props":482,"children":483},{"style":419},[484],{"type":230,"value":442},{"type":224,"tag":273,"props":486,"children":487},{"style":419},[488],{"type":230,"value":447},{"type":224,"tag":273,"props":490,"children":491},{"style":419},[492],{"type":230,"value":452},{"type":224,"tag":273,"props":494,"children":495},{"style":455},[496],{"type":230,"value":497},"2021-05-23T14:41:38.200-00:00",{"type":224,"tag":273,"props":499,"children":500},{"style":419},[501],{"type":230,"value":442},{"type":224,"tag":273,"props":503,"children":504},{"style":419},[505],{"type":230,"value":467},{"type":224,"tag":273,"props":507,"children":509},{"class":275,"line":508},4,[510,514,519,523,527],{"type":224,"tag":273,"props":511,"children":512},{"style":419},[513],{"type":230,"value":431},{"type":224,"tag":273,"props":515,"children":516},{"style":434},[517],{"type":230,"value":518},"Sources",{"type":224,"tag":273,"props":520,"children":521},{"style":419},[522],{"type":230,"value":442},{"type":224,"tag":273,"props":524,"children":525},{"style":419},[526],{"type":230,"value":447},{"type":224,"tag":273,"props":528,"children":529},{"style":280},[530],{"type":230,"value":531}," \n",{"type":224,"tag":273,"props":533,"children":535},{"class":275,"line":534},5,[536],{"type":224,"tag":273,"props":537,"children":538},{"style":419},[539],{"type":230,"value":540},"    [\n",{"type":224,"tag":273,"props":542,"children":544},{"class":275,"line":543},6,[545],{"type":224,"tag":273,"props":546,"children":547},{"style":419},[548],{"type":230,"value":549},"        {\n",{"type":224,"tag":273,"props":551,"children":553},{"class":275,"line":552},7,[554,559,565,569,573],{"type":224,"tag":273,"props":555,"children":556},{"style":419},[557],{"type":230,"value":558},"            \"",{"type":224,"tag":273,"props":560,"children":562},{"style":561},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[563],{"type":230,"value":564},"Packages",{"type":224,"tag":273,"props":566,"children":567},{"style":419},[568],{"type":230,"value":442},{"type":224,"tag":273,"props":570,"children":571},{"style":419},[572],{"type":230,"value":447},{"type":224,"tag":273,"props":574,"children":575},{"style":280},[576],{"type":230,"value":531},{"type":224,"tag":273,"props":578,"children":580},{"class":275,"line":579},8,[581],{"type":224,"tag":273,"props":582,"children":583},{"style":419},[584],{"type":230,"value":585},"            [\n",{"type":224,"tag":273,"props":587,"children":589},{"class":275,"line":588},9,[590],{"type":224,"tag":273,"props":591,"children":592},{"style":419},[593],{"type":230,"value":594},"                {\n",{"type":224,"tag":273,"props":596,"children":598},{"class":275,"line":597},10,[599,604,610,614,618,622,627],{"type":224,"tag":273,"props":600,"children":601},{"style":419},[602],{"type":230,"value":603},"                    \"",{"type":224,"tag":273,"props":605,"children":607},{"style":606},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[608],{"type":230,"value":609},"PackageIdentifier",{"type":224,"tag":273,"props":611,"children":612},{"style":419},[613],{"type":230,"value":442},{"type":224,"tag":273,"props":615,"children":616},{"style":419},[617],{"type":230,"value":447},{"type":224,"tag":273,"props":619,"children":620},{"style":419},[621],{"type":230,"value":452},{"type":224,"tag":273,"props":623,"children":624},{"style":455},[625],{"type":230,"value":626},"Microsoft.Whiteboard",{"type":224,"tag":273,"props":628,"children":629},{"style":419},[630],{"type":230,"value":631},"\"\n",{"type":224,"tag":273,"props":633,"children":635},{"class":275,"line":634},11,[636],{"type":224,"tag":273,"props":637,"children":638},{"style":419},[639],{"type":230,"value":640},"                },\n",{"type":224,"tag":273,"props":642,"children":644},{"class":275,"line":643},12,[645],{"type":224,"tag":273,"props":646,"children":647},{"style":419},[648],{"type":230,"value":594},{"type":224,"tag":273,"props":650,"children":652},{"class":275,"line":651},13,[653,657,661,665,669,673,678,682],{"type":224,"tag":273,"props":654,"children":655},{"style":419},[656],{"type":230,"value":603},{"type":224,"tag":273,"props":658,"children":659},{"style":606},[660],{"type":230,"value":609},{"type":224,"tag":273,"props":662,"children":663},{"style":419},[664],{"type":230,"value":442},{"type":224,"tag":273,"props":666,"children":667},{"style":419},[668],{"type":230,"value":447},{"type":224,"tag":273,"props":670,"children":671},{"style":419},[672],{"type":230,"value":452},{"type":224,"tag":273,"props":674,"children":675},{"style":455},[676],{"type":230,"value":677},"Microsoft.WindowsTerminal",{"type":224,"tag":273,"props":679,"children":680},{"style":419},[681],{"type":230,"value":442},{"type":224,"tag":273,"props":683,"children":684},{"style":280},[685],{"type":230,"value":686},"   \n",{"type":224,"tag":273,"props":688,"children":690},{"class":275,"line":689},14,[691],{"type":224,"tag":273,"props":692,"children":693},{"style":419},[694],{"type":230,"value":695},"                }\n",{"type":224,"tag":273,"props":697,"children":699},{"class":275,"line":698},15,[700],{"type":224,"tag":273,"props":701,"children":702},{"style":419},[703],{"type":230,"value":704},"            ],\n",{"type":224,"tag":273,"props":706,"children":708},{"class":275,"line":707},16,[709,713,718,722,726],{"type":224,"tag":273,"props":710,"children":711},{"style":419},[712],{"type":230,"value":558},{"type":224,"tag":273,"props":714,"children":715},{"style":561},[716],{"type":230,"value":717},"SourceDetails",{"type":224,"tag":273,"props":719,"children":720},{"style":419},[721],{"type":230,"value":442},{"type":224,"tag":273,"props":723,"children":724},{"style":419},[725],{"type":230,"value":447},{"type":224,"tag":273,"props":727,"children":728},{"style":280},[729],{"type":230,"value":531},{"type":224,"tag":273,"props":731,"children":733},{"class":275,"line":732},17,[734],{"type":224,"tag":273,"props":735,"children":736},{"style":419},[737],{"type":230,"value":738},"            {\n",{"type":224,"tag":273,"props":740,"children":742},{"class":275,"line":741},18,[743,748,753,757,761,765,770,774],{"type":224,"tag":273,"props":744,"children":745},{"style":419},[746],{"type":230,"value":747},"                \"",{"type":224,"tag":273,"props":749,"children":750},{"style":606},[751],{"type":230,"value":752},"Argument",{"type":224,"tag":273,"props":754,"children":755},{"style":419},[756],{"type":230,"value":442},{"type":224,"tag":273,"props":758,"children":759},{"style":419},[760],{"type":230,"value":447},{"type":224,"tag":273,"props":762,"children":763},{"style":419},[764],{"type":230,"value":452},{"type":224,"tag":273,"props":766,"children":767},{"style":455},[768],{"type":230,"value":769},"https://winget.azureedge.net/msstore",{"type":224,"tag":273,"props":771,"children":772},{"style":419},[773],{"type":230,"value":442},{"type":224,"tag":273,"props":775,"children":776},{"style":419},[777],{"type":230,"value":467},{"type":224,"tag":273,"props":779,"children":781},{"class":275,"line":780},19,[782,786,791,795,799,803,808,812],{"type":224,"tag":273,"props":783,"children":784},{"style":419},[785],{"type":230,"value":747},{"type":224,"tag":273,"props":787,"children":788},{"style":606},[789],{"type":230,"value":790},"Identifier",{"type":224,"tag":273,"props":792,"children":793},{"style":419},[794],{"type":230,"value":442},{"type":224,"tag":273,"props":796,"children":797},{"style":419},[798],{"type":230,"value":447},{"type":224,"tag":273,"props":800,"children":801},{"style":419},[802],{"type":230,"value":452},{"type":224,"tag":273,"props":804,"children":805},{"style":455},[806],{"type":230,"value":807},"Microsoft.Winget.MSStore.Source_8wekyb3d8bbwe",{"type":224,"tag":273,"props":809,"children":810},{"style":419},[811],{"type":230,"value":442},{"type":224,"tag":273,"props":813,"children":814},{"style":419},[815],{"type":230,"value":467},{"type":224,"tag":273,"props":817,"children":819},{"class":275,"line":818},20,[820,824,829,833,837,841,846,850],{"type":224,"tag":273,"props":821,"children":822},{"style":419},[823],{"type":230,"value":747},{"type":224,"tag":273,"props":825,"children":826},{"style":606},[827],{"type":230,"value":828},"Name",{"type":224,"tag":273,"props":830,"children":831},{"style":419},[832],{"type":230,"value":442},{"type":224,"tag":273,"props":834,"children":835},{"style":419},[836],{"type":230,"value":447},{"type":224,"tag":273,"props":838,"children":839},{"style":419},[840],{"type":230,"value":452},{"type":224,"tag":273,"props":842,"children":843},{"style":455},[844],{"type":230,"value":845},"msstore",{"type":224,"tag":273,"props":847,"children":848},{"style":419},[849],{"type":230,"value":442},{"type":224,"tag":273,"props":851,"children":852},{"style":419},[853],{"type":230,"value":467},{"type":224,"tag":273,"props":855,"children":857},{"class":275,"line":856},21,[858,862,867,871,875,879,884],{"type":224,"tag":273,"props":859,"children":860},{"style":419},[861],{"type":230,"value":747},{"type":224,"tag":273,"props":863,"children":864},{"style":606},[865],{"type":230,"value":866},"Type",{"type":224,"tag":273,"props":868,"children":869},{"style":419},[870],{"type":230,"value":442},{"type":224,"tag":273,"props":872,"children":873},{"style":419},[874],{"type":230,"value":447},{"type":224,"tag":273,"props":876,"children":877},{"style":419},[878],{"type":230,"value":452},{"type":224,"tag":273,"props":880,"children":881},{"style":455},[882],{"type":230,"value":883},"Microsoft.PreIndexed.Package",{"type":224,"tag":273,"props":885,"children":886},{"style":419},[887],{"type":230,"value":631},{"type":224,"tag":273,"props":889,"children":891},{"class":275,"line":890},22,[892],{"type":224,"tag":273,"props":893,"children":894},{"style":419},[895],{"type":230,"value":896},"            }\n",{"type":224,"tag":273,"props":898,"children":900},{"class":275,"line":899},23,[901],{"type":224,"tag":273,"props":902,"children":903},{"style":419},[904],{"type":230,"value":905},"        },\n",{"type":224,"tag":273,"props":907,"children":909},{"class":275,"line":908},24,[910],{"type":224,"tag":273,"props":911,"children":912},{"style":419},[913],{"type":230,"value":549},{"type":224,"tag":273,"props":915,"children":917},{"class":275,"line":916},25,[918,922,926,930,934],{"type":224,"tag":273,"props":919,"children":920},{"style":419},[921],{"type":230,"value":558},{"type":224,"tag":273,"props":923,"children":924},{"style":561},[925],{"type":230,"value":564},{"type":224,"tag":273,"props":927,"children":928},{"style":419},[929],{"type":230,"value":442},{"type":224,"tag":273,"props":931,"children":932},{"style":419},[933],{"type":230,"value":447},{"type":224,"tag":273,"props":935,"children":936},{"style":280},[937],{"type":230,"value":531},{"type":224,"tag":273,"props":939,"children":941},{"class":275,"line":940},26,[942],{"type":224,"tag":273,"props":943,"children":944},{"style":419},[945],{"type":230,"value":585},{"type":224,"tag":273,"props":947,"children":949},{"class":275,"line":948},27,[950],{"type":224,"tag":273,"props":951,"children":952},{"style":419},[953],{"type":230,"value":594},{"type":224,"tag":273,"props":955,"children":957},{"class":275,"line":956},28,[958,962,966,970,975,979,984],{"type":224,"tag":273,"props":959,"children":960},{"style":419},[961],{"type":230,"value":603},{"type":224,"tag":273,"props":963,"children":964},{"style":606},[965],{"type":230,"value":609},{"type":224,"tag":273,"props":967,"children":968},{"style":419},[969],{"type":230,"value":442},{"type":224,"tag":273,"props":971,"children":972},{"style":419},[973],{"type":230,"value":974},":",{"type":224,"tag":273,"props":976,"children":977},{"style":419},[978],{"type":230,"value":452},{"type":224,"tag":273,"props":980,"children":981},{"style":455},[982],{"type":230,"value":983},"Microsoft.AzureCLI",{"type":224,"tag":273,"props":985,"children":986},{"style":419},[987],{"type":230,"value":631},{"type":224,"tag":273,"props":989,"children":991},{"class":275,"line":990},29,[992],{"type":224,"tag":273,"props":993,"children":994},{"style":419},[995],{"type":230,"value":640},{"type":224,"tag":273,"props":997,"children":999},{"class":275,"line":998},30,[1000],{"type":224,"tag":273,"props":1001,"children":1002},{"style":419},[1003],{"type":230,"value":594},{"type":224,"tag":273,"props":1005,"children":1007},{"class":275,"line":1006},31,[1008,1012,1016,1020,1024,1028,1033],{"type":224,"tag":273,"props":1009,"children":1010},{"style":419},[1011],{"type":230,"value":603},{"type":224,"tag":273,"props":1013,"children":1014},{"style":606},[1015],{"type":230,"value":609},{"type":224,"tag":273,"props":1017,"children":1018},{"style":419},[1019],{"type":230,"value":442},{"type":224,"tag":273,"props":1021,"children":1022},{"style":419},[1023],{"type":230,"value":447},{"type":224,"tag":273,"props":1025,"children":1026},{"style":419},[1027],{"type":230,"value":452},{"type":224,"tag":273,"props":1029,"children":1030},{"style":455},[1031],{"type":230,"value":1032},"Microsoft.PowerToys",{"type":224,"tag":273,"props":1034,"children":1035},{"style":419},[1036],{"type":230,"value":631},{"type":224,"tag":273,"props":1038,"children":1040},{"class":275,"line":1039},32,[1041],{"type":224,"tag":273,"props":1042,"children":1043},{"style":419},[1044],{"type":230,"value":695},{"type":224,"tag":273,"props":1046,"children":1048},{"class":275,"line":1047},33,[1049],{"type":224,"tag":273,"props":1050,"children":1051},{"style":419},[1052],{"type":230,"value":704},{"type":224,"tag":273,"props":1054,"children":1056},{"class":275,"line":1055},34,[1057,1061,1065,1069,1073],{"type":224,"tag":273,"props":1058,"children":1059},{"style":419},[1060],{"type":230,"value":558},{"type":224,"tag":273,"props":1062,"children":1063},{"style":561},[1064],{"type":230,"value":717},{"type":224,"tag":273,"props":1066,"children":1067},{"style":419},[1068],{"type":230,"value":442},{"type":224,"tag":273,"props":1070,"children":1071},{"style":419},[1072],{"type":230,"value":447},{"type":224,"tag":273,"props":1074,"children":1075},{"style":280},[1076],{"type":230,"value":531},{"type":224,"tag":273,"props":1078,"children":1080},{"class":275,"line":1079},35,[1081],{"type":224,"tag":273,"props":1082,"children":1083},{"style":419},[1084],{"type":230,"value":738},{"type":224,"tag":273,"props":1086,"children":1088},{"class":275,"line":1087},36,[1089,1093,1097,1101,1105,1109,1114,1118],{"type":224,"tag":273,"props":1090,"children":1091},{"style":419},[1092],{"type":230,"value":747},{"type":224,"tag":273,"props":1094,"children":1095},{"style":606},[1096],{"type":230,"value":752},{"type":224,"tag":273,"props":1098,"children":1099},{"style":419},[1100],{"type":230,"value":442},{"type":224,"tag":273,"props":1102,"children":1103},{"style":419},[1104],{"type":230,"value":447},{"type":224,"tag":273,"props":1106,"children":1107},{"style":419},[1108],{"type":230,"value":452},{"type":224,"tag":273,"props":1110,"children":1111},{"style":455},[1112],{"type":230,"value":1113},"https://winget.azureedge.net/cache",{"type":224,"tag":273,"props":1115,"children":1116},{"style":419},[1117],{"type":230,"value":442},{"type":224,"tag":273,"props":1119,"children":1120},{"style":419},[1121],{"type":230,"value":467},{"type":224,"tag":273,"props":1123,"children":1125},{"class":275,"line":1124},37,[1126,1130,1134,1138,1142,1146,1151,1155],{"type":224,"tag":273,"props":1127,"children":1128},{"style":419},[1129],{"type":230,"value":747},{"type":224,"tag":273,"props":1131,"children":1132},{"style":606},[1133],{"type":230,"value":790},{"type":224,"tag":273,"props":1135,"children":1136},{"style":419},[1137],{"type":230,"value":442},{"type":224,"tag":273,"props":1139,"children":1140},{"style":419},[1141],{"type":230,"value":447},{"type":224,"tag":273,"props":1143,"children":1144},{"style":419},[1145],{"type":230,"value":452},{"type":224,"tag":273,"props":1147,"children":1148},{"style":455},[1149],{"type":230,"value":1150},"Microsoft.Winget.Source_8wekyb3d8bbwe",{"type":224,"tag":273,"props":1152,"children":1153},{"style":419},[1154],{"type":230,"value":442},{"type":224,"tag":273,"props":1156,"children":1157},{"style":419},[1158],{"type":230,"value":467},{"type":224,"tag":273,"props":1160,"children":1162},{"class":275,"line":1161},38,[1163,1167,1171,1175,1179,1183,1187,1191],{"type":224,"tag":273,"props":1164,"children":1165},{"style":419},[1166],{"type":230,"value":747},{"type":224,"tag":273,"props":1168,"children":1169},{"style":606},[1170],{"type":230,"value":828},{"type":224,"tag":273,"props":1172,"children":1173},{"style":419},[1174],{"type":230,"value":442},{"type":224,"tag":273,"props":1176,"children":1177},{"style":419},[1178],{"type":230,"value":447},{"type":224,"tag":273,"props":1180,"children":1181},{"style":419},[1182],{"type":230,"value":452},{"type":224,"tag":273,"props":1184,"children":1185},{"style":455},[1186],{"type":230,"value":217},{"type":224,"tag":273,"props":1188,"children":1189},{"style":419},[1190],{"type":230,"value":442},{"type":224,"tag":273,"props":1192,"children":1193},{"style":419},[1194],{"type":230,"value":467},{"type":224,"tag":273,"props":1196,"children":1198},{"class":275,"line":1197},39,[1199,1203,1207,1211,1215,1219,1223],{"type":224,"tag":273,"props":1200,"children":1201},{"style":419},[1202],{"type":230,"value":747},{"type":224,"tag":273,"props":1204,"children":1205},{"style":606},[1206],{"type":230,"value":866},{"type":224,"tag":273,"props":1208,"children":1209},{"style":419},[1210],{"type":230,"value":442},{"type":224,"tag":273,"props":1212,"children":1213},{"style":419},[1214],{"type":230,"value":447},{"type":224,"tag":273,"props":1216,"children":1217},{"style":419},[1218],{"type":230,"value":452},{"type":224,"tag":273,"props":1220,"children":1221},{"style":455},[1222],{"type":230,"value":883},{"type":224,"tag":273,"props":1224,"children":1225},{"style":419},[1226],{"type":230,"value":631},{"type":224,"tag":273,"props":1228,"children":1230},{"class":275,"line":1229},40,[1231],{"type":224,"tag":273,"props":1232,"children":1233},{"style":419},[1234],{"type":230,"value":896},{"type":224,"tag":273,"props":1236,"children":1238},{"class":275,"line":1237},41,[1239],{"type":224,"tag":273,"props":1240,"children":1241},{"style":419},[1242],{"type":230,"value":1243},"        }\n",{"type":224,"tag":273,"props":1245,"children":1247},{"class":275,"line":1246},42,[1248],{"type":224,"tag":273,"props":1249,"children":1250},{"style":419},[1251],{"type":230,"value":1252},"    ],\n",{"type":224,"tag":273,"props":1254,"children":1256},{"class":275,"line":1255},43,[1257,1261,1266,1270,1274,1278,1283],{"type":224,"tag":273,"props":1258,"children":1259},{"style":419},[1260],{"type":230,"value":431},{"type":224,"tag":273,"props":1262,"children":1263},{"style":434},[1264],{"type":230,"value":1265},"WinGetVersion",{"type":224,"tag":273,"props":1267,"children":1268},{"style":419},[1269],{"type":230,"value":442},{"type":224,"tag":273,"props":1271,"children":1272},{"style":419},[1273],{"type":230,"value":447},{"type":224,"tag":273,"props":1275,"children":1276},{"style":419},[1277],{"type":230,"value":452},{"type":224,"tag":273,"props":1279,"children":1280},{"style":455},[1281],{"type":230,"value":1282},"0.4.11391",{"type":224,"tag":273,"props":1284,"children":1285},{"style":419},[1286],{"type":230,"value":631},{"type":224,"tag":273,"props":1288,"children":1290},{"class":275,"line":1289},44,[1291],{"type":224,"tag":273,"props":1292,"children":1293},{"style":419},[1294],{"type":230,"value":1295},"}\n",{"type":224,"tag":233,"props":1297,"children":1298},{},[1299,1301,1306],{"type":230,"value":1300},"It contains packages from Microsoft Store and packages from the ",{"type":224,"tag":250,"props":1302,"children":1304},{"className":1303},[],[1305],{"type":230,"value":217},{"type":230,"value":1307}," package repository hence the 2 arrays of packages (one by each source).",{"type":224,"tag":338,"props":1309,"children":1310},{"icon":340},[1311],{"type":224,"tag":233,"props":1312,"children":1313},{},[1314,1316,1322],{"type":230,"value":1315},"You can easily edit this JSON in vscode with autocompletion thanks to the link to the JSON ",{"type":224,"tag":250,"props":1317,"children":1319},{"className":1318},[],[1320],{"type":230,"value":1321},"schema",{"type":230,"value":1323}," at the beginning of the JSON.",{"type":224,"tag":233,"props":1325,"children":1326},{},[1327],{"type":230,"value":1328},"Import is great but there are still things missing like the ability to silently install the applications which is possible with the install command.",{"type":224,"tag":225,"props":1330,"children":1332},{"id":1331},"final-thoughts",[1333],{"type":230,"value":1334},"Final thoughts",{"type":224,"tag":233,"props":1336,"children":1337},{},[1338,1340,1345],{"type":230,"value":1339},"Chocolatey will continue to be my main package manager for now: on the one hand for the number of packages available and on the other hand for being able to specify some parameters for a package installation (like the workload and components to install for Visual Studio 2019). Yet, ",{"type":224,"tag":250,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":230,"value":217},{"type":230,"value":1346}," will be part of my toolbox as well to install some packages (including Microsoft Store applications) and I expect it to continue to get better and better.",{"type":224,"tag":1348,"props":1349,"children":1350},"style",{},[1351],{"type":230,"value":1352},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":207,"searchDepth":425,"depth":425,"links":1354},[1355,1356,1357,1358],{"id":227,"depth":425,"text":231},{"id":306,"depth":425,"text":309},{"id":369,"depth":425,"text":372},{"id":1331,"depth":425,"text":1334},"markdown","content:1.posts:17.winget-import.md","content","1.posts/17.winget-import.md","md",[1365,1374],{"_path":61,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":60,"description":1366,"lead":1367,"date":1368,"image":1369,"badge":1370,"tags":1371,"_type":1359,"_id":1372,"_source":1361,"_file":1373,"_extension":1363},"In my last article about Windows Package Manager, I said that with winget I was missing \"being able to specify some parameters for a package installation (like the workload and components to install for Visual Studio 2019)\". Well, that was before I went through a few GitHub issues of the winget-cli repository that mentioned the override option.","The override option of winget install command","2021-05-31T00:00:00.000Z",{"src":212},{"label":214},[216,217,218,219],"content:1.posts:18.winget-override.md","1.posts/18.winget-override.md",{"_path":55,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":54,"description":1375,"lead":1376,"date":1377,"image":1378,"badge":1380,"tags":1382,"_type":1359,"_id":1388,"_source":1361,"_file":1389,"_extension":1363},"In this article, I want to talk about a few things in .NET such as HTTP requests with an Http Client, HTTP message handlers, records... For the theoretical aspect of these topics, I think the official documentation on docs.microsoft.com and many blog articles already explain them very well, better than I could ever do. But what I am interested in here is to talk about these topics through a case study.","A story about records, HTTP message handlers, HTTP client extensions...","2021-04-24T00:00:00.000Z",{"src":1379},"/images/western_1.jpg",{"label":1381},"Development",[1383,1384,1385,1386,1387],"ASP.NET Core","HTTP","records","rest","refit","content:1.posts:16.once-upon-a-time-in-dotnet.md","1.posts/16.once-upon-a-time-in-dotnet.md",1716749601651]