build: add Windows portable EXE packaging scripts
- scripts/build-icon.js — generates icon.png/ico/tray-icon.png from pure Node.js (no dependencies, zlib + PNG/ICO encoder) - scripts/fix-wincodeSign.js — pre-populates electron-builder winCodeSign cache by extracting the .7z while ignoring macOS symlinks (which fail on Windows without SeCreateSymbolicLink) - package.json: add fix-wincodeSign script, cross-env, electron-builder downgraded to v24 (stable portable target), CSC signing disabled Build: npm run build:win → dist-electron/SRT-Streamer-Portable-1.0.0.exe Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+31
-10
@@ -5,10 +5,12 @@
|
||||
"main": "electron/main.js",
|
||||
"scripts": {
|
||||
"dev": "concurrently \"vite\" \"wait-on http://localhost:5173 && electron .\"",
|
||||
"build": "vite build && electron-builder",
|
||||
"build:win": "vite build && electron-builder --win",
|
||||
"build:mac": "vite build && electron-builder --mac",
|
||||
"build:linux": "vite build && electron-builder --linux",
|
||||
"icon": "node scripts/build-icon.js",
|
||||
"build": "node scripts/build-icon.js && vite build && electron-builder",
|
||||
"fix-wincodeSign": "node scripts/fix-wincodeSign.js",
|
||||
"build:win": "node scripts/build-icon.js && vite build && node scripts/fix-wincodeSign.js && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --win portable",
|
||||
"build:mac": "node scripts/build-icon.js && vite build && electron-builder --mac",
|
||||
"build:linux": "node scripts/build-icon.js && vite build && electron-builder --linux",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -17,8 +19,9 @@
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
"concurrently": "^9.1.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"electron": "^33.4.0",
|
||||
"electron-builder": "^25.1.8",
|
||||
"electron-builder": "^24.13.3",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"vite": "^6.0.7",
|
||||
@@ -28,24 +31,42 @@
|
||||
"build": {
|
||||
"appId": "com.srtstreamer.app",
|
||||
"productName": "SRT Streamer",
|
||||
"copyright": "SRT Streamer",
|
||||
"directories": {
|
||||
"output": "dist-electron"
|
||||
"output": "dist-electron",
|
||||
"buildResources": "assets"
|
||||
},
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
"electron/**/*",
|
||||
"assets/**/*"
|
||||
"assets/**/*",
|
||||
"package.json"
|
||||
],
|
||||
"extraResources": [
|
||||
{
|
||||
"from": "ffmpeg-bin/",
|
||||
"to": "ffmpeg-bin/",
|
||||
"filter": ["**/*"]
|
||||
"filter": [
|
||||
"**/*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"asar": true,
|
||||
"win": {
|
||||
"target": "portable",
|
||||
"icon": "assets/icon.ico"
|
||||
"target": [
|
||||
{
|
||||
"target": "portable",
|
||||
"arch": [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
],
|
||||
"icon": "assets/icon.ico",
|
||||
"artifactName": "SRT-Streamer-Portable-${version}.exe",
|
||||
"requestedExecutionLevel": "asInvoker",
|
||||
"sign": null,
|
||||
"signingHashAlgorithms": null,
|
||||
"certificateFile": null
|
||||
},
|
||||
"mac": {
|
||||
"target": "dmg",
|
||||
|
||||
Reference in New Issue
Block a user