2017-05-15 4 views
1

전자 응용 프로그램이 있으며이를 위해 Windows Installer를 만들기 위해 Mac에서 작업하고 있습니다.전자로 다람쥐 이벤트를 통해 바탕 화면 바로 가기 만들기

지금은 /installers 디렉토리와 모든 Squirrel 이벤트를 처리하는 setupEvents.js 파일이 있습니다. 예상대로이 바탕 화면에 추가 제목 "전자"가되는 바로 가기 아이콘을 제외하고, 작동, 지금까지

import { app } from 'electron'; 
module.exports = { 
    handleSquirrelEvent: function() { 
    if (process.argv.length === 1) { 
     return false; 
    } 

    const ChildProcess = require('child_process'); 
    const path = require('path'); 

    const appFolder = path.resolve(process.execPath, '..'); 
    const rootAtomFolder = path.resolve(appFolder, '..'); 
    const updateDotExe = path.resolve(path.join(rootAtomFolder, 'Update.exe')); 
    const exeName = path.basename(process.execPath); 
    const spawn = function(command, args) { 
     let spawnedProcess, error; 

     try { 
     spawnedProcess = ChildProcess.spawn(command, args, {detached: true}); 
     } catch (error) {} 

     return spawnedProcess; 
    }; 

    const spawnUpdate = function(args) { 
     return spawn(updateDotExe, args); 
    }; 

    const squirrelEvent = process.argv[1]; 
    switch (squirrelEvent) { 
     case '--squirrel-install': 
     case '--squirrel-updated': 
     // Optionally do things such as: 
     // - Add your .exe to the PATH 
     // - Write to the registry for things like file associations and 
     // explorer context menus 

     // Install desktop and start menu shortcuts 
     spawnUpdate(['--createShortcut', exeName]); 

     setTimeout(app.quit, 1000); 
     return true; 

     case '--squirrel-uninstall': 
     // Undo anything you did in the --squirrel-install and 
     // --squirrel-updated handlers 

     // Remove desktop and start menu shortcuts 
     spawnUpdate(['--removeShortcut', exeName]); 

     setTimeout(app.quit, 1000); 
     return true; 

     case '--squirrel-obsolete': 
     // This is called on the outgoing version of your app before 
     // we update to the new version - it's the opposite of 
     // --squirrel-updated 

     app.quit(); 
     return true; 
    } 
    } 
} 

, 나는 것을 변경하는 방법을 잘 모르겠어요 : 그것의 대부분은 Windows installer documentation에서입니다 . 내 package.json는의 이름과 제품 이름이 있습니다

{ 
    "name": "my app", 
    "description": "my app description", 
    "productName": "my app", 
    "appCopyright": "me", 
    "appCategoryType": "Productivity", 
... 

을 그리고 내 설치 설정은 다음과 같습니다 : 바로 가기 아이콘이 있어야하는 설치 프로그램을 알려 어디

{ 
    appDirectory: path.join(outPath, 'myapp-win32-ia32/'), 
    authors: 'me', 
    noMsi: true, 
    outputDirectory: path.join(outPath, 'windows-installer'), 
    exe: 'myapp.exe', 
    setupExe: 'myappInstaller.exe', 
    setupIcon: path.join(rootPath, 'assets', 'win', 'icon.ico'), 
    skipUpdateIcon: true 
    } 

잘 모르겠어요 "전자"대신 내 앱의 이름.

미리 감사드립니다.

답변

2

나는 그것을 마침내 발견했습니다.

project.json 파일에는 응용 프로그램을 빌드하는 데 사용하는 명령이 있습니다.

당신이 찾고있는 부분은 --version-string.ProductName=\"My App Name\"하고 "scripts": { "build": "YOUR CODE HERE"}에서 발견된다 :

사이드 노트 ... 나는 전자 패키저를 사용하고 있습니다.

여기에 내 코드를 사용하는 예이다 :
"pack:win64": "electron-packager ./ --overwrite --asar=true --platform=win32 --arch=x64 --ignore=assets --ignore=build --ignore=installers --icon=./images/icons/icon.ico --prune=true --out=build/win --version-string.ProductName=\"My App Name\""

+1

이 근무! 고맙습니다!! –

+0

이제'win32metadata'가되었습니다. –