electron / forge

:electron: A complete tool for building and publishing Electron applications
https://electronforge.io
MIT License
6.47k stars 513 forks source link

Documentation for `name` property on Squirrel maker config is incorrect #3118

Open RandomEngy opened 1 year ago

RandomEngy commented 1 year ago

Pre-flight checklist

Electron Forge version

6.0.4

Electron version

22.0.0

Operating system

Windows 11 (22621.963)

Last known working Electron Forge version

No response

Expected behavior

The name config option for the Windows Squirrel maker is described accurately.

Actual behavior

This is the current description for name:

Windows Application Model ID (appId).

Defaults to the name field in your app's package.json file.

It looks like the AUMID actually gets set to com.squirrel.<makerConfigName>.<packageName> Where <makerConfigName> is the value given to the name property on the maker config, and <packageName> is the name field in package.json.

Steps to reproduce

Use the lnk-parser tool to check System.AppUserModel.ID on the shortcut generated by the Squirrel installer.

Additional information

No response

DevanceJ commented 6 months ago

The application name. If omitted, it will use the productName or name value from the nearest package.json.

On Windows particularly, the application User Model ID (AUMID) is derived from the application name. The AUMID format follows this pattern: com.squirrel.<makerConfigName>.<packageName>, where <makerConfigName> is the value given to the name property on the maker config, and <packageName> is the name field in package.json.

Regardless of source, characters in the Electron app name which are not allowed in all target platforms' filenames (e.g., /), will be replaced by hyphens (-).

Does this describe the name option in maker-squirrel more accurately?

RandomEngy commented 6 months ago

I think so. Though I've since migrated my project off of Electron, so I haven't checked lately.