StreamDeckToolkit icon indicating copy to clipboard operation
StreamDeckToolkit copied to clipboard

Distribution packaging fails due to `CodePathWin` `CodePathMac`

Open AlexHedley opened this issue 5 years ago • 3 comments

Describe the bug Following the guide for Exporting your plugin for distribution you get an error when packaging.

2 issues

  • ID must be lowercase (only matters in the cmd)
  • Missing CodePath in manifest

To Reproduce

Download the DistributionTool from the above page.

Run the command

                    DistributionTool                  Error: The plugin has an invalid unique identifier: [UUID]. The unique identifier must be a uniform type identifier (UTI) that contains only lowercase alphanumeric characters (a-z, 0-9), hyphen (-), and period (.). The string must be in reverse-DNS format.
C:\Users\[USER]\AppData\Roaming\Elgato\StreamDeck\Plugins>DistributionTool.exe -b -i [UUID] -o Release
                    DistributionTool                  using printf
                    DistributionTool                  Validating and exporting the plugin [UUID]
                    DistributionTool                  Error: The CodePath property is missing in the manifest.json file. Please add a valid "CodePath" property to the manifest.json.
                    DistributionTool                  Error: The plugin is invalid

Expected behavior The tool can output a .streamDeckPlugin for distribution from the Template.

Error Details Error: The CodePath property is missing in the manifest.json file. Please add a valid "CodePath" property to the manifest.json.

Screenshots N/A

Desktop (please complete the following information):

  • OS: [e.g. Windows 10]
  • Version [e.g. 22]

Additional context Fix for #144.


Adding an extra CodePath doesn't work if CodePathWin and CodePathMac still exist.

AlexHedley avatar Oct 03 '20 16:10 AlexHedley

From the manifest.json schema docs it looks like we SHOULD be able to have CodePath with CodePathMac and CodePathWin

csharpfritz avatar Oct 14 '20 12:10 csharpfritz

I thought I'd seen it somewhere, need to search docs better! Thanks for linking that.

So we need to add a default CodePath to the template since it's Required.

Template manifest.json

Members Type Description
CodePath Required The relative path to the HTML/binary file containing the code of the plugin.
CodePathMac Optional Override CodePath for macOS.
CodePathWin Optional Override CodePath for Window

I'll try a few variations with the DistTool.

AlexHedley avatar Oct 14 '20 15:10 AlexHedley

I also encountered this issue and it lead me to wonder : What would happen if you try to run the produced plugin on a computer that does not have the .Net Core Runtime installed ?

Maskime avatar Oct 26 '20 13:10 Maskime