Есть ли в любом случае обновить приложение без переустановки после создания файла MSI - PullRequest
0 голосов
/ 15 января 2020

Я использую установщик wix для создания MSI-файла для моего приложения Electron. json

{
"name": "sqli-1d1q",
"productName": "sqli-1d1q",
"version": "1.0.0",
 "description": "SQLI 1D1Q",
"main": "main.js",
"scripts": {
"start": "electron .",
"package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=ressources/icons/mac/icon.icns --prune=true --out=release-builds",
"package-linux": "electron-packager . --overwrite --platform=linux --arch=x64 --icon=ressources/icons/png/64x64.png --prune=true --out=release-builds",
"package-win": "electron-packager . --overwrite --platform=win32 --arch=x64 --icon=ressources/icons/win/icon.ico --prune=true --out=release-builds",
"installer-debian": "electron-installer-debian --src release-builds/sqli-1d1q-linux-x64/ --dest installers/ --arch amd64",
"installer-mac": "electron-installer-dmg ./release-builds/sqli-1d1q-darwin-x64/sqli-1d1q.app installers/sqli",
"installer-win": "node .\\build_win_installer.js"
 },
 "author": "SQLI",
  "devDependencies": {
  "electron": "^6.0.12",
 "electron-wix-msi": "^2.2.0"
 }
 ,"dependencies": {
 "auto-launch": "^5.0.5",
"cron": "^1.7.2",
"node-machine-id": "^1.1.12"
 }
}

мой build_win_installer

  Import Modules
 const { MSICreator } = require("electron-wix-msi");
const path = require("path");

// 2. Define input and output directory.
// Important: the directories must be absolute, not relative e.g
// appDirectory: "C:\\Users\sdkca\Desktop\OurCodeWorld-win32-x64",
const APP_DIR = path.resolve(__dirname, "./release-builds/sqli-1d1q-win32-x64");
// outputDirectory: "C:\\Users\sdkca\Desktop\windows_installer",
const OUT_DIR = path.resolve(__dirname, "./installers/sqli-1d1q-win");

// 3. Instantiate the MSICreator
   const msiCreator = new MSICreator({
   appDirectory: APP_DIR,
    outputDirectory: OUT_DIR,
   // Configure metadata
   description: "SQLI - 1D1Q",
   exe: "sqli-1d1q",
   name: "SQLI - 1D1Q",
   manufacturer: "SQLI",
   version: "1.0.0",
   extensions: ["WixUtilExtension"],
    upgradeCode: "ba21a040-1666-4d81-a8d8-2539590f6b9e", // A unique UUID used by the app toidentify 
  itself.
   MigrateFeatures:"Yes",

  // Configure installer User Interface
  ui: {
   chooseDirectory: true
  }
 });

 // 4. Create a .wxs template file
 msiCreator.create().then(function() {
 // Step 5: Compile the template to a .msi file
  msiCreator.compile();
 });

проблема заключается в запуске npm run win-installer, он создает новый установщик и не обновляет существующий файл MSI, поэтому пользователю необходимо установить приложение в другой раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...