Skip to content
DocumentationDocs
Docs navigation: WindowsDeployment

Windows

Deployment

Roll out TypeWhisper for Windows across your organization: for all users of a device or per user, with Intune packages, network hosts for allowlists, and microphone access.

On this page

Note

The machine-wide installer (MSI) and managed settings are available from TypeWhisper for Windows 1.2.

Overview

As an administrator, you decide:

  • how TypeWhisper is installed: once per device with the MSI, or per user with the setup;
  • how it is configured: license, models, cloud processing, downloads, updates, and startup through managed settings;
  • what it may reach: the network hosts below and the microphone.

Each Windows user keeps their own settings, models, and plugins in their profile. The policy key, in contrast, is device-wide and applies to every user.

Choose an installer

InstallerSuited for
TypeWhisper-win-x64.msiAll users of a device. Installs into C:\Program Files\TypeWhisper in the system context and is updated by your deployment. The right choice for shared devices.
TypeWhisper-win-x64-Setup.exeOne Windows user. Installs into %LocalAppData%\TypeWhisper in the user context and updates itself unless UpdateMode says otherwise.

Both files are attached to the latest stable release, each with a .sha256 file for verification:

powershell

Get-FileHash .\TypeWhisper-win-x64.msi -Algorithm SHA256

Important

Remove per-user installations from the devices before you roll out the MSI. Otherwise users see two entries with the same name, and the per-user installation keeps updating itself.

Machine-wide installer (MSI)

The MSI installs TypeWhisper once for all users of a device into C:\Program Files\TypeWhisper, or into the folder given in VELOPACK_INSTALLDIR. It adds Start menu and desktop shortcuts for all users and registers under the machine's uninstall key.

Like the setup, the MSI from GitHub is not code-signed. Application control policies that require a signature, such as App Control for Business or AppLocker, need an exception for it. Verify the file with its SHA-256 hash first.

Prerequisite: .NET 10 Runtime

The MSI needs the .NET 10 Runtime (x64). An interactive installation offers to install it; a silent installation does not. Deploy the runtime first, for example as an Intune dependency, which has to be a Win32 app itself. The installer is available at dotnet.microsoft.com.

powershell

.\dotnet-runtime-10.0.<patch>-win-x64.exe /install /quiet /norestart

# or
winget install Microsoft.DotNet.Runtime.10

Install and uninstall

powershell

# Install for all users
msiexec /i TypeWhisper-win-x64.msi /qn /norestart

# Install into another folder
msiexec /i TypeWhisper-win-x64.msi /qn /norestart VELOPACK_INSTALLDIR="D:\Apps\TypeWhisper"

# Uninstall with the product code of the installed version
msiexec /x '{<product code>}' /qn /norestart

The product code changes with every version. Read it from the MSI's ProductCode property, or on a device with the app installed from QuietUninstallString under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MSI:TypeWhisper. When you package the MSI for Intune, Intune fills in the uninstall command with the product code.

Updates

Your deployment updates a machine-wide installation. The app does not check for, download, or install app updates, shows “App updates are managed by your organization's deployment.” in Settings > Account & about, and locks the update channel. You don't need UpdateMode for this. If you set it anyway, keep it at 0 or 1: standard users cannot write to Program Files, so an installation started from the app under 2 fails. Plugin updates are not affected, because plugins live in the user's profile.

To upgrade, deploy the newer MSI the same way, for example through supersedence in Intune. It replaces the installed version in place. A Release Candidate sorts below the Stable release of the same version.

As an Intune Win32 app

ItemValue
PackageIntuneWinAppUtil.exe -c <folder> -s TypeWhisper-win-x64.msi -o <output>
Install commandmsiexec /i TypeWhisper-win-x64.msi /qn /norestart
Uninstall commandmsiexec /x {<product code>} /qn /norestart, filled in by Intune
Install behaviorSystem
Dependency.NET 10 Runtime (x64), packaged as its own Win32 app
Detection ruleRegistry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MSI:TypeWhisper, value DisplayVersion, version comparison “Greater than or equal to” the packaged version. Use “Equals” for a Release Candidate, whose version carries a suffix. Alternatively the file C:\Program Files\TypeWhisper\current\TypeWhisper.exe.
UpgradeDeploy the newer MSI the same way, for example through supersedence

Per-user installer

The setup installs TypeWhisper for the user who runs it: it writes to %LocalAppData%\TypeWhisper, registers under the user's uninstall key, and starts the app when it finishes.

powershell

# Install for the current user
.\TypeWhisper-win-x64-Setup.exe --silent

# Uninstall for the current user
& "$env:LOCALAPPDATA\TypeWhisper\Update.exe" --uninstall --silent

As an Intune Win32 app

ItemValue
PackageIntuneWinAppUtil.exe -c <folder> -s TypeWhisper-win-x64-Setup.exe -o <output>
Install commandTypeWhisper-win-x64-Setup.exe --silent
Uninstall commandpowershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& \"$env:LOCALAPPDATA\TypeWhisper\Update.exe\" --uninstall --silent". Intune does not expand environment variables in this field; PowerShell resolves the user's LocalAppData path.
Install behaviorUser
Detection ruleRegistry: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\TypeWhisper, value DisplayVersion, version comparison “Greater than or equal to” the packaged version. Alternatively the file %LocalAppData%\TypeWhisper\current\TypeWhisper.exe.
UpgradeDeploy the newer setup the same way; it upgrades in place and keeps the user's data

With UpdateMode 0 your organization owns updates: deploy new installers through the same tools. With 1 the app announces new versions in Settings > Account & about, without an install button. On shared devices, use the MSI, or let each Windows user run the setup once; your deployment tool can install it in the user's context.

Network hosts

TypeWhisper only makes outbound HTTPS connections and uses the Windows proxy settings, including WPAD and PAC scripts; there is no separate proxy configuration. The app itself contacts these hosts:

HostUsed for
api.polar.shActivation and validation of commercial license keys, including ManagedLicenseKey.
app.typewhisper.comPremium account sign-in and account status.
api.github.com, github.com, release-assets.githubusercontent.comApp update checks and downloads (unless UpdateMode is 0), plugin package downloads, and the model and runtime files that some local plugins download from GitHub releases (Qwen3 ASR 0.6B, Parakeet Ultra, the graphics card runtime of NVIDIA Parakeet, and the CrispASR runtime of Cohere Transcribe).
typewhisper.github.ioThe plugin catalog (plugins-v2.json).
huggingface.co, *.hf.coModel downloads of the local plugins: Parakeet (sherpa-onnx), dictionary boosting files, whisper.cpp, GigaAM, Qwen3 ASR 1.7B, Cohere Transcribe, Granite Speech, local text models, and local speech output. The host redirects to *.hf.co content hosts on several subdomain levels, such as us.aws.cdn.hf.co and cas-server.xethub.hf.co; the wildcard has to cover all of them.
www.python.org, raw.githubusercontent.com, pypi.org, files.pythonhosted.org, download.pytorch.org, download-r2.pytorch.orgThe Python runtime that Granite Speech installs with its model: embedded Python from www.python.org, the pip installer from raw.githubusercontent.com, Python packages from pypi.org and files.pythonhosted.org, and PyTorch from download.pytorch.org, which serves its files from download-r2.pytorch.org.
developer.download.nvidia.com, api.nuget.orgRuntime files that some local plugins fetch while they load a model (whisper.cpp with CUDA, ONNX runtimes). AllowModelDownloads does not cover them.
graph.microsoft.com, www.googleapis.comCalendar access for the meeting feature, only when a user connects a calendar.
www.typewhisper.comDocumentation links opened in the browser.

Cloud plugins contact their vendor. The table lists the hosts of the plugins in the catalog as of TypeWhisper for Windows 1.2. Plugins with the configurable locality reach whatever endpoint the user enters.

PluginHosts
AssemblyAIapi.assemblyai.com, cdn.assemblyai.com
Cerebrasapi.cerebras.ai
Claudeapi.anthropic.com
Cloudflare ASRapi.cloudflare.com
Cohereapi.cohere.com
Deepgramapi.deepgram.com
ElevenLabsapi.elevenlabs.io
Fireworksapi.fireworks.ai
Geminigenerativelanguage.googleapis.com
GitHub Copilotgithub.com and api.github.com for sign-in, and the Copilot service hosts under *.githubcopilot.com; GitHub's Copilot allowlist reference lists every host
Gladiaapi.gladia.io, files.gladia.io
Groqapi.groq.com
Linearapi.linear.app
Metaapi.meta.ai
OpenAIapi.openai.com; auth.openai.com and chatgpt.com for ChatGPT sign-in
OpenAI CompatibleThe configured endpoint
OpenRouteropenrouter.ai
Reson8api.reson8.dev
Smallest.aiapi.smallest.ai
Sonioxapi.soniox.com, api.eu.soniox.com, api.jp.soniox.com
Speechmaticseu1.asr.api.speechmatics.com, us1.asr.api.speechmatics.com
Voxtral (Mistral)api.mistral.ai
xAIapi.x.ai
Authenticated CLI, Webhook, ScriptThe command, CLI, or URL the user configures
Local plugins: Parakeet, whisper.cpp, local LLM, Gemma, Qwen, GigaAM, Cohere Transcribe, Granite Speech, Supertonic TTShuggingface.co and *.hf.co for most models, the GitHub hosts above for some; runtime hosts as above

Microphone and permissions

TypeWhisper is a desktop app. Windows does not ask for microphone access per desktop app, so there is nothing to pre-approve. The app can record as long as two switches in Settings > Privacy & security > Microphone are on (on Windows 10: Settings > Privacy > Microphone):

SwitchRegistry value
Microphone access (device)HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone, Value = Allow
Let desktop apps access your microphone (per user)HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone\NonPackaged, Value = Allow

The Group Policy “Let Windows apps access the microphone” (Computer Configuration > Administrative Templates > Windows Components > App Privacy) governs packaged (Store or MSIX) apps only. It applies to the Microsoft Store version of TypeWhisper, whose package family name goes into its “Force Allow” list, and not to the GitHub installers. If a user turns a switch off, TypeWhisper reports the missing microphone in its status and setup instead of failing silently.

To run, TypeWhisper needs no administrator rights, no driver, and no firewall exception: it only makes outbound connections, and the optional HTTP API listens on the loopback interface only.

Provide models and plugins

  • Models and plugins live in each user's profile. If you turn off AllowModelDownloads or AllowPluginDownloads, place the required packages and model files in the user's profile before the restriction applies. Never copy another user's settings, credentials, or DPAPI-protected data.
  • Some local plugins fetch runtime files while they load a model. AllowModelDownloads does not stop that; allow the runtime hosts from the table above or provide the files.
  • The policy is read before plugins and background work start. If it is present at the first launch, it applies right away.

Pilot checklist

Before the rollout, check on one or two managed devices:

  1. Install the .NET 10 Runtime and the MSI silently, then start TypeWhisper as a standard user.
  2. Import the Group Policy templates, set a few policies, and compare them with Settings > Advanced > Managed settings.
  3. Deploy ManagedLicenseKey and check Settings > Premium > License in a standard user's session. Restart twice and confirm that Polar shows no additional activations. Repeat with a second Windows user and with an offline first launch followed by Retry activation.
  4. Confirm microphone access and the models your setup needs, especially with downloads turned off.
  5. Upgrade with the next MSI and uninstall it again.
All managed settings

Stay close to TypeWhisper

Follow for release notes, workflow tips, and product updates while the app downloads.