Announcing meteor-desktop

Hey, @msavin!
If you have some errors with the electron-builder you could check the issues on it’s own github repo https://github.com/electron-userland/electron-builder
As I see you can see on this line

remove /Users/maxDocuments/GitHub/color-app/.desktop-installer/mas/color.app/Contents/_CodeSignature/CodeResources: permission denied

you have a denied permission for removing files. First try to delete the desktop-installer folder by hands, if it works then the problem is with the permission of the system.
And change "com.apple.application-identifier": "ooo.corp.color" to "com.apple.application-identifier": "5584CR723U.ooo.corp.color"

Appreciate the quick response! I just tried it - changing com.apple.application-identifier lead the application to build successfully, but it would not run. There’s an “app quit unexpectedly” error. I also tried to install the .pkg file, it ran successfully but nothing was installed. :man_shrugging:

> meteor-desktop "build-installer" "https://server.colorapp.com" "--mac" "--build-meteor" "--meteor-settings" "settings.json"

METEOR-DESKTOP v2.0.0

package/build-installer implies setting --production, setting it for you
INFO  index:  initializing
INFO  electronApp:  scaffolding
VERBOSE  desktop:  checking .desktop existence
VERBOSE  meteorApp:  updating .meteor/.gitignore
VERBOSE  meteorApp:  desktopHCP is enabled, checking for required packages
VERBOSE  electronAppScaffold:  clearing desktop-build
VERBOSE  electronAppScaffold:  creating /Users/mac/Documents/GitHub/color-app/.meteor/desktop-build/app
VERBOSE  electronAppScaffold:  copying skeleton app
VERBOSE  electronAppScaffold:  writing package.json
VERBOSE  electronApp:  updating package.json fields
DEBUG  electronApp:  writing updated package.json
INFO  electronApp:  updating list of package.json's dependencies
DEBUG  electronApp:  merging settings.json[dependencies]
DEBUG  electronApp:  merging settings.json[plugins]
DEBUG  electronApp:  merging dependencies from modules
DEBUG  electronApp:  writing updated package.json
VERBOSE  electronApp:  calculating compatibility version
DEBUG  electronApp:  meteor-desktop compatibility version is  2
DEBUG  electronApp:  .desktop compatibility version is  1
INFO  electronApp:  clearing node_modules because this is a production build
INFO  electronApp:  issuing node_modules install from electron-builder
VERBOSE  electronApp:  rebuilding for x64
DEBUG  electronBuilder:  calling installOrRebuild from electron-builder for arch x64
  • installing production dependencies platform=darwin arch=x64 appDir=/Users/mac/Documents/GitHub/color-app/.meteor/desktop-build
INFO  electronApp:  packing skeleton app and node_modules to asar archive
VERBOSE  binaryModulesDetector:  detecting node modules with binary files
DEBUG  electronApp:  moving node_modules to app dir
DEBUG  electronApp:  packing
DEBUG  electronApp:  moving node_modules back from app dir
DEBUG  electronApp:  deleting source files
VERBOSE  electronApp:  copying .desktop to temporary location
DEBUG  electronApp:  updating settings.json fields
INFO  desktop:  calculating hash version from .desktop contents
VERBOSE  desktop:  calculated .desktop hash version is xxx
INFO  electronApp:  excluding files from packing
INFO  electronApp:  transpiling and uglifying
INFO  electronApp:  packing .desktop to asar
VERBOSE  electronApp:  clearing temporary .desktop
INFO  meteorApp:  checking for any mobile platform
DEBUG  meteorApp:  meteor version is >= 1.3.4.2 so the index.html will be downloaded from __cordova/index.html
INFO  meteorApp:  building meteor app
INFO  meteorApp:  running "meteor run --verbose --mobile-server=https://server.colorapp.com --production -p 3080 --settings settings.json"... this might take a while
INFO  meteorApp:  building in progress...
=> App running at: http://localhost:3080/DEBUG  meteorApp:  clearing build dir
INFO  meteorApp:  acquiring index.html
W20190702-08:35:59.065(-7)? (STDERR) 2.513.14 (`meteor add stylus@=2.513.14`).INFO  meteorApp:  successfully downloaded index.html from running meteor app
VERBOSE  meteorApp:  copying mobile build
INFO  meteorApp:  acquiring manifest.json
INFO  meteorApp:  successfully downloaded manifest.json from running meteor app
INFO  meteorApp:  mobile build copied to electron app
DEBUG  meteorApp:  copy cordova.js to meteor build
INFO  meteorApp:  injecting isDesktop
INFO  meteorApp:  injected successfully
INFO  meteorApp:  successfully updated ddp string in the runtime config of a mobile build to https://server.colorapp.com/
INFO  meteorApp:  packing meteor app to asar archive
VERBOSE  meteorApp:  clearing meteor app after packing
INFO  meteorApp:  meteor build finished
INFO  electronApp:  built
DEBUG  electronBuilder:  calling build from electron-builder
  • electron-builder version=20.28.4
  • writing effective config file=.desktop-installer/builder-effective-config.yaml
DEBUG  electronBuilder:  moving node_modules out, because we have them already in app.asar
mv /Users/mac/Documents/GitHub/color-app/.meteor/desktop-build/node_modules /Users/mac/Documents/GitHub/color-app/.meteor/.desktop_node_modules
  • packaging       platform=mas arch=x64 electron=2.0.10 appOutDir=.desktop-installer/mas
DEBUG  electronBuilder:  moving node_modules back
DEBUG  electronBuilder:  node_modules moved back
  • signing         file=.desktop-installer/mas/color.app identityName=3rd Party Mac Developer Application: Corp, Inc. (xxx) identityHash=xxx provisioningProfile=build/embedded.provisionprofile

The main thing that you can’t install the app store signed package version like it is, only from the app store connect.
So, how to create a local installer for the app? There are couple of ways:

  1. don’t sign the app:
    • clear the “CNC_LINK” variable;
    • change in the settings mac/type to development
  2. sign it with the Mac developer installer (didn’t test yet)
1 Like

I got as far as uploading the app to the App Store :smiley: However, it was rejected due to not running - Error Code 1 was the complaint.

Does anyone have any idea of what could be behind this? I’m really puzzled as it runs fine in development, and there have been no build issues either.

Jumping this train as well. The “meteor-desktop” seem to be the only (?) “working & proper” desktop builder, it would be great if MDG ever consider to integrate desktop environment next to cordova. It is also pity that current “meteor-desktop” supports only Electron v2 (whereas actual is v6) and seems to be abandoned (?).

2 Likes

Does anyone know how this will work with macOS Catalina? It looks like Electron-Builder is already having some bugs on the new update.

Yeah it would be great… I think Meteor already has many of the needed parts for this.

cc @benjamn :innocent:

2 Likes

Hey can anyone comment on how meteor-desktop is working with Meteor 2?

I haven’t made any changes yet, because for us (up until Electron 11) it has been working fine (as long as you set enableRemoteModule to true).

I guess it does according to @koenlav

1 Like

I’m using it with Meteor 2 and it’s working. It did break HCP initially tho because the major version change of Meteor (1.x to 2.x) made it think the build was incompatible w/the previous build. Releasing a major version change just for marketing purposes was a bit annoying from a tooling perspective since many things assume semver compatibility.

1 Like

Using it with Meteor 2.1 and it works fine. The problems are more on the Electron side where we currently can’t use the latest versions but work has just been kicked off as this package is now under the Meteor community.

1 Like

For those wondering, here’s what I’d been struggling to put out all this time :smiley:

There used to be an app in the 2000s called ColorSchemer that died off when the switch to 64-bit happened… I figured somebody needed to come in and fill that void :slight_smile:

9 Likes

Looking great! What tools did you use to build the app? I suppose it’s some cross platform solution, since you’ve got Windows support coming :slight_smile:

Thanks!

Blaze :slight_smile: everything else was custom built :stuck_out_tongue:

This is fantastic, great work!

1 Like