Skip to content

Commit 76facda

Browse files
authored
Merge branch 'master' into NormalizePathVar
2 parents 454c4b1 + 0be0199 commit 76facda

File tree

175 files changed

+5133
-617
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+5133
-617
lines changed

.github/actions/spelling/expect.txt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ auxdata
4646
awgpm
4747
awgs
4848
azurewebsites
49+
bak
4950
Baz
51+
bbb
5052
bcp
5153
BEBOM
5254
BEFACEF
@@ -55,6 +57,7 @@ BFirst
5557
bigcatalog
5658
BITMAPINFOHEADER
5759
bitmask
60+
BKMG
5861
bkup
5962
blargle
6063
blockedbypolicy
@@ -74,6 +77,7 @@ buildtrees
7477
cancelledbyuser
7578
casemap
7679
casemappings
80+
ccc
7781
cch
7882
centralus
7983
certmgr
@@ -121,6 +125,7 @@ DCPPREST
121125
debian
122126
decompressor
123127
dedupe
128+
defaultlib
124129
DEFT
125130
deigh
126131
deleteifnotneeded
@@ -158,6 +163,7 @@ ERRORONEXIT
158163
errstr
159164
ESRB
160165
etl
166+
evtx
161167
ewgp
162168
ewgs
163169
execustom
@@ -224,6 +230,7 @@ Howto
224230
hre
225231
hresults
226232
hwnd
233+
hybridcrt
227234
Hyperlink
228235
IARP
229236
IAttachment
@@ -320,6 +327,7 @@ MBH
320327
MBs
321328
mday
322329
mdmp
330+
mdmpto
323331
MDs
324332
megamorf
325333
microsoftentraid
@@ -330,6 +338,7 @@ MINORVERSION
330338
missingdependency
331339
mkgmtime
332340
MMmmbbbb
341+
MODULEENTRY
333342
mof
334343
monicka
335344
MPNS
@@ -342,6 +351,7 @@ MSIXSTRM
342351
msstore
343352
MSZIP
344353
mszyml
354+
mta
345355
Mugiwara
346356
Multideclaration
347357
mysource
@@ -395,6 +405,7 @@ packageinusebyapplication
395405
PACL
396406
PARAMETERMAP
397407
pathparts
408+
pathtree
398409
Patil
399410
pbstr
400411
pcb
@@ -421,6 +432,7 @@ positionals
421432
posix
422433
postuninstall
423434
powershellgallery
435+
PPROCESS
424436
pri
425437
PRIMARYKEY
426438
processthreads
@@ -429,6 +441,7 @@ PRODUCTICON
429441
propkey
430442
PROPVARIANT
431443
proxystub
444+
psapi
432445
pscustomobject
433446
pseudocode
434447
PSHOST
@@ -468,6 +481,7 @@ rgp
468481
rgpsz
469482
rhs
470483
riid
484+
roapi
471485
Roblox
472486
ronomon
473487
rowid
@@ -493,6 +507,7 @@ Scm
493507
sddl
494508
secureobject
495509
securestring
510+
seekp
496511
seof
497512
servercert
498513
servercertificate
@@ -509,11 +524,14 @@ sid
509524
Sideload
510525
SIGNATUREHASH
511526
silentpreferred
527+
SINGLETHREADED
512528
Skipx
513529
sku
514530
SLAPI
515531
SMTO
516532
SNAME
533+
SNAPMODULE
534+
SNAPTHREAD
517535
sortof
518536
sourceforge
519537
SOURCESDIRECTORY
@@ -542,14 +560,18 @@ Tagit
542560
TARG
543561
taskhostw
544562
tcs
563+
tellp
545564
temppath
546565
testexampleinstaller
547566
thiscouldbeapc
567+
THREADENTRY
548568
threehundred
549569
timespan
550570
Tlg
571+
tlhelp
551572
TLSCAs
552573
tombstoned
574+
Toolhelp
553575
transitioning
554576
trimstart
555577
ttl
@@ -560,6 +582,7 @@ UCase
560582
ucasemap
561583
UChars
562584
ucnv
585+
ucrt
563586
udwgp
564587
uec
565588
ULONGLONG
@@ -602,14 +625,15 @@ website
602625
wesome
603626
wfsopen
604627
wgetenv
605-
Whatif
628+
whatif
606629
WIC
607630
wildcards
608631
WINAPI
609632
wincodec
610633
windir
611634
windowsdeveloper
612635
winerror
636+
winevt
613637
wingdi
614638
wingetconfigroot
615639
wingetcreate

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ settings.json
1717
[Dd]ebug/
1818
[Dd]ebugPublic/
1919
[Rr]elease/
20+
[Rr]elease[Ss]tatic/
2021
[Rr]eleases/
2122
x64/
2223
x86/

CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
* @microsoft/windows-package-manager-admins
1+
* @microsoft/winget-developers
2+

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ The client is distributed within the [App Installer](https://apps.microsoft.com/
2020

2121
### Development Releases
2222

23-
There are two methods to get development releases:
23+
There are a few methods to get development releases:
2424

2525
* Install a [Windows 10 or Windows 11 Insider](https://insider.windows.com/) build.
26-
* Join the Windows Package Manager Insider program by [signing up](http://aka.ms/winget-InsiderProgram).
26+
* Manually update using a development build from our [Releases](https://github.com/microsoft/winget-cli/releases) page.
27+
* Use the `Repair-WinGetPackageManager` cmdlet from the [Microsoft.WinGet.Client](https://www.powershellgallery.com/packages/Microsoft.WinGet.Client/) PowerShell module and use the `-IncludePrerelease` parameter.
2728

2829
> [!NOTE]
29-
> It may take a few days to get the updated App Installer after you receive e-mail confirmation from joining the Windows Package Manager Insider program. If you decide to install the latest release from GitHub, and you have successfully joined the insider program, you will receive updates when the next development release has been published in the Microsoft Store.
30+
> If you decide to install the latest release from GitHub, and you have successfully joined the insider program, you will receive updates when the next development release has been published in the Microsoft Store.
3031
3132
Once you have received the updated App Installer from the Microsoft Store you should be able to execute `winget features` to see experimental features. Some users have reported [issues](https://github.com/microsoft/winget-cli/issues/210) with the client not being on their PATH.
3233

@@ -119,3 +120,4 @@ In short, to opt out, do one of the following:
119120
**Windows 10**: Go to `Start`, then select `Settings` > `Privacy` > `Diagnostics & feedback`, and select `Required diagnostic data`.
120121

121122
See the [privacy statement](PRIVACY.md) for more details.
123+

azure-pipelines.yml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ jobs:
118118
/p:AppxBundlePlatforms="$(buildPlatform)"
119119
/p:AppxPackageDir="$(appxPackageDir)"
120120
/p:AppxBundle=Always
121-
/p:UapAppxPackageBuildMode=SideloadOnly'
121+
/p:UapAppxPackageBuildMode=SideloadOnly
122+
/p:WingetCleanIntermediateFiles=true'
122123
maximumCpuCount: true
123124

124125
- task: MSBuild@1
@@ -212,6 +213,7 @@ jobs:
212213
Contents: |
213214
AppInstallerCLIE2ETests\**
214215
AppInstallerCLITests\**
216+
ComInprocTestbed\**
215217
Microsoft.Management.Configuration\**
216218
Microsoft.Management.Configuration.UnitTests\**
217219
Microsoft.Management.Configuration.OutOfProc\**
@@ -339,7 +341,7 @@ jobs:
339341
340342
- pwsh: |
341343
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
342-
PsExec -accepteula -s -i $(buildOutDir)\AppInstallerCLITests\AppInstallerCLITests.exe -logto $(artifactsDir)\AICLI-Unpackaged-System.log -s -r junit -o $(artifactsDir)\TEST-AppInstallerCLI-Unpackaged-System.xml
344+
PsExec -accepteula -s -i $(buildOutDir)\AppInstallerCLITests\AppInstallerCLITests.exe -logto $(artifactsDir)\AICLI-Unpackaged-System.log -mdmpto $(artifactsDir)\AICLI-Unpackaged-System.mdmp -s -r junit -o $(artifactsDir)\TEST-AppInstallerCLI-Unpackaged-System.xml
343345
displayName: Run Unit Tests Unpackaged Under System Context
344346
workingDirectory: '$(buildOutDir)\AppInstallerCLITests'
345347
condition: succeededOrFailed()
@@ -353,7 +355,7 @@ jobs:
353355
displayName: Run Unit Tests Packaged
354356
inputs:
355357
filePath: 'src\AppInstallerCLITests\Run-TestsInPackage.ps1'
356-
arguments: '-Args "~[pips]" -BuildRoot $(buildOutDir) -PackageRoot $(packageLayoutDir) -LogTarget $(artifactsDir)\AICLI-Packaged.log -TestResultsTarget $(artifactsDir)\TEST-AppInstallerCLI-Packaged.xml -ScriptWait'
358+
arguments: '-Args "~[pips]" -BuildRoot $(buildOutDir) -PackageRoot $(packageLayoutDir) -LogTarget $(artifactsDir)\AICLI-Packaged.log -MdmpTarget $(artifactsDir)\AICLI-Packaged.mdmp -TestResultsTarget $(artifactsDir)\TEST-AppInstallerCLI-Packaged.xml -ScriptWait'
357359
workingDirectory: 'src'
358360
condition: succeededOrFailed()
359361

@@ -481,6 +483,34 @@ jobs:
481483
- powershell: Get-Process LocalhostWebServer | Stop-Process
482484
displayName: Stop LocalhostWebServer
483485
condition: succeededOrFailed()
486+
487+
- task: PowerShell@2
488+
displayName: 'Copy GA WinGet Log to artifacts folder'
489+
inputs:
490+
targetType: 'inline'
491+
script: |
492+
$source = "$env:LocalAppData\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir"
493+
$destination = "$(artifactsDir)\GA_WinGet_Logs"
494+
if (Test-Path $source) {
495+
Copy-Item -Path $source -Destination $destination -Recurse -Force
496+
} else {
497+
Write-Host "WinGet logs not found at $source"
498+
}
499+
condition: succeededOrFailed()
500+
501+
- task: PowerShell@2
502+
displayName: 'Copy Application Event Logs to Artifacts'
503+
inputs:
504+
targetType: 'inline'
505+
script: |
506+
$source = "$env:SystemRoot\System32\winevt\Logs\Application.evtx"
507+
$destination = "$(artifactsDir)\Application.evtx"
508+
if (Test-Path $source) {
509+
Copy-Item -Path $source -Destination $destination -Force
510+
} else {
511+
Write-Host "Application event log not found at $source"
512+
}
513+
condition: succeededOrFailed()
484514

485515
- task: PublishPipelineArtifact@1
486516
displayName: Publish Pipeline Artifacts

doc/ReleaseNotes.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
## New in v1.28
22

3+
# Experimental Feature: 'sourceEdit'
4+
New feature that adds an 'edit' subcommand to the 'source' command. This can be used to set an explicit source to be implicit and vice-versa. For example, with this feature you can make the 'winget-font' source an implicit source instead of explicit source.
5+
6+
To enable this feature, add the 'sourceEdit' experimental feature to your settings.
7+
```
8+
"experimentalFeatures": {
9+
"sourceEdit": true
10+
},
11+
```
12+
To use the feature, try `winget source edit winget-font` to set the Explicit state to the default.
13+
314
<!-- Nothing yet! -->
415

516
## Bug Fixes
617
* Portable Packages now use the correct directory separators regardless of which convention is used in the manifest
18+
* `--suppress-initial-details` now works with `winget configure test`
19+
* `--suppress-initial-details` no longer requires `--accept-configuration-agreements`

doc/Settings.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,35 @@ In addition, there are special values that cover multiple channels. `default` i
286286
},
287287
```
288288

289+
### file
290+
291+
The `file` settings control the log files generated by winget during operation. These settings apply to the automatic cleanup that happens whenever a Windows Package Manager process is run.
292+
They only apply to the default log location, which contains winget logs, AppInstaller logs (the MSIX install UI), and is the default location where installer logs are placed.
293+
The automatic cleanup happens at the beginning of the process, so the log file(s) generated by the current process will not be considered in the limits.
294+
295+
|Setting|Description|Default|Note|
296+
|---|---|---|---|
297+
|`ageLimitInDays`|The maximum age, in days, of files in the log directory; older files are deleted.|7 (days)|Set to 0 to disable this limit.|
298+
|`totalSizeLimitInMB`|The maximum size, in megabytes, of all files in the log directory; the oldest files are deleted first.|128 (MB)|Set to 0 to disable this limit.|
299+
|`countLimit`|The maximum number of files in the log directory; the oldest files are deleted first.|0|Set to 0 (the default) to disable this limit.|
300+
301+
These settings apply to the log files that winget writes, only as they are being written. They do not apply to files written by installers or the AppInstaller UI.
302+
303+
|Setting|Description|Default|Note|
304+
|---|---|---|---|
305+
|`individualSizeLimitInMB`|The maximum size, in megabytes, of an individual log file. If a file would exceed this limit, the logs will wrap. Note that this limit is approximate and the actual files may exceed it by a few bytes.|16 (MB)|Set to 0 to disable this limit.|
306+
307+
```json
308+
"logging": {
309+
"file": {
310+
"ageLimitInDays": 7,
311+
"totalSizeLimitInMB": 128,
312+
"countLimit": 0,
313+
"individualSizeLimitInMB": 16,
314+
}
315+
},
316+
```
317+
289318
## Network
290319

291320
The `network` settings influence how winget uses the network to retrieve packages and metadata.
@@ -364,3 +393,13 @@ This feature enables support for fonts via `winget settings`. The `winget font l
364393
"fonts": true
365394
},
366395
```
396+
397+
### sourceEdit
398+
399+
This feature enables support for additional source command improvements via `winget settings`. The `winget source edit` command will become available with this feature.
400+
401+
```json
402+
"experimentalFeatures": {
403+
"sourceEdit": true
404+
},
405+
```

samples/MinimalCallers/C++/WinGet-InProc/WinGet-InProc.vcxproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@
3838
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
3939
<PropertyGroup Label="Configuration">
4040
<ConfigurationType>Application</ConfigurationType>
41-
<PlatformToolset>v143</PlatformToolset>
42-
<CharacterSet>Unicode</CharacterSet>
4341
</PropertyGroup>
4442
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
4543
<UseDebugLibraries>true</UseDebugLibraries>

samples/MinimalCallers/C++/WinGet-OutOfProc/WinGet-OutOfProc.vcxproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@
3838
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
3939
<PropertyGroup Label="Configuration">
4040
<ConfigurationType>Application</ConfigurationType>
41-
<PlatformToolset>v143</PlatformToolset>
42-
<CharacterSet>Unicode</CharacterSet>
4341
</PropertyGroup>
4442
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
4543
<UseDebugLibraries>true</UseDebugLibraries>

samples/WinGetUWPCaller/WinGetUWPCaller/WinGetUWPCaller.vcxproj

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@
4646
</ItemGroup>
4747
<PropertyGroup Label="Configuration">
4848
<ConfigurationType>Application</ConfigurationType>
49-
<PlatformToolset>v140</PlatformToolset>
50-
<PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
51-
<PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
52-
<PlatformToolset Condition="'$(VisualStudioVersion)' == '17.0'">v143</PlatformToolset>
53-
<CharacterSet>Unicode</CharacterSet>
5449
</PropertyGroup>
5550
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
5651
<UseDebugLibraries>true</UseDebugLibraries>

0 commit comments

Comments
 (0)