psadt-deploy-skill 0.29.1 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -25
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -93,6 +93,10 @@ control plane.
|
|
|
93
93
|
|
|
94
94
|
- **Guided intake** — the blocker questions up front as clickable options, pre-filled with researched
|
|
95
95
|
defaults (app, latest version, installer type, package type).
|
|
96
|
+
- **Switch catalog before the web** — identifies the installer engine from the *binary* (byte signatures in
|
|
97
|
+
the PE overlay, resources and section table, not a filename guess) and serves that engine's documented
|
|
98
|
+
silent / uninstall / log / no-reboot switches from a catalog that ships with the skill. Offline, and it
|
|
99
|
+
reports every stage it checked including the misses. A candidate is still a claim until a run proves it.
|
|
96
100
|
- **Autonomous research** — checks the installed PSADT version against the latest release *and* whether
|
|
97
101
|
commands changed; researches silent install / uninstall / repair switches and known Intune pitfalls.
|
|
98
102
|
- **All three deployment types from the start** — Install, Uninstall *and* Repair, acid-tested, so
|
|
@@ -345,9 +349,10 @@ psadt-deploy/
|
|
|
345
349
|
│ ├─ README.md the reference map (label -> file)
|
|
346
350
|
│ ├─ phases-0-6.md · phases-7-12.md the twelve phases
|
|
347
351
|
│ ├─ appendix-a-errors.md … -q-drivers.md one file per appendix
|
|
352
|
+
│ ├─ switch-catalog/ engine defaults + JSON schema (App. L.0)
|
|
348
353
|
│ ├─ Report-Template.html the fixed dossier template
|
|
349
354
|
│ └─ app-registration.md THE Graph permission matrix + manual portal route
|
|
350
|
-
└─ tests/ Pester suite,
|
|
355
|
+
└─ tests/ Pester suite, 552 tests
|
|
351
356
|
```
|
|
352
357
|
|
|
353
358
|
Machine-local state lives outside the skill folder:
|
|
@@ -429,27 +434,44 @@ The two most recent releases are below. **[CHANGELOG.md](CHANGELOG.md)** carries
|
|
|
429
434
|
every release since 0.1.0, and nothing is ever removed from it - this section is a window onto it, not a
|
|
430
435
|
second copy to keep in sync.
|
|
431
436
|
|
|
432
|
-
### 0.
|
|
433
|
-
- **Fixed:
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
- **Fixed:
|
|
443
|
-
|
|
444
|
-
- **
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
- **
|
|
448
|
-
|
|
449
|
-
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
437
|
+
### 0.30.1 - 2026-09-14
|
|
438
|
+
- **Fixed: a scheduled task will not start on battery.** `schtasks /Create` defaults
|
|
439
|
+
`DisallowStartIfOnBatteries` and `StopIfGoingOnBatteries` to TRUE, so on an unplugged laptop the task is
|
|
440
|
+
created, `/Run` returns 0, and it then sits at status **Queued** forever. Every action reported a bare
|
|
441
|
+
timeout that named no cause, and the failure followed the POWER CABLE rather than the package. The task
|
|
442
|
+
is registered from XML now, which also drops the 72-hour execution limit `/Create` imposes.
|
|
443
|
+
- **Fixed: a leftover `WindowsSandboxServer` silently broke every later run** (Windows-Sandbox#124). The
|
|
444
|
+
next sandbox came up and its scheduled tasks never executed, so a different pre-check timed out each
|
|
445
|
+
time and it read as flakiness. Broker-without-VM is now cleared at start instead of being reported as
|
|
446
|
+
"a sandbox is already running", which it is not.
|
|
447
|
+
- **Fixed: the timeout diagnostics answered their own cleanup** - they ran after the task was deleted and
|
|
448
|
+
read the process table through WMI, which is broken in the guest until GuestPrepare repairs it.
|
|
449
|
+
- **Added: an ARP dump whenever detection contradicts the action**, covering both HKLM views and every
|
|
450
|
+
`HKEY_USERS` subtree. It found the trap below in a single run. The progress window now also lists what
|
|
451
|
+
has already passed, with a tick per completed step.
|
|
452
|
+
- **Note: an EXE installer that can install per-user must be forced to per-machine** (App. L.7, BINDING).
|
|
453
|
+
Greenshot 1.3.315 without `/ALLUSERS` installed into the SYSTEM profile and registered under
|
|
454
|
+
`HKEY_USERS\S-1-5-18`; install, uninstall, reinstall and repair all returned exit 0 while an HKLM
|
|
455
|
+
detection rule correctly said "absent". With `/ALLUSERS` the full gate is GREEN. Suite 551 -> 552.
|
|
456
|
+
### 0.30.0 - 2026-09-14
|
|
457
|
+
- **Fixed: the sandbox could not test a heavy package - and it was never the package.** Smart App Control
|
|
458
|
+
is enabled in the Windows Sandbox base image while Defender is disabled, so `wintrust` asks the disabled
|
|
459
|
+
Defender to rate every signed file and waits ~2 minutes per package. A bootstrapper chaining a dozen MSIs
|
|
460
|
+
took 30+ minutes and looked like a hang, three times. Two lines in the guest remove it: the same run then
|
|
461
|
+
finished in **5.7 minutes with exit 0**. This also corrects the ADK lesson in Appendix G, which blamed
|
|
462
|
+
Defender scanning - Defender was switched off the whole time.
|
|
463
|
+
- **Fixed: nothing was visible inside the sandbox.** On this Sandbox build the `LogonCommand` process gets
|
|
464
|
+
no console window, so the 0.29.0 heartbeat went to a file nobody could see. There is now a top-most
|
|
465
|
+
progress window in the guest, the host mirrors it, and the runner measures whether a console exists at
|
|
466
|
+
all. Runs are cancellable with `STOP.txt` (guest shuts itself down in 5 s, no orphaned VM worker), a
|
|
467
|
+
failed VM start is no longer reported as "the VM was closed", and a timed-out action captures the guest's
|
|
468
|
+
process table and vendor logs before the VM is discarded.
|
|
469
|
+
- **Added: `Get-PsadtInstallerEngine.ps1`** - identifies the installer engine from the binary. A definitive
|
|
470
|
+
marker always beats a hint, so an install4j installer carrying NSIS branding no longer gets `/S`, which
|
|
471
|
+
hangs on its language dialog forever. Reports marker, byte offset and region; an unrecognised file
|
|
472
|
+
returns `unknown`, never a guess.
|
|
473
|
+
- **Added: `Get-PsadtSwitchCandidates.ps1` + `references/switch-catalog/`** - ranked switch candidates from
|
|
474
|
+
19 engine defaults, offline, before the first web query, with a reason for every miss. It is an ENGINE
|
|
475
|
+
catalog, not an application catalog, and **winget stays opt-in** including as a research source.
|
|
476
|
+
- **Faster:** staging 481 MB into the guest via `robocopy /MT` (3.6 s to 0.6 s), `-Scenarios` for partial
|
|
477
|
+
iteration runs, per-action timeout default 900 s to 600 s. Suite 503 -> 551.
|