They say that this was fixed but it's still breaking on mine I have been working on it for so long and can't figure out what it is.

forge.config.ts

import type { ForgeConfig } from '@electron-forge/shared-types';
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
import { MakerZIP } from '@electron-forge/maker-zip';
import { MakerDeb } from '@electron-forge/maker-deb';
import { MakerRpm } from '@electron-forge/maker-rpm';
import { MakerWix } from '@electron-forge/maker-wix';
import { MakerDMG } from '@electron-forge/maker-dmg';
import { VitePlugin } from '@electron-forge/plugin-vite';
import path from 'path';

const config: ForgeConfig = {
  packagerConfig: {
    ignore: [
      /\.vite/,
      /\.out/,
      /vite\.renderer/,
      /vite\..*/,
      /README\.MD/,
      /package-lock\..*/,
      /project\.json/,
      /\.env.*/,
      /\.gitignore/,
      /\.browserslistrc/,
      /\.eslintrc\.json/,
      /forge.*/,
    ],
    name: 'name',
    executableName: 'executableName',
    icon: path.join(__dirname, 'assets', 'logo.icns'),
    appBundleId: 'bundleName',
    win32metadata: {
      CompanyName: 'CompanyName',
      FileDescription: 'FileDescription',
      OriginalFilename: 'OriginalFilename',
      ProductName: 'ProductName',
      InternalName: 'InternalName',
    },
    osxNotarize: {
      teamId: <teamId>,
      appleId: process.env.APPLE_USERNAME || '',
      appleIdPassword: process.env.APPLE_ID_PASSWORD || '',
    },
    osxSign: {
      identity: '<identity>',
    },
  },
  rebuildConfig: {},
  makers: [
    new MakerZIP({}, ['darwin', 'win32']),
    new MakerDMG(
      {
        background: path.join(__dirname, 'assets', 'dmg-background.png'),
        icon: path.join(__dirname, 'assets', 'logo.icns'),
        format: 'ULFO',
        iconSize: 80,
        contents: [
          {
            x: 152,
            y: 165,
            type: 'file',
            path: path,
            name: name,
          },
          { x: 388, y: 165, type: 'link', path: '/Applications', name: 'Applications' },
        ],
        additionalDMGOptions: {
          window: {
            size: { width: 540, height: 352 },
          },
        },
      },
      ['darwin']
    ),
    new MakerDeb(
      {
        options: {
          name: 'name',
          icon: path.join(__dirname, 'assets', 'logo.png'),
          productName: 'productName',
          bin: 'bin',
        },
      },
      ['linux']
    ),
    new MakerSquirrel(
      {
        name: 'name',
        exe: 'exe',
        certificateFile: path.join(__dirname, 'windows-certificate.pfx'),
        certificatePassword: process.env.SHELL_WINDOWS_CODESIGN_CERTIFICATE_PASSWORD || '',
        setupIcon: path.join(__dirname, 'assets', 'logo.ico'),
        setupExe: 'exe',
      },
      ['win32']
    ),

    new MakerWix(
      {
        language: 1033,
        manufacturer: '',
        icon: path.join(__dirname, 'assets', 'logo.png'),
      },
      []
    ),
    new MakerRpm(
      {
        options: {},
      },
      []
    ),
  ],
  plugins: [
    new VitePlugin({
      build: [
        {
          // `entry` is just an alias for `build.lib.entry` in the corresponding file of config`.
          entry: 'src/main.ts',
          config: 'vite.main.config.ts',
        },
        {
          entry: 'src/preload-main.ts',
          config: 'vite.preload.config.ts',
        },
        {
          entry: 'src/preload-alerts.ts',
          config: 'vite.preload.config.ts',
        },
      ],
      renderer: [
        {
          name: 'main_window',
          config: 'vite.renderer.config.ts',
        },
      ],
    }),
  ],
  publishers: [
    {
      name: '@electron-forge/publisher-electron-release-server',
      config: {
        baseUrl: process.env.VITE_MAIN_ERS_SERVER_URL ?? '',
        username: process.env.SHELL_ERS_USERNAME ?? '',
        password: process.env.SHELL_ERS_PASSWORD ?? '',
        flavor: process.env.VITE_MAIN_ERS_FLAVOR ?? 'stable',
      },
    },
  ],
};

export default config;

**Package.json**
{
  "name": "",
  "productName": "",
  "version": "0.0.34",
  "description": "",
  "main": "dist/main.js",
  "author": "W",
  "license": "MIT",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "test": "electron-forge import",
    "make-beta": "VITE_MAIN_ERS_FLAVOR=beta electron-forge make",
    "publish": "electron-forge publish && npm run sentry:sourcemaps",
    "publish-beta": "VITE_MAIN_ERS_FLAVOR=beta electron-forge publish && npm run sentry:sourcemaps",
    "sentry:sourcemaps": "sentry-cli sourcemaps inject --org weave-u5 --project electron-desktop-client ./dist && sentry-cli sourcemaps upload --org weave-u5 --project electron-desktop-client ./dist"
  },
  "devDependencies": {
    "@electron-forge/cli": "^7.1.0",
    "@electron-forge/maker-deb": "^7.1.0",
    "@electron-forge/maker-dmg": "^7.1.0",
    "@electron-forge/maker-rpm": "^7.1.0",
    "@electron-forge/maker-squirrel": "^7.1.0",
    "@electron-forge/maker-wix": "^7.1.0",
    "@electron-forge/maker-zip": "^7.1.0",
    "@electron-forge/plugin-vite": "^7.1.0",
    "@electron-forge/publisher-electron-release-server": "^7.1.0",
    "@electron-forge/shared-types": "^7.1.0",
    "@sentry/vite-plugin": "^2.9.0",
    "electron": "^27.1.0"
  },
  "dependencies": {
    "@doyensec/electronegativity": "^1.10.3",
    "@sentry/electron": "^4.14.0",
    "electron-squirrel-startup": "^1.0.0",
    "update-electron-app": "^2.0.1"
  }
}

Also I am using Electron Release Server

To be able to release flavors under stable and beta so that I can control the versions are end users are on.

Breaks on all Operating systems

0

There are 0 best solutions below