bug(developer): Keyman Developer 17 fails to build when installed in a path with an ampersand
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Describe the bug
Keyman Developer 17 uses this ancient joke of a shell called command prompt, which fails at simple things like symbols in paths (ironic for a keyboard project heavy on symbols), so if you install it in a path containing `&` then building a keyboard invokes `kmc.cmd`, which uses command prompt and fails with a very helpful message of `The system cannot find the path specified.` without even indicating that its `kmc.cmd` that's at fault
### Reproduce the bug
1. Install Keyman Developer app on Windows in a path with `&`
2. Build any project
### Expected behavior
Just call node directly from the app, why do you need to shell out?
- No error
- More informative message
### Related issues
_No response_
### Keyman apps
- [ ] Keyman for Android
- [ ] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [ ] Keyman for Windows
- [X] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
17.0.326
### Operating system
Windows 10
### Device
Any
### Target application
Any
### Browser
Any
### Keyboard name
Any
### Keyboard version
Any
### Language name
Any
### Additional context
Quick googling on how to escape `&` lead to nothing, tried variable substitution with `set "escapedRoot=%root:&=^&%"` etc
But symlinking to a path without `&` and launching from there works
Contributor guide
Assessment
This issue has not been assessed yet.