IT Administrator Guide
Table Branding Manager — Import-only edition
Your organization has licensed the Import-only edition of Table Branding Manager for your users. This edition lets people apply table styles that your organization has already designed — it has no design surface, so there is nothing for an end user to configure or get wrong on that front. When a user runs into a problem, the app tells them to contact you rather than KeyScript directly (Support → "Check Help first" / "For anything else, contact your IT administrator"), so this guide is written for you as their first line of support.
Quick orientation: most day-to-day questions come down to one of four things, each covered further down this page:
System requirements
- Windows 10 version 1809 (build 10.0.17763) or later, or Windows 11 — 64-bit only.
- No Microsoft Office installation is required for the app itself to run, but naturally your users need Word, PowerPoint, and/or Excel installed to open the files they're applying styles to.
- The app is fully self-contained (its own .NET and Windows App SDK runtime are bundled in the installer) — there are no separate prerequisites to stage or verify on target machines.
Installing
The app ships as a per-machine MSI installer and installs to
Program Files\KeyScript\Table Branding Manager\. A normal interactive
install is just running the MSI, but for a managed rollout (Intune, SCCM, or any other
deployment tool that wraps msiexec), a standard silent install works — if you're
also using deployment.json (below), read "Packaging for Intune" first, since
Intune's app format needs one extra step to carry that file along:
msiexec /i TableBrandingManager_x64.msi /quiet /norestart
Run this elevated (or via a deployment tool that already runs as System) — the installer writes to Program Files and needs an elevated context.
Browser warns that the download is unfamiliar or dangerous? Chrome (and Windows SmartScreen, when the MSI is run) can show a warning like "this file isn't downloaded often" for a newly-published installer. This is a file-reputation check based on how many people have already downloaded that exact file — not a sign anything is actually wrong with it. The installer is code-signed; reputation simply takes time to build after each release as more people download it. It's safe to proceed past the warning (in Chrome: expand it and choose "Download anyway" / "Keep").
Pre-configuring the license and style folder (silent deployment)
Both the license activation and the folder the app browses for table styles can be set up once,
silently, for every machine — end users never need to configure anything themselves. Place a
file named TableBrandingManager.deployment.json next to the MSI installer
before running it:
{
"licenseKey": "your organization's license key",
"defaultStyleFolder": "%OneDriveCommercial%/KeyScript/TBM Styles"
}
- Both fields are optional — set whichever you need.
defaultStyleFoldercan use Windows environment variables (such as%OneDriveCommercial%or%USERNAME%). These are resolved on each user's own machine the first time they open the app, not during installation — so onedeployment.jsonworks correctly across every user even when the actual synced path differs per person. If that folder doesn't exist yet on first launch (for example, OneDrive is still syncing), the app simply tries again the next time it starts — no action needed from you.- Use forward slashes as shown above (a backslash needs escaping in JSON, and Windows accepts either slash direction in a path).
- Neither setting is ever overwritten once applied — if a machine already has a license activated or a style folder set (from an earlier install, or because a user entered one manually), this file has no effect there. It only fills in what's still empty.
If you'd rather not manage a JSON file — for example, from a simple wrapper script or a custom
launcher shortcut — both settings can instead be supplied as command-line arguments on launch:
--license-key=<key> and --style-folder=<path>. Either can
also be supplied through a plain file instead of an argument: license.key and
default-style-folder.txt respectively, both placed in the install folder (this is
exactly what deployment.json itself gets turned into during installation — see
above). A command-line argument is checked before a value already set on disk.
Which route should I use? For a normal rollout where users open the app from
its Start Menu shortcut, deployment.json (above) is simpler — it's applied once,
automatically, during installation, regardless of how the app is launched afterward. Reach
for the command-line arguments only if you already control the launch command itself, for
example a custom shortcut or wrapper script that starts
TableBrandingManager.exe --style-folder=... directly.
Packaging for Intune (Win32 app)
"Next to the MSI" means literally that: the file must be sitting in the same folder the MSI is
launched from when it runs. Intune's Win32 app format doesn't upload a bare MSI — it bundles an
entire source folder into a single .intunewin package, and only what you put in
that source folder is there when the install command runs. If you upload just the MSI (for
example, via Intune's "Line-of-business app" type, which only accepts a single MSI file),
deployment.json is never in the picture and the app installs normally but with no
pre-configured license or style folder — this fails silently, with nothing to indicate the file
was expected but missing.
- Create a source folder and place both
TableBrandingManager_x64.msiandTableBrandingManager.deployment.jsonin it, side by side. - Package that folder with Microsoft's Win32 Content Prep Tool
(
IntuneWinAppUtil.exe):
This produces oneIntuneWinAppUtil.exe -c "<source folder>" -s "TableBrandingManager_x64.msi" -o "<output folder>".intunewinfile containing both files. - In the Intune admin center, add it as a Win32 app (not a Line-of-business
app), uploading that
.intunewinfile. - Install command: the same
msiexec /i "TableBrandingManager_x64.msi" /quiet /norestartas above. Intune extracts the whole package to its own working directory before running this command, sodeployment.jsonends up sitting right next to the MSI exactly as the app expects — no path needs to reference it explicitly.
SCCM/Configuration Manager doesn't need this extra bundling step — a normal application source folder already keeps every file it contains together and copies them as a set, so placing both files in the same package source folder is enough; the install command line is unchanged.
Updating
When a newer version is available, the app shows a notice reading "Contact your IT administrator to update" instead of a download link — this edition deliberately never offers end users a direct install action. When you're notified of a new release (or a user reports the update notice), get the latest installer yourself from the downloads page — no need to contact KeyScript for it — and deploy it the same way as the original install; the installer safely replaces the existing installation in place (rebuilding at the same version number is also safe; it will not create a duplicate entry in Programs & Features).
Licensing and seats
Import-only licenses are pooled per organization rather than tied one-to-one to a machine. Your purchased seat count includes a small automatic buffer (up to 10%, capped at 5 extra seats) specifically to absorb normal hardware replacement — a machine retired and a new one activated in its place doesn't require any action from you, and an old, unused machine record is automatically freed after a period of inactivity.
You only need to get involved when:
- A hardware refresh happens faster than normal — many machines replaced in a short window can temporarily exceed the buffer. If users start reporting activation failures during a rollout like this, contact KeyScript to have the seat limit temporarily raised for the duration.
- Your organization is growing and consistently needs more seats than purchased — this should go through your normal renewal/top-up conversation with KeyScript rather than being treated as a one-off exception.
Where things live
| What | Location |
|---|---|
| Application install folder | %ProgramFiles%\KeyScript\Table Branding Manager\ |
| Table style folder (per user) | Wherever deployment.json's defaultStyleFolder pointed, or wherever the user has set it themselves in Preferences |
| Log files (per user) | %localappdata%\KeyScript\TableBrandingManager\Logs\ |
| Application settings (per user) | HKEY_CURRENT_USER\Software\KeyScript\TableStyleEditor |
The log folder is the most useful of these for troubleshooting — it's a plain, append-only text file (JSON per line), readable in any text editor, and the app itself has an "Open log folder" button on its crash dialog if a user hits an unexpected error.
Troubleshooting
"Not activated" / no styles can be applied
The machine hasn't successfully activated a license. Confirm the correct license key was
supplied (via deployment.json, the command-line argument, or the
license.key file — see "Installing" above), and that the machine has had internet
access at least once since install. A user can also enter the key manually from inside the app:
the info (ⓘ) icon in the toolbar → Manage License….
"Reconnect to verify your license"
The app validates the license online at every startup when possible, but keeps working offline for up to 7 days on the last successful check. This message means that grace period has run out — the machine needs a working internet connection again, at least briefly, so the app can re-validate.
"I can't find my organization's style"
The import browser only shows .ksstyle files found in the configured style folder
(see "Where things live" above). Check that:
- the folder actually contains the
.ksstylefile(s) your organization has published; - if the folder lives on OneDrive or another synced location, that it has actually finished syncing to that machine;
- the user hasn't previously pointed their own folder setting at somewhere else (Preferences
→ "Default folder for your table style files") —
deployment.jsononly sets this once, on a machine where it was still empty, and never overrides a value that's already there.
The app won't start, or crashed
Ask the user to reopen the app once more — if it crashes again, its crash dialog offers Copy details and Open log folder buttons. Either of those, or the raw log file itself (see "Where things live"), is exactly what KeyScript support will need if you have to escalate.
The applied style doesn't look the way you expected
Word, PowerPoint, and Excel each support somewhat different table style features, so a style that looks right in one may not carry over perfectly to another — this is usually expected behavior, not a bug. Check the General limitations help page first; it lists the known, per-application differences (for example, cell padding has no equivalent in PowerPoint, and gradient or pattern fills aren't supported at all).
If that doesn't explain what the user is seeing, submit a support request to KeyScript with:
- a clear description of what was found and what was expected instead;
- the
.ksstylefile being applied; - a representative Word, PowerPoint, or Excel file showing the issue.
Escalating to KeyScript
If something in this guide doesn't resolve the issue, contact support@keyscript.nl. To help resolve it quickly, please include:
- the app version (info (ⓘ) icon → About…);
- what the status bar shows for edition/activation state (bottom-right corner of the app window);
- if relevant, the log file or crash details described above —
%localappdata%\KeyScript\TableBrandingManager\Logs\on the user's own machine.