Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81bd495af9 | ||
|
|
b41bab4285 | ||
|
|
b603f4d39c | ||
|
|
526c40403b | ||
|
|
7fc0602818 | ||
|
|
3039562e91 | ||
|
|
91208323ab |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dist/
|
||||||
13
README.md
13
README.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Windows self-service software catalog backed by `winget`.
|
Windows self-service software catalog backed by `winget`.
|
||||||
|
|
||||||
Users install approved software through a small GUI or request helper. A SYSTEM scheduled task runs a named-pipe daemon, authenticates the connecting Windows user, validates requests against Group Policy, then queues work for a SYSTEM `winget` worker.
|
Users install approved software through a small GUI or request helper. User tools write request files to a controlled drop directory. A SYSTEM scheduled task validates those requests against Group Policy, queues approved work, then runs a SYSTEM `winget` worker.
|
||||||
|
|
||||||
## What It Does
|
## What It Does
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@ Users install approved software through a small GUI or request helper. A SYSTEM
|
|||||||
- Shows current queue task and progress in the GUI.
|
- Shows current queue task and progress in the GUI.
|
||||||
- Runs `winget upgrade --all` every 2 hours.
|
- Runs `winget upgrade --all` every 2 hours.
|
||||||
- Tracks installed state from `winget export`, not from request history.
|
- Tracks installed state from `winget export`, not from request history.
|
||||||
|
- Polls user request files every minute; no long-lived user-facing daemon is required.
|
||||||
|
|
||||||
## Policy
|
## Policy
|
||||||
|
|
||||||
@@ -71,8 +72,16 @@ Generated files are written to:
|
|||||||
C:\ProgramData\__Softwarekatalog\
|
C:\ProgramData\__Softwarekatalog\
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Runtime request files are written below:
|
||||||
|
|
||||||
|
```text
|
||||||
|
C:\ProgramData\__Softwarekatalog\Requests\
|
||||||
|
C:\ProgramData\__Softwarekatalog\Processed\
|
||||||
|
C:\ProgramData\__Softwarekatalog\Failed\
|
||||||
|
```
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Requires Windows, Desktop App Installer, and `winget`.
|
- Requires Windows, Desktop App Installer, and `winget`.
|
||||||
- The daemon runs as `LocalSystem`; keep catalog policy restricted to trusted admins.
|
- SYSTEM scheduled tasks validate and execute requests; keep catalog policy restricted to trusted admins.
|
||||||
- Package IDs and silent machine-scope support depend on upstream `winget` packages.
|
- Package IDs and silent machine-scope support depend on upstream `winget` packages.
|
||||||
|
|||||||
35
dist/setup.ps1
vendored
35
dist/setup.ps1
vendored
File diff suppressed because one or more lines are too long
@@ -17,7 +17,7 @@ cat > "$out" <<EOF
|
|||||||
# ASCII-only bootstrap generated from setup.ps1. Do not edit.
|
# ASCII-only bootstrap generated from setup.ps1. Do not edit.
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
param(
|
param(
|
||||||
[ValidateSet('Install','Daemon','UpgradeAll','ApplyPolicy','ProcessQueue','ProcessRequest')]
|
[ValidateSet('Install','UpgradeAll','ApplyPolicy','ProcessQueue','ProcessRequest','ProcessRequests')]
|
||||||
[string]\$Mode = 'Install',
|
[string]\$Mode = 'Install',
|
||||||
[ValidateSet('Install','Uninstall')]
|
[ValidateSet('Install','Uninstall')]
|
||||||
[string]\$RequestAction = 'Install',
|
[string]\$RequestAction = 'Install',
|
||||||
|
|||||||
Reference in New Issue
Block a user