# Download and install Meeting SDK for Electron > Documentation and Developer support is limited for the Meeting SDK Electron Wrapper. We recommend the Meeting SDK for macOS or Windows SDKs for most integrations. ## Prerequisites To get started, you need - **A Zoom Account**. If you do not have one, you can sign up at [https://zoom.us/signup](https://zoom.us/signup). - A device with the minimum or maximum versions of the macOS or Windows OS as specified in the Zoom Meeting macOS SDK [prerequisites](/docs/meeting-sdk/macos/) or the Zoom Meeting Windows SDK [prerequisites](/docs/meeting-sdk/windows/get-started/prerequisites/). See the links for details. ### Dependencies ```plaintext * @vue/cli-plugin-babel: ^4.5.15 * @vue/cli-plugin-router: ^4.5.15 * @vue/cli-plugin-vuex: ^4.5.15 * @vue/cli-service: ^4.5.15 * vue-cli-plugin-electron-builder: ^2.1.1 * vue: ^3.2.20 * vue-router: ^4.0.0-0 * vuex: ^4.0.0-0 * electron: ^19.0.0 * sass: ~1.32.6 * @electron/remote: ^2.0.7 * element-plus: ^2.1.7 * @element-plus/icons-vue: ^1.1.4 * core-js: ^3.6.5 * google-protobuf: ^3.19.4 * terser-webpack-plugin: ^2.3.5 ``` ## Download To access the SDK download files, you must be logged in to your Zoom App Marketplace developer account, and you need at least one app registered on the Zoom App Marketplace. If you **don't already have at least one registered app**, follow these steps to create an app and download the SDK files.
  1. Sign in to your developer account on the [Zoom App Marketplace](https://marketplace.zoom.us/?ampDeviceId=cf401538-835f-45ce-a7f1-1035e348c982&SessionId=1771892802618).
  2. Select **Develop > Build App > General app**, and then select **Create**.
  3. Go to **Features** and select **Embed**.
  4. On the **Embed** page, enable **Meeting SDK**.
  5. Under the **Meeting SDK** section, configure the settings as appropriate for your app.
  6. To download the SDK files, select the platform **Electron**. This page displays available SDK versions for the selected platform, along with links to their corresponding release notes.
  7. Finally, select the **Download** button.
If you **already have at least one registered app**, follow these steps to download the SDK files using your existing app.
  1. Sign in to your developer account on the [Zoom App Marketplace](https://marketplace.zoom.us/?ampDeviceId=cf401538-835f-45ce-a7f1-1035e348c982&SessionId=1771892802618).
  2. Select **Manage**, and open your SDK app.
  3. Go to **Features** and select **Embed**.
  4. On the **Embed** page, go to the **Meeting SDK** section.
  5. To download the SDK files, select the platform **Electron**. This page displays available SDK versions for the selected platform, along with links to their corresponding release notes.
  6. Finally, select the **Download** button.
## Structure of Zoom Electron SDK Sample App ```plaintext ├── [sdk] ├── [mac] -- Node file built by Zoom for mac ├── [win32] -- Node file built by Zoom for win 32-bit ├── [win64] -- Node file built by Zoom for win 64-bit ├── binding.gyp ├── package.json ├── tsconfig.json ├── vue.config.js -- use to config webpack and electon-builder ├── readme.txt / readme.md ├── [scripts] -- use to build node, run demo and build install package ├── [src] -- demo app ├── [public] -- html file └── [lib] -- js files and source code of Zoom Electron SDK ``` ## Install & Run the Sample App In the light of the rapid version iteration of the Electron framework, the requirements for building and running an Electron application keep changing, as a result, manual installation of the dependencies based on the Electron version is required to build and to run the sample app. Follow the instructions below to install the sample app on Windows or macOS. **Note**: If you have already installed the required environment and dependencies, you may skip the steps in **Install dependencies**. ## Windows ### Install dependencies 1. Install **node.js** version 18.0 or later. Find the installation packages at https://nodejs.org/en/. a. Install node.js. b. Use node with version 18 or above. 1. Install **Python**. Install the version best suited to the Electron version you're using. - Python 2.7 works with Electron 2 to Electron 9. - Python 3 works with Electron 4 and higher. - **Note:** Python 3.11 cannot build the node correctly. Use [Python 3.10](https://www.python.org/downloads/release/python-3100/) or lower. - Download the installation packages from https://www.python.org/downloads/. - Once you have installed Python, be sure to add it to your system path. 1. Install **protobuf**. a. Download the [protobuf 22.3.0 source file](https://github.com/protocolbuffers/protobuf/releases/tag/v22.3). Extract the archive and rename the `src` folder to `protobuf_src`. b. Download [abseil-cpp 20230802.1](https://github.com/abseil/abseil-cpp/tree/20230802.1). Extract and copy the `absl` folder into `protobuf_src`. c. Copy the `protobuf_src` folder into the folder `lib/node_add_on`. 1. Install the build environment, either **Visual Studio 2019 or later** or **Windows build tools**. We recommended **Visual Studio**. - Option 1: Install **Visual Studio**. - Install [Visual Studio from the Microsoft website](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16). - Option 2: Install **Windows build tools**. - Install Windows build tools from the command line: `npm install --global --production windows-build-tools` - Or [download the installer from the Microsoft website](https://www.microsoft.com/en-us/download/details.aspx?id=48159). ### Build & Run After successfully installed the above dependencies, build and run the sample app with this command: `npm run electron:serve` This runs `electron_sdk_install.js`, configures the project based on `package.json`, and install the required dependencies, including Electron. Once finished, the script launches the sample app. To install other versions of the Electron framework, edit the Electron framework version number in `package.json`. Note that the sample app currently does not support Electron 13 or below. ## macOS ### Install dependencies 1. Install **node.js**. - If you use ARM platform, use node with version 16 or above. - Find the installation packages at `https://nodejs.org/en/` - Or use the following command lines: ` ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)` `sudo brew install node` 1. Install Xcode 14 or above from the App Store - Or download from `https://developer.apple.com/download/more/` 1. Download the [protobuf 22.3.0 source file](https://github.com/protocolbuffers/protobuf/releases/tag/v22.3). Extract the archive and rename the `src` folder to `protobuf_src`. 1. Download [abseil-cpp 20230802.1](https://github.com/abseil/abseil-cpp/tree/20230802.1). Extract and copy the `absl` folder into `protobuf_src`. 1. Copy the `protobuf_src` folder into the folder `lib/node_add_on`. ### Build & Run After successfully installing the above dependencies, build and run the sample app with the following command: `npm run electron:serve` This runs `electron_sdk_install.js`, configures the project based on `package.json`, and installs the required dependencies, including Electron. Once finished, the script launches the sample app. If you get an error when running `npm install`, check the read-write permission of node_modules. If you would like to install other versions of the Electron framework, edit the Electron framework version number in `package.json`. Note that the sample app currently does not support Electron 13 or below. ## Generate and use an SDK JWT for authorization Follow the steps in [SDK Authorization](/docs/meeting-sdk/auth/) to generate an SDK JWT for authorization when starting or joining meetings or webinars. ## Create an installer and publish Follow [official documentation for packaging an Electron app](https://www.electronjs.org/docs/tutorial/application-distribution) and complete the following additional steps if creating an installer for Windows. 1. Run `cptinstall.exe -uninstall` with administrator privileges in the final stage of the installation (after all the related files of the wrapper are copied successfully). This is to ensure that some users who have installed the old package can use the share function normally. 2. When publishing your app to Windows, copy the following Microsoft runtime libraries to the `bin` and `bin/aomhost` directories: ``` concrt140.dll msvcp140.dll msvcp140_1.dll msvcp140_2.dll msvcp140_codecvt_ids.dll vccorlib140.dll vcruntime140.dll api-ms-win-core-console-l1-1-0.dll api-ms-win-core-console-l1-2-0.dll api-ms-win-core-datetime-l1-1-0.dll api-ms-win-core-debug-l1-1-0.dll api-ms-win-core-errorhandling-l1-1-0.dll api-ms-win-core-file-l1-1-0.dll api-ms-win-core-file-l1-2-0.dll api-ms-win-core-file-l2-1-0.dll api-ms-win-core-handle-l1-1-0.dll api-ms-win-core-heap-l1-1-0.dll api-ms-win-core-interlocked-l1-1-0.dll api-ms-win-core-libraryloader-l1-1-0.dll api-ms-win-core-localization-l1-2-0.dll api-ms-win-core-memory-l1-1-0.dll api-ms-win-core-namedpipe-l1-1-0.dll api-ms-win-core-processenvironment-l1-1-0.dll api-ms-win-core-processthreads-l1-1-0.dll api-ms-win-core-processthreads-l1-1-1.dll api-ms-win-core-profile-l1-1-0.dll api-ms-win-core-rtlsupport-l1-1-0.dll api-ms-win-core-string-l1-1-0.dll api-ms-win-core-synch-l1-1-0.dll api-ms-win-core-synch-l1-2-0.dll api-ms-win-core-sysinfo-l1-1-0.dll api-ms-win-core-timezone-l1-1-0.dll api-ms-win-core-util-l1-1-0.dll API-MS-Win-core-xstate-l2-1-0.dll api-ms-win-crt-conio-l1-1-0.dll api-ms-win-crt-convert-l1-1-0.dll api-ms-win-crt-environment-l1-1-0.dll api-ms-win-crt-filesystem-l1-1-0.dll api-ms-win-crt-heap-l1-1-0.dll api-ms-win-crt-locale-l1-1-0.dll api-ms-win-crt-math-l1-1-0.dll api-ms-win-crt-multibyte-l1-1-0.dll api-ms-win-crt-private-l1-1-0.dll api-ms-win-crt-process-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0.dll api-ms-win-crt-stdio-l1-1-0.dll api-ms-win-crt-string-l1-1-0.dll api-ms-win-crt-time-l1-1-0.dll api-ms-win-crt-utility-l1-1-0.dll ucrtbase.dll ``` ## Custom UI Legal Notice Design If you are using Custom UI, follow the [UI Legal Notices](/docs/meeting-sdk/ui-notices/) design guidance. ## Sign wrapper on macOS You may need to sign the Meeting SDK Electron Wrapper on macOS. Use the following command to sign your Electron Wrapper app on macOS: ```bash codesign --force --verify --verbose --entitlements runtime.entitlements --options runtime --sign "Developer ID Application: Name (ID)" (App path) ``` > **Note:** You MUST use runtime entitlement to sign your Electron Wrapper on MacOS, and the entitlement MUST include the permission to use "Audio Input" and "Camera", otherwise, the app will crash due to an Apple privacy violation.