# installed-win-apps

> Get the paths of installed programs on Windows

Latest version **1.1.7** (published 2025-08-11) · ISC license · 0 weekly downloads

## Install

```sh
npm install installed-win-apps
pnpm add installed-win-apps
yarn add installed-win-apps
bun add installed-win-apps
```

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.7 |
| Published | 2025-08-11 |
| First published | 2020-10-17 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 12.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Dallas Cao |
| Maintainers | dallascao |
| Keywords | Windows, installed, software, apps, programs, wps |

## Links

- npm: https://www.npmjs.com/package/installed-win-apps
- Repository: https://github.com/dallascao/installed-win-apps
- Issues: https://github.com/dallascao/installed-win-apps/issues
- npm.io page: https://npm.io/package/installed-win-apps

## Dependencies (9)

- [ow](https://npm.io/package/ow.md) ^0.18.0
- [execa](https://npm.io/package/execa.md) ^4.1.0
- [iconv-lite](https://npm.io/package/iconv-lite.md) ^0.6.3
- [is-windows](https://npm.io/package/is-windows.md) ^1.0.2
- [win-codepage](https://npm.io/package/win-codepage.md) ^1.0.0
- [command-exists](https://npm.io/package/command-exists.md) ^1.2.9
- [win-lnk-parser](https://npm.io/package/win-lnk-parser.md) ^1.1.2
- [@sindresorhus/is](https://npm.io/package/@sindresorhus/is.md) ^4.6.0
- [list-files-in-dir](https://npm.io/package/list-files-in-dir.md) ^0.1.5

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.1.7 (latest) — 2025-08-11
- 1.1.6 — 2023-10-25
- 1.1.5 — 2023-10-25
- 1.1.4 — 2022-05-19
- 1.1.3 — 2022-05-18
- 1.1.2 — 2022-05-16
- 1.1.1 — 2022-05-16
- 1.0.12 — 2020-11-16
- 1.0.10 — 2020-11-16
- 1.0.9 — 2020-11-16
- 1.0.8 — 2020-10-27
- 1.0.7 — 2020-10-27
- 1.0.6 — 2020-10-27
- 1.0.5 — 2020-10-17
- 1.0.2 — 2020-10-17
- … 1 more at https://npm.io/package/installed-win-apps/versions

## README

## installed-win-apps

returns the paths of all installed apps on Windows

**Update 1.1.7**: Fixed: Ignore lnk folders in start menu which I do not have permission to read.

**Update 1.1.6**: Fixed: output incorrect targets when running 32bit node on 64 bit Windows

**Update 1.1.4**: Added: output lnk files only and do not extract targets. It's much faster way to check if an app is installed.

**Update 1.1.3**: Bug fixed: not working when script path includes spaces. (a bug with npm win-lnk-parser)

**Update 1.1.1**: You can filter installed paths by passing a keyword as argument

**Update 1.0.8**: Fixed a bug with win-codepage module as it won't work on non-English Windows

**Why**: I could not use the existing modules to get the path of certain programs like WPS

**How**: Read start menu folders recursively for shortcut files (.lnk) and get the path information.

**Who am I**: Developer of GT4T [gt4t.net](https://gt4t.net), a file translator app that translates Office, Markdown, PDF, HTML files in batches. No file upload needed.

## installation
```
npm i installed-win-apps
```

## Usage
```
    const installedPaths = require ('installed-win-apps');

    installedPaths.getAllPaths().then (paths=>{
        console.log(paths)   //paths is an array that contains the paths of all installed apps. e.g. [{lnk: "file file path.lnk", target: "target exe path.exe"}]
    })

    //Check if Microsoft Word is installed; returns an array if found and false if not found;
    installedPaths.getAllPaths("Microsoft Word").then (paths=>{
        console.log(paths)   //paths is an array that contains the paths of all installed apps with name containing "Microsoft Word". e.g. [{lnk: "file file path.lnk", target: "target exe path.exe"}]
    })


    installedPaths.getAllPaths("no such an app!").then (paths=>{
        console.log(paths)   //false
    })
    
    installedPaths.getAllPaths("Microsoft Word", true).then (paths=>{
        // Second parameter true means prints out lnk files only and do not extract target for faster performance 
        console.log(paths)   //paths is an array that contains the paths of all installed apps with name containing "Microsoft Word". e.g. [{lnk: "file file path.lnk", target: ""}]
    })

```

## Functions

`async getAllPaths(keyword = "", lnkOnly=false)`

* @param {String} keyword @default {empty string}: Filter for an application. Print out all applications when left empty. 
* @param {Boolean} lnkOnly  @default {false}: Print out lnk files only. Do not extract targets. Fast way to find out if an application is installed.
* @returns {Array} Array of objects {lnk: "", target: ""} . e.g. [{lnk: "PATH/myapp.lnk", target: "PATH/myapp.exe"},{lnk: "PATH/yourapp.lnk", target: "PATH/yourapp.exe"}]



## Caveats
- Implementation only currently supports Windows systems

---
_Source: https://npm.io/package/installed-win-apps · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
