Чего я хочу достичь sh:
Я хочу понять, как настроить Electron-Builder / Webpack для упаковки файлов без кода (файлы конфигурации, файлы XML, файлы метаданных, JSON файлов), так что, когда установщик устанавливает приложение, эти файлы сохраняются в домашнем каталоге пользователя на локальном компьютере. Я понимаю важность хранения этих файлов вне установленных двоичных файлов, поэтому, когда пользователь обновляет свою версию, он не теряет никаких настроек, которые могут быть установлены. Но исходная версия этих файлов должна существовать в каком-то месте для начала, например, версия шаблона этих файлов.
Я нашел несколько руководств, в которых объясняется, как включить эти файлы без кода в состав package: Electron - Как добавить внешние файлы?
Как управлять конфигурацией для приложения Webpack / Electron?
Но чего я не вижу или поймите из этих сообщений, как настроить установщик, чтобы при его запуске эти файлы копировались в домашний каталог пользователя (папка appData). В частности, если эти файлы уже установлены, чтобы избежать их перезаписи или спросить пользователя, хотят ли они их перезаписать? Как это настроить?
Также должны быть некоторые настройки конфигурации, чтобы эти файлы оставались частью репозитория Github и позволяли разработчикам использовать путь разработчика к этим файлам без кода, не нарушая при этом производственный путь к этим файлам в установленной пользователем версии. Как настроить такую конфигурацию?
Это структура папок в моем проекте:
src
- Application
- electronVueJS-App
- application.js
- App.vue
- build.js
- registerServiceWorker.js
- ...Rest of the files/folders for the application....
- Resources
- Configuration
- Colors.csv
- Configuration.xml
- Framework
- CommandsBlob
- commands.xml
- Workflows
- workflows.xml
- ....Rest of my code files/folders....
Я полагаю, шаг 1, вероятно, для меня, чтобы переместить весь мой некодированный XML файлов как минимум в 2 папки, одну в папке Application, а другую в папке Framework, и я готов сделать это, но я хотел бы получить полную картину того, как все эти Electron-Builder / WebPack / Конфигурации установщика настроены таким образом, что файлы конфигурации будут установлены в путь к домашнему каталогу пользователей в их локальной системе, прежде чем я перейду слишком далеко в реструктуризацию кода моего приложения.
Я думаю, есть и другие проблемы , но я полагаю, что могу попытаться выяснить это отдельно, и если я нажму на другой блокировщик, задайте другой вопрос. Но если у вас есть ссылки, которые могут мне помочь, то, пожалуйста, непременно поделитесь.
После настройки автообновления, как сообщить пользователю, требует ли конкретное обновление критических изменений в их файле (файлах) конфигурации .
Как настроить деинсталлятор, чтобы у пользователя была возможность оставить конфигурационный файл (ы) нетронутым после процесса деинсталляции или продолжить удаление всего?
My репо: https://github.com/SethEden/electronVueJS-App/
Спасибо за вашу помощь !!
ОБНОВЛЕНИЕ:
Я очистил кодовая база для вышеуказанного репо и вернулась к очень простой конфигурации c, чтобы попытаться заставить это работать. Я обнаружил, что NSIS - это инструмент для создания Windows установщиков для приложений Electron. Я пытаюсь следовать этому руководству:
https://youtu.be/QowWa3aVCQw
Когда я пытался добавить цель сборки NSIS в свой пакет. json Я получил сообщение об ошибке из Electron-Builder, который относился к VueJS и сказал мне переместить мою сборку в файл Vue .config. js.
Итак, я сделал это и теперь получаю эту ошибку :
(node:16532) UnhandledPromiseRejectionWarning:
Error: cannot find specified resource "LICENSE",
nor relative to "C:\electronVueJS-App\build",
neither relative to project dir ("C:\electronVueJS-App")
Я даже попытался полностью удалить лицензию из определения сборки в моем файле vue .config. js, но теперь у моего установщика NSIS нет лицензии. Кроме того, что более важно, если я даже не могу указать файл лицензии NSIS в своей конфигурации сборки, как, черт возьми, я смогу указать добавление файлов, не связанных с кодом, в мою сборку? И что еще более важно, как я могу сказать NSIS установить их в пользовательскую папку AppData по их локальному установленному системному пути?
Может ли кто-нибудь помочь мне разобраться в этом? Я очень разочарован тем, что застрял в этом вопросе.
Спасибо и ура ~ Сет