2017-08-22 18 views
2

こんにちは私は電子を初めて使い、アプリケーションのインストール時にカスタムプロトコルを登録する方法が不思議でした。電子アプリケーションのインストール時にカスタムプロトコルを登録する

私はアプリを構築するために電子ビルダーを使用しています。ここでは、ビルドのビルドコードは、私は、以下の行を追加して、カスタムプロトコル

app.setAsDefaultProtocolClient("testapp"); 

を登録するが、私はアプリに、少なくとも最初の時間を実行した場合、それが唯一のないことを知っている

"build": { 
"appId": "com.test.testapp", 
"productName": "testapp", 
"asar": true, 
"protocols": [{ 
    "name": "testapp", 
    "schemes": [ "testapp" ] 
}], 
"nsis": { 
    "oneClick": false, 
    "perMachine": true, 
    "allowToChangeInstallationDirectory": true, 
    "runAfterFinish": false, 
    "createDesktopShortcut": true 
}, 
"squirrelWindows": { 
    "msi": true 
}, 
"directories": { 
    "output": "distribution" 
} 

です。

インストール後にユーザーがアプリを起動するという保証はありません。

だから私は、電子ビルダー

答えて

0

を使用して、インストールプロセスでカスタムプロトコルを登録することができる方法は、私はまだ電子と電子ビルダーへの新たなんだけど、すでにNSIS-ターゲットにこの問題を解決しています。まず最初に、私が理解する限り、アプリケーション内のカスタムプロトコルを処理するために使用されたのはapp.setAsDefaultProtocolClientです。電子ビルダー自体を使用してこのカスタムプロトコルを登録する必要があります。

次にNSISとsquirrelWindowsのどちらかを選択する必要があります。リスはあまりサポートされておらず、いくつかの問題があるので、私が理解している限り、NSISが好ましいです。私は専門家ではないが、私はそれについて何かを読んだ。したがって、squirrelWindowsセクションは冗長です。 win.targetは指定せず、デフォルトでは"nsis"です。

NSISターゲットのカスタムプロトコル登録に問題があります。詳細はこちら:Protocol (scheme) for windowsですが、回避策があります。あなたがそのようなコンテンツを使用してbuildフォルダにinstaller.nshという名前のファイルを作成する必要があります。

!macro customInstall DetailPrint "Register evehq-ng URI Handler" DeleteRegKey HKCR "evehq-ng" WriteRegStr HKCR "evehq-ng" "" "URL:evehq-ng" WriteRegStr HKCR "evehq-ng" "EveHQ NG SSO authentication Protocol" "" WriteRegStr HKCR "evehq-ng\DefaultIcon" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME}" WriteRegStr HKCR "evehq-ng\shell" "" "" WriteRegStr HKCR "evehq-ng\shell\Open" "" "" WriteRegStr HKCR "evehq-ng\shell\Open\command" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME} %1" !macroend

あなたのプロトコル文字列とあなたのプロトコル記述とEveHQ NG SSO authentication Protocolevehq-ngを交換してください。

その後、nsis.perMachineをtrueに設定する必要があります。

私はLinuxでこの問題をまだ解決していませんが、この方向で作業しています。私のコードは、私の概念証明プロジェクト(EveHQ-NG proof of concepts application)で見ることができます。

この問題をLinuxとMacOSで解決するなら、何とかここにかGitHubでメッセージを書いてください。

希望します。

関連する問題