it-swarm-ja.com

実行可能ファイルへのクロスプラットフォームショートカット、両方ともアーカイブ

実行可能ファイル(。exe)へのショートカットが格納されているディレクトリ(は後でアーカイブされます)があります。いくつかのディレクトリが深くなっています。発生する最初の問題は "。lnk"ショートカットには正確なパスが必要です。例えば。 "D:/someFolder/parentOfShortcut/files/dir/dir/dir/software.execommandForTheExe"そしてディレクトリの場合parentOfShortcutはルートに移動されます(たとえば)。ショートカットは引き続き "D:/ someFolder/parentOf ..."でアプリを検索します。 「。bat」ファイルを使用することを考えましたが、これはWindowsのみのソリューションであり、アプリ自体はLinuxとMacOSの両方とも互換性があります。 "。bat"の2番目の問題は、ユーザーがそのタイプのファイルを信頼することは決してなく、ウイルス対策ソフトウェアも信頼しないことです。

parentOfShortcutの場所は、ユーザーがそのフォルダーを(。Zipアーカイブとして)ダウンロードし、自分の任意のディレクトリに自由に保存できるため、どこにでも配置できるというのは難問です。機械。

参考までに、正確なファイル構造は次のとおりです

(unknown path)/MySoftware(.Zip)
    +- Shortcut.lnk
    |- files
        |- node_modules
            |- dist
                +- theApp.exe (with command "boot.main")

編集:

。exeは移動できません。これは、同じ、上位および一部の下位ディレクトリにある。dllファイルに依存しているためです。

1
Zefir Zdravkov

私はElectronのユーザーではありませんが、収集したリソースをいくつか紹介します。

デスクトップショートカットを作成するには、インストールプログラムが必要です。これが可能であると言われているそのようなクロスプラットフォーム製品がいくつかありますが、さまざまなプラットフォームでどれだけうまく機能するかはやや不明です。

Electronのユーザーではないため、これらの製品をテストすることはできませんが、これらの詳細を提供することはできます。

電子ビルダーの場合、1つ Github post 言います:

createDesktopShortcutalwaysに設定します。

"nsis": {
      "createDesktopShortcut": "always"
    }

デスクトップショートカットを作成するかどうか。再インストール時にも再作成する場合は、alwaysに設定します(ユーザーが削除した場合でも)。

StackOverflow post にはさまざまなアドバイスが含まれていますが、これは特にWindows用の電子フォージ用に追加されています。

次のような構成を試してみてください。

"electronPackagerConfig": {
  "icon": "Icon",
  "win32metadata":{
    "ProductName": "My App",
    "CompanyName": "My Company"
  }
}

詳細はこちら: https://github.com/electron-userland/electron-forge/issues/89

同じ投稿の別の回答は、これを電子ビルダーに追加します:

Squirrelで苦痛を感じる場合は、 electron-builder を使用してみてください。以下のコマンドを使用して、Windows用のインストーラーを作成できます。electron-builder path/to/your-electron-packager-output --platform=win --out=path/to/your-installer-output --config=path/to/builder.json --target=win

Builder.jsonのサンプルコンテンツ:

{"win":{"title": "My Production Name"、 "icon": "path/to/your-icon.ico"、 "version": "1.0.0"、 "publisher": "Your Company Name "}}

追伸:上記のコマンドを実行する前に、 [〜#〜] nsis [〜#〜] をインストールし、NSISパスをPATH環境に追加する必要があります。

この他のStackOverflowの投稿を見てください ElectronでSquirrelイベントを介してデスクトップショートカットを作成する 動作していると報告されている手順を示しているので、読む価値があるようです。

一方、電子パッケージャーの使用を控えて、次のような実績のあるクロスプラットフォームインストーラーを使用して自分で行うこともできます。

  • IzPack (無料)
  • InstallBuilder for Qt (オープンソースプロジェクトでは無料で、それ以外の場合はそれほどコストがかかりません)
  • InstallBuilder (商用で非常に高額で$ 1,995)

これで始められることを願っています。電子パッケージビルダーのいずれかがすべてのオペレーティングシステムで機能するとは限りません。そのため、複数のオペレーティングシステムが必要になる場合があります。すべてをテストし、何も想定しないでください。私のアドバイスです。

1
harrymc