Add ndOffice (NetDocuments) app support#47942
Conversation
Introduce ndOffice (NetDocuments) as a maintained app: add a winget input manifest (ee/maintained-apps/inputs/winget/ndoffice.json) and corresponding install/uninstall PowerShell scripts. The install script extracts the provided ZIP and runs the nested MSI via msiexec; the uninstall script locates the MSI product code from the registry and uninstalls silently. Add outputs: register the app in ee/maintained-apps/outputs/apps.json and add a platform-specific versions file with installer URL, sha256 and embedded script refs. Also add a frontend SVG/PNG icon component and image asset, and wire the icon into the SoftwarePage icon index mapping.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #47942 +/- ##
==========================================
- Coverage 67.24% 67.23% -0.01%
==========================================
Files 3652 3653 +1
Lines 230538 230540 +2
Branches 12129 11983 -146
==========================================
+ Hits 155014 155015 +1
- Misses 61607 61609 +2
+ Partials 13917 13916 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
The core issue: ndOffice is an Office add-in with two hard prerequisites — Microsoft Office and the VSTO Runtime — that the Fleet validator host (a clean machine) doesn't have. The MSI is designed to hard-abort without them. This is the same class of problem as a macOS pkg-only tool with no .app bundle: technically packageable, but it can't pass validation, and on any real host lacking Office the install is either blocked or pointless. |
Introduce ndOffice (NetDocuments) as a maintained app: add a winget input manifest (ee/maintained-apps/inputs/winget/ndoffice.json) and corresponding install/uninstall PowerShell scripts. The install script extracts the provided ZIP and runs the nested MSI via msiexec; the uninstall script locates the MSI product code from the registry and uninstalls silently.
Add outputs: register the app in ee/maintained-apps/outputs/apps.json and add a platform-specific versions file with installer URL, sha256 and embedded script refs. Also add a frontend SVG/PNG icon component and image asset, and wire the icon into the SoftwarePage icon index mapping.
Related issue: Resolves #46498
Checklist for submitter
If some of the following don't apply, delete the relevant line.
Changes file added for user-visible changes in
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information.
Input data is properly validated,
SELECT *is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters.Timeouts are implemented and retries are limited to avoid infinite loops
If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes
Testing
Added/updated automated tests
Where appropriate, automated tests simulate multiple hosts and test for host isolation (updates to one hosts's records do not affect another)
QA'd all new/changed functionality manually
For unreleased bug fixes in a release candidate, one of:
Database migrations
COLLATE utf8mb4_unicode_ci).New Fleet configuration settings
If you didn't check the box above, follow this checklist for GitOps-enabled settings:
fleetctl generate-gitopsfleetd/orbit/Fleet Desktop
runtime.GOOSis used as needed to isolate changes