Repository: electron-userland/electron-builder
File: packages/electron-builder-squirrel-windows/src/SquirrelWindowsTarget.ts (TypeScript)

Code before:
      log.warn("For windows consider only distributing 64-bit or use nsis target, see https://github.com/electron-userland/electron-builder/issues/359#issuecomment-214851130")
    }

    this.appDirectory = appOutDir
    this.outputDirectory = installerOutDir
    const distOptions = await this.computeEffectiveDistOptions()

    distOptions.vendorDirectory = await this.prepareSignedVendorDirectory()
    this.select7zipArch(distOptions.vendorDirectory, arch)
    distOptions.fixUpPaths = true
    distOptions.setupExe = setupFile
    if (this.options.msi) {
      distOptions.setupMsi = setupFile.replace(".exe", ".msi")
    }
    await createWindowsInstaller(distOptions)

    await packager.signAndEditResources(artifactPath, arch, installerOutDir)
    if (this.options.msi && process.platform === "win32") {
      await packager.sign(artifactPath.replace(".exe", ".msi"))
    }

    await packager.info.callArtifactBuildCompleted({
      file: artifactPath,
      target: this,
      arch,
      safeArtifactName: `${sanitizedName}-Setup-${version}${getArchSuffix(arch)}.exe`,
      packager: this.packager,
    })

    if (this.options.msi) {
      await packager.info.callArtifactBuildCompleted({
        file: artifactPath.replace(".exe", ".msi"),
        target: this,
        arch,
        safeArtifactName: `${sanitizedName}-Setup-${version}${getArchSuffix(arch)}.msi`,
        packager: this.packager,
      })
    }

    const packagePrefix = `${this.appName}-${convertVersion(version)}-`
    packager.info.dispatchArtifactCreated({
      file: path.join(installerOutDir, `${packagePrefix}full.nupkg`),
      target: this,
      arch,
      packager,
    })
    if (distOptions.remoteReleases != null) {
      packager.info.dispatchArtifactCreated({
        file: path.join(installerOutDir, `${packagePrefix}delta.nupkg`),
        target: this,
        arch,

Review comment (suggestion):
Just curious, what's the new functionality with the `msi` signing? I see that in a few places, like an additional signing step `L80-L82` and this `callArtifactBuildCompleted`

Code after:
    await createWindowsInstaller(distOptions)

    await packager.signAndEditResources(artifactPath, arch, installerOutDir)
    if (this.options.msi) {
      await packager.sign(msiArtifactPath)
    }

    const safeArtifactName = (ext: string) => `${sanitizedName}-Setup-${version}${getArchSuffix(arch)}.${ext}`

    await packager.info.callArtifactBuildCompleted({
      file: artifactPath,
      target: this,
      arch,
      safeArtifactName: safeArtifactName("exe"),
      packager: this.packager,
    })

    if (this.options.msi) {
      await packager.info.callArtifactBuildCompleted({
        file: msiArtifactPath,
        target: this,
        arch,
        safeArtifactName: safeArtifactName("msi"),
        packager: this.packager,
      })
    }

    const packagePrefix = `${this.appName}-${convertVersion(version)}-`
    packager.info.dispatchArtifactCreated({
      file: path.join(installerOutDir, `${packagePrefix}full.nupkg`),
      target: this,
      arch,
      packager,
    })
    if (distOptions.remoteReleases != null) {
      packager.info.dispatchArtifactCreated({
        file: path.join(installerOutDir, `${packagePrefix}delta.nupkg`),
        target: this,
        arch,
        packager,
      })
    }

    packager.info.dispatchArtifactCreated({
      file: path.join(installerOutDir, "RELEASES"),
      target: this,
      arch,
      packager,
    })
  }