From 96a48d7847f46e80c06cf64dfefbc17cac33aa67 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Wed, 29 May 2024 17:49:21 +0200 Subject: [PATCH 1/7] Allow installation of @next --- build/windows/ioBroker.iss | 151 ++++++++++++++++++-------- build/windows/language/dutch.txt | 12 +- build/windows/language/english.txt | 9 +- build/windows/language/french.txt | 12 +- build/windows/language/german.txt | 12 +- build/windows/language/italian.txt | 12 +- build/windows/language/polish.txt | 12 +- build/windows/language/portuguese.txt | 12 +- build/windows/language/russian.txt | 12 +- build/windows/language/spanish.txt | 12 +- build/windows/language/ukrainian.txt | 12 +- 11 files changed, 167 insertions(+), 101 deletions(-) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index f6cd501..d953527 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -36,6 +36,8 @@ ; - 19.05.2024 Gaspode: Fixed: Set Admin port in expert mode failed in rare cases - ; - 23.05.2024 Gaspode: Execute fixer after JS-Controller Upgrade - ; - (required for JS-Controller 6) - +; - 29.05.2024 Gaspode: Make fixer after JS-Controller Upgrade optional - +; - 29.05.2024 Gaspode: Offer Alpha and Beta updates of JS-Controller in expert mode (@next) - ; - - ; ---------------------------------------------------------------------------------------------- #define MyAppName "ioBroker automation platform" @@ -210,6 +212,7 @@ var exoIntroLabel: TLabel; exoNewServerRB: TRadioButton; exoMaintainServerRB: TRadioButton; + exoMaintainServerAlphaBetaCB: TCheckBox; exoUninstallServerRB: TRadioButton; exoNewServerLabel: TLabel; exoMaintainServerCombo: TComboBox; @@ -267,10 +270,12 @@ var iobVersionMajor: Integer; // Major Version of the currently handled iob server installation iobVersionMinor: Integer; // Minor Version of the currently handled iob server installation iobVersionPatch: Integer; // Patch Version of the currently handled iob server installation + iobVersionPostfix: String; // Version postfix of the handled iob server if it is an alpha or beta version iobVersionNewMajor: Integer; // Major Version of the currently available iob server version iobVersionNewMinor: Integer; // Minor Version of the currently available iob server version iobVersionNewPatch: Integer; // Patch Version of the currently available iob server version + iobVersionNewPostfix: String; // Version postfix of the currently available iob server version if it is an alpha or beta version iobServiceExists: Boolean; // True if a windows service with service name 'iobServiceName' already exists iobInstalled: Boolean; // True if an ioBroker installation was found and verified in the currently handled path @@ -587,12 +592,29 @@ begin end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} -function convertVersion(s: String; var major: Integer; var minor: Integer; var patch: Integer): Boolean; +function convertVersion(s: String; var major: Integer; var minor: Integer; var patch: Integer; var postfix: String): Boolean; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} var + curPos: Integer; versionArray: TArrayOfString; begin Result := False; + + major := 0; + minor := 0; + patch := 0; + postfix := ''; + + // We search fo the first character which is not numerical and no dot to find out the three part version string + for curPos := 1 to Length(s) do begin + if not (s[curPos] in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.']) then begin + postfix := copy(s, curPos, length(s)); + s := copy(s,1,curPos - 1) + Break; + end; + end; + + // At this point versionString contains the standard three part version string explode(versionArray, s, '.'); if (GetArrayLength(versionArray) > 2) then begin major := StrToIntDef(versionArray[0], 0); @@ -896,7 +918,7 @@ end; function ioBrokerNeedsStart: Boolean; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} begin - Result := (optInstallIoBrokerCB.Checked = False) and (optFixIoBrokerCB.Checked = False); + Result := (optInstallIoBrokerCB.Checked = False) and (optFixIoBrokerCB.Checked = False) or isIobUpdate; end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} @@ -1054,7 +1076,7 @@ end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} -procedure gatherNewestIoBrokerVersion(var major: Integer; var minor: Integer; var patch: Integer); +procedure gatherNewestIoBrokerVersion(var major: Integer; var minor: Integer; var patch: Integer; var postfix: String); {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} var versionString: String; @@ -1065,23 +1087,36 @@ begin major := 0; minor := 0; patch := 0; + postfix := ''; if (nodePath <> '') then begin - nodeJsEx := nodePath + '\node.exe'; - ioBrokerEx := appInstPath + '\node_modules\iobroker.js-controller/iobroker.js'; - versionString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" update | find "Controller ""js-controller"":"', True, nodePath, ''); - if (versionString <> '') then begin - curPos := pos('Controller "js-controller": ', versionString) + 28; - versionString := Trim(Copy(versionString, curPos, Length(versionString) - curPos)); - curPos := pos(' ', versionString); - if (curPos > 0) then begin - versionString := Trim(Copy(versionString, 1, curPos-1)); - Log(Format('Latest ioBroker version: %s', [versionString])); - convertVersion(versionString, major, minor, patch); - Log(Format('Latest ioBroker version: %d, %d, %d', [major, minor, patch])); + if not exoMaintainServerAlphaBetaCB.Checked then begin + nodeJsEx := nodePath + '\node.exe'; + ioBrokerEx := appInstPath + '\node_modules\iobroker.js-controller/iobroker.js'; + versionString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" update | find "Controller ""js-controller"":"', True, nodePath, ''); + if (versionString <> '') then begin + curPos := pos('Controller "js-controller": ', versionString) + 28; + versionString := Trim(Copy(versionString, curPos, Length(versionString) - curPos)); + curPos := pos(' ', versionString); + if (curPos > 0) then begin + versionString := Trim(Copy(versionString, 1, curPos-1)); + Log(Format('Latest ioBroker version: %s', [versionString])); + convertVersion(versionString, major, minor, patch, postfix); + Log(Format('Latest ioBroker version: %d, %d, %d', [major, minor, patch])); + end; + end + else begin + Log('Latest ioBroker version could not be detected!'); end; end else begin - Log('Latest ioBroker version could not be detected!'); + versionString := execAndReturnOutput('"' + nodepath + '\npm" view iobroker.js-controller@next version', True, nodePath, ''); + if versionString <> '' then begin + convertVersion(versionString, major, minor, patch, postfix); + Log(Format('Latest ioBroker version: %d, %d, %d, %s', [major, minor, patch, postfix])); + end + else begin + Log('Latest ioBroker version could not be detected!'); + end; end; end; end; @@ -1098,10 +1133,12 @@ begin iobVersionMajor := 0; iobVersionMinor := 0; iobVersionPatch := 0; + iobVersionPostfix := ''; iobVersionNewMajor := 0; iobVersionNewMinor := 0; iobVersionNewPatch := 0; + iobVersionNewPostfix := '' ioBrokerEx := appInstPath + '\node_modules\iobroker.js-controller/iobroker.js'; if (FileExists(ioBrokerEx)) then begin @@ -1109,9 +1146,9 @@ begin if (nodePath <> '') then begin nodeJsEx := nodePath + '\node.exe'; versionString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" --version', False, nodePath, ''); - if (convertVersion(versionString, iobVersionMajor, iobVersionMinor, iobVersionPatch)) then begin - Log(Format('Found ioBroker version: %d, %d, %d', [iobVersionMajor, iobVersionMinor, iobVersionPatch])); - gatherNewestIoBrokerVersion(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch); + if (convertVersion(versionString, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix)) then begin + Log(Format('Found ioBroker version: %d, %d, %d, %s', [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix])); + gatherNewestIoBrokerVersion(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix); end; end else begin @@ -1264,6 +1301,7 @@ procedure gatherInstNodeData; var versionString: String; found: boolean; + dummy: String; begin found := false; instNodeVersionMajor := 0; @@ -1278,7 +1316,7 @@ begin RegQueryStringValue(GetHKLM, 'SOFTWARE\Node.js', 'Version', versionString); if (nodePath <> '') then begin Log('NodePath: ' + nodePath); - if (convertVersion(versionString, instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch)) then begin + if (convertVersion(versionString, instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch, dummy)) then begin Log(Format('Found Node version: %d, %d, %d', [instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch])); found := true; end; @@ -1304,6 +1342,7 @@ var versionString: String; nodeFileName: String; errorOccurred: Boolean; + dummy: String; begin errorOccurred := False; try @@ -1366,7 +1405,7 @@ begin Log(versionString); rcmdNodeDownloadPath := Format( ExpandConstant('{#URL_NODEJS_LATEST_FULL}'),[Round(nodeRecommendedMajorNr), nodeFileName]); Log(rcmdNodeDownloadPath); - if (convertVersion(versionString, rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch)) then begin + if (convertVersion(versionString, rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch, dummy)) then begin Log(Format('Recommended Node version: %d, %d, %d', [rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch])); end; break; @@ -1676,21 +1715,21 @@ begin sumInfo1IoBrokerLabel.Font.Color := clGreen; sumInfo1IoBrokerLabel.Caption := '✓'; end; - sumInfo2IoBrokerLabel.Caption := Format(CustomMessage('IoBrokerInstalled'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, appInstPath]); + sumInfo2IoBrokerLabel.Caption := Format(CustomMessage('IoBrokerInstalled'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, appInstPath]); if (iobVersionNewMajor = 0) then begin sumInfo2IoBrokerNewestLabel.Caption := CustomMessage('IoBrokerNewestNotFound'); end else begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) > 0) then begin - sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewestNewer'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch]); + sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewestNewer'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end else begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) = 0) then begin sumInfo2IoBrokerNewestLabel.Caption := CustomMessage('IoBrokerNewestOK'); end else begin - sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewest'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch]); + sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewest'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end; end; end; @@ -1818,6 +1857,7 @@ begin end; if (iobVersionMajor = 0) and (iobControllerFoundNoNode = False) then begin + // ioBroker not installed optInstallIoBrokerCB.checked := True; optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBroker'),[appInstPath]); optInstallIoBrokerCB.Enabled := False; @@ -1828,20 +1868,23 @@ begin end else begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) > 0) then begin + // JS-Controller update available optInstallIoBrokerCB.checked := True; - optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokerUpdate'),[iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch]); + optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokerUpdate'),[iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, + iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); optInstallIoBrokerCB.Enabled := True; optFixIoBrokerCB.checked := False; optFixIoBrokerCB.Caption := ' ' + Format(CustomMessage('FixIoBroker'),[appInstPath]); - optFixIoBrokerCB.Enabled := False; + optFixIoBrokerCB.Enabled := True; end else begin + // ioBroker already installed and no JS-Controller update available optInstallIoBrokerCB.checked := False; optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokeralreadyInstalled'),[appInstPath]); optInstallIoBrokerCB.Enabled := False; - optFixIoBrokerCB.checked := True; + optFixIoBrokerCB.checked := False; optFixIoBrokerCB.Caption := ' ' + Format(CustomMessage('FixIoBroker'),[appInstPath]); optFixIoBrokerCB.Enabled := True; end; @@ -1873,13 +1916,8 @@ begin (optDataMigrationCB <> nil) and (optServiceAutoStartCB <> nil) then begin - if optInstallIoBrokerCB.Checked then begin - if isIobUpdate then begin - optFixIoBrokerCB.Checked := True; - end - else begin - optFixIoBrokerCB.Checked := False; - end; + if optInstallIoBrokerCB.Checked and not isIobUpdate then begin + optFixIoBrokerCB.Checked := False; optFixIoBrokerCB.Enabled := False; end else begin @@ -2315,13 +2353,25 @@ begin with exoMaintainServerRB do begin Parent := expertOptionsPage.Surface; Top := exoChangeDirectoryButton.Top + exoChangeDirectoryButton.Height + ScaleY(15); - Width := expertOptionsPage.SurfaceWidth - ScaleX(4); + Width := (expertOptionsPage.SurfaceWidth - ScaleX(4)) * 2 / 3; Height := ScaleX(14); Caption := ' ' + CustomMessage('ExpertMaintainServer'); OnClick := @expertOptionChanged Enabled := False; end; + exoMaintainServerAlphaBetaCB := TCheckBox.Create(WizardForm); + with exoMaintainServerAlphaBetaCB do begin + Parent := expertOptionsPage.Surface; + Top := exoChangeDirectoryButton.Top + exoChangeDirectoryButton.Height + ScaleY(15); + Left := exoMaintainServerRB.width + ScaleX(2); + Width := expertOptionsPage.SurfaceWidth - Left + ScaleX(100); + Height := ScaleX(14); + Caption := ' ' + CustomMessage('ExpertMaintainServerAlphaBeta'); + OnClick := @expertOptionChanged + Enabled := False; + end; + exoMaintainServerCombo := TComboBox.Create(WizardForm); with exoMaintainServerCombo do begin Parent := expertOptionsPage.Surface; @@ -2571,6 +2621,7 @@ var majorV: Integer; minorV: Integer; patchV: Integer; + postfixV: String; begin result := False; cmd := ''; @@ -2596,8 +2647,14 @@ begin end; gatherInstNodeData; if isIobUpdate then begin - cmd := '"' + nodePath + '\node.exe" "' + appInstPath + '\node_modules\iobroker.js-controller/iobroker.js" upgrade self'; - info := Format(CustomMessage('UpdatingIoBroker'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch]); + if not exoMaintainServerAlphaBetaCB.Checked then begin + cmd := '"' + nodePath + '\node.exe" "' + appInstPath + '\node_modules\iobroker.js-controller/iobroker.js" upgrade self'; + end + else begin + cmd := '"' + nodePath + '\npm" i iobroker.js-controller@next --omit=dev'; + end; + info := Format(CustomMessage('UpdatingIoBroker'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, + iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end else begin cmd := '"' + nodePath + '\npx" --yes @iobroker/install@latest'; @@ -2626,8 +2683,9 @@ begin if execAndStoreOutput(cmd , logName, nodePath, appInstPath) then begin if isIobUpdate then begin // In this case no instDone file is created, we have to verify the success in another way: - gatherNewestIoBrokerVersion(majorV, minorV, patchV); + gatherNewestIoBrokerVersion(majorV, minorV, patchV, postfixV); Result := compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, majorV, minorV, patchV) = 0; + // WSC ToDo check including postfix!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Log('ioBroker JS-Controller update done!'); SaveStringToFile(logName, '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10) + @@ -2635,8 +2693,7 @@ begin Format('Verification: Latest JS-Controller: %d.%d.%d, installed: %d.%d.%d', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, majorV, minorV, patchV]) + chr(13) + chr(10) + '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10), True); - if Result then begin - // After updateing the JS-Controller we MUST execute the fixer + if Result and optFixIoBrokerCB.Checked then begin marqueePage.SetText(CustomMessage('FixingIoBroker'), ''); if execAndStoreOutput('"' + nodePath + '\npx" --yes @iobroker/fix@latest' , logName, nodePath, appInstPath) then begin if (FileExists(appInstPath + '\instDone')) then begin @@ -2854,9 +2911,11 @@ var onlineMajor: Integer; onlineMinor: Integer; onlinePatch: Integer; + onlinePostfix: String; installedMajor: Integer; installedMinor: Integer; installedPatch: Integer; + installedPostfix: String; begin Result := True; updatedInstallerStarted := False; @@ -2904,8 +2963,8 @@ begin Log('Update check: Found Online Installer version: ' + onlineVersionStr); Log('Update check: Installed Installer version: ' + installedVersionStr); - if convertVersion(onlineVersionStr, onlineMajor, onlineMinor, onlinePatch) and - convertVersion(installedVersionStr, installedMajor, installedMinor, installedPatch) then begin + if convertVersion(onlineVersionStr, onlineMajor, onlineMinor, onlinePatch, onlinePostfix) and + convertVersion(installedVersionStr, installedMajor, installedMinor, installedPatch, installedPostfix) then begin if (onlineMajor > installedMajor) or ((onlineMajor = installedMajor) and (onlineMinor > installedMinor)) or @@ -3354,7 +3413,8 @@ begin if optInstallIoBrokerCB.checked then begin if isIobUpdate then begin - Result := Result + NewLine + Space + Format(CustomMessage('SummaryInstallIoBrokerUpdate'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch]); + Result := Result + NewLine + Space + Format(CustomMessage('SummaryInstallIoBrokerUpdate'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, + iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end else begin Result := Result + NewLine + Space + Format(CustomMessage('SummaryInstallIoBroker'), [appInstPath]); @@ -4209,14 +4269,19 @@ begin if exoNewServerRB.Checked then begin exoMaintainServerCombo.Enabled := False; exoUninstallServerCombo.Enabled := False; + exoMaintainServerAlphaBetaCB.Enabled := False; + exoMaintainServerAlphaBetaCB.Checked := False; end; if exoMaintainServerRB.Checked then begin exoMaintainServerCombo.Enabled := True; exoUninstallServerCombo.Enabled := False; + exoMaintainServerAlphaBetaCB.Enabled := True; end; if exoUninstallServerRB.Checked then begin exoMaintainServerCombo.Enabled := False; exoUninstallServerCombo.Enabled := True; + exoMaintainServerAlphaBetaCB.Enabled := False; + exoMaintainServerAlphaBetaCB.Checked := False; end; end; diff --git a/build/windows/language/dutch.txt b/build/windows/language/dutch.txt index 77e44b1..e0a21d1 100644 --- a/build/windows/language/dutch.txt +++ b/build/windows/language/dutch.txt @@ -1,7 +1,7 @@ dutch.Intro=ioBroker is een centrale server voor slimme huizen, gebouwautomatisering en actief begeleid wonen.%n%nMet.h ioBroker krijgt u:%n- een krachtige maar eenvoudig te beheren IOT-oplossing%n- een gebruiksvriendelijke interface%n- eenvoudige integratie met bestaande systemen en services%n- modulair ontwerp%n- webgebaseerde visualisaties%n- mobiele toegang%n- connectiviteit met Alexa, Homekit en vele andere smart home-systemen - hulp van een grote en actieve gemeenschap%n%nioBroker - Automatiseer uw life%n%nInstallatieversie {#MyAppVersion} dutch.PortInUse=Poort %s al in gebruik door proces "%s" PID %s dutch.PortAvailable=Poort %d is vrfügbar -dutch.IoBrokerInstalled=ioBroker-versie %d.%d.%d geïnstalleerd in %s +dutch.IoBrokerInstalled=ioBroker-versie %d.%d.%d%s geïnstalleerd in %s dutch.IoBrokerNotInstalled=ioBroker niet geïnstalleerd in %s dutch.NodeInstalled=Node.js versie %d.%d.%d geïnstalleerd in %s dutch.NodeNotInstalled=Node.js niet geïnstalleerd in %s @@ -147,11 +147,11 @@ dutch.CheckingForUpdates=Controleren op updates ... dutch.DownloadingInstaller=Installer %s downloaden ... dutch.StartInstaller=Installer %s is gedownload en wordt nu gestart. dutch.InstallerUpdateFailed=Er is iets misgegaan om onbekende redenen [%d]%n%nioBroker-installatie wordt voortgezet zonder installateur-update ... -dutch.IoBrokerNewest=Nieuwste beschikbare ioBroker-versie (JS-controller): %d.%d.%d -dutch.IoBrokerNewestNewer=Nieuwe ioBroker-versie (JS-controller) beschikbaar: %d.%d.%d +dutch.IoBrokerNewest=Nieuwste beschikbare ioBroker-versie (JS-controller): %d.%d.%d%s +dutch.IoBrokerNewestNewer=Nieuwe ioBroker-versie (JS-controller) beschikbaar: %d.%d.%d%s dutch.IoBrokerNewestOK=ioBroker (JS-controller) is up-to-date! dutch.IoBrokerNewestNotFound=Nieuwste JS-controller-versie kon niet worden vastgesteld! -dutch.InstallIoBrokerUpdate=Update ioBroker (JS-controller) van versie %d.%d.%d naar %d.%d.%d -dutch.SummaryInstallIoBrokerUpdate=ioBroker (JS-controller) zal worden bijgewerkt van versie %d.%d.%d naar %d.%d.%d -dutch.UpdatingIoBroker=JS-controller bijwerken van versie %d.%d.%d naar %d.%d.%d ... +dutch.InstallIoBrokerUpdate=Update ioBroker (JS-controller) van versie %d.%d.%d%s naar %d.%d.%d%s +dutch.SummaryInstallIoBrokerUpdate=JS-controller zal worden bijgewerkt van versie %d.%d.%d%s naar %d.%d.%d%s +dutch.UpdatingIoBroker=JS-controller bijwerken van versie %d.%d.%d%s naar %d.%d.%d%s ... dutch.UpdatingFailedIoBroker=ioBroker bijwerken is mislukt. Na het klikken op OK wordt het logbestand weergegeven. Controleer het en zoek de reden voor de mislukking. Het installatieprogramma wordt gesloten. diff --git a/build/windows/language/english.txt b/build/windows/language/english.txt index 913b161..37b7185 100644 --- a/build/windows/language/english.txt +++ b/build/windows/language/english.txt @@ -1,7 +1,7 @@ english.Intro=ioBroker is a central server for smart homes, building automation and active assisted living.%n%nWith ioBroker you get:%n- a powerful but easy to manage IOT solution%n- a user-friendly interface%n- easy integration with existing systems and services%n- modular design%n- web-based visualizations%n- mobile access%n- connectivity with Alexa, Homekit and many other smart home systems - help from a large and active community%n%nioBroker - Automate your life%n%nInstaller Version {#MyAppVersion} english.PortInUse=Port %s already in use by process "%s", PID %s english.PortAvailable=Port %d ist available -english.IoBrokerInstalled=ioBroker version %d.%d.%d installed in %s +english.IoBrokerInstalled=ioBroker version %d.%d.%d%s installed in %s english.IoBrokerNotInstalled=ioBroker not installed in %s english.NodeInstalled=Node.js version %d.%d.%d installed in %s english.NodeNotInstalled=Node.js not installed in %s @@ -151,7 +151,8 @@ english.IoBrokerNewest=Newest available ioBroker version (JS-Controller): %d.%d. english.IoBrokerNewestNewer=New ioBroker version (JS-Controller) available: %d.%d.%d english.IoBrokerNewestOK=ioBroker (JS-Controller) is up to date! english.IoBrokerNewestNotFound=Newest JS-Controller version could not be determined! -english.InstallIoBrokerUpdate=Update ioBroker (JS-Controller) from version %d.%d.%d to %d.%d.%d -english.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) will be updated from version %d.%d.%d to %d.%d.%d -english.UpdatingIoBroker=Updating JS-Controller from version %d.%d.%d to %d.%d.%d ... +english.InstallIoBrokerUpdate=Update ioBroker (JS-Controller) from version %d.%d.%d%s to %d.%d.%d%s +english.SummaryInstallIoBrokerUpdate=JS-Controller will be updated from version %d.%d.%d%s to %d.%d.%d%s +english.UpdatingIoBroker=Updating JS-Controller from version %d.%d.%d%s to %d.%d.%d%s ... english.UpdatingFailedIoBroker=Updating ioBroker failed. After clicking OK the logfile will be displayed. Check it and find the reason for the failure. The installer will be closed. +english.ExpertMaintainServerAlphaBeta=Use Alpha/Beta (@next) \ No newline at end of file diff --git a/build/windows/language/french.txt b/build/windows/language/french.txt index 4936b06..c6fffbb 100644 --- a/build/windows/language/french.txt +++ b/build/windows/language/french.txt @@ -1,7 +1,7 @@ french.Intro=ioBroker est un serveur central pour les maisons intelligentes, l'automatisation des btiments et la vie assiste active.%n%nAvec ioBroker, vous obtenez:%n- une solution IOT puissante mais facile grer%n- une interface conviviale%n- une intgration facile avec systmes et services existants%n- conception modulaire%n- visualisations bases sur le Web%n- accs mobile%n- connectivit avec Alexa, Homekit et de nombreux autres systmes de maison intelligente - aide d'une communaut large et active%n%nioBroker - Automatisez votre life%n%nVersion de l'installateur {#MyAppVersion} french.PortInUse=Port %s dj utilis par le processus "%s", PID %s french.PortAvailable=Le port %d est vrfgbar -french.IoBrokerInstalled=Version d'ioBroker %d.%d.%d installe dans %s +french.IoBrokerInstalled=Version d'ioBroker %d.%d.%d%s installe dans %s french.IoBrokerNotInstalled=ioBroker n'est pas install dans %s french.NodeInstalled=Node.js version %d.%d.%d install dans %s french.NodeNotInstalled=Node.js n'est pas install dans %s @@ -147,11 +147,11 @@ french.CheckingForUpdates=V french.DownloadingInstaller=Tlchargement de l'installateur %s ... french.StartInstaller=L'installateur %s a t tlcharg et est maintenant en cours de lancement. french.InstallerUpdateFailed=Quelque chose s'est mal pass pour des raisons inconnues [%d]%n%nL'installation de ioBroker se poursuivra sans mise jour de l'installateur ... -french.IoBrokerNewest=Nouvelle version la plus rcente d'ioBroker (JS-Controller) disponible : %d.%d.%d -french.IoBrokerNewestNewer=Nouvelle version d'ioBroker (JS-Controller) disponible : %d.%d.%d +french.IoBrokerNewest=Nouvelle version la plus rcente d'ioBroker (JS-Controller) disponible : %d.%d.%d%s +french.IoBrokerNewestNewer=Nouvelle version d'ioBroker (JS-Controller) disponible : %d.%d.%d%s french.IoBrokerNewestOK=ioBroker (JS-Controller) est jour ! french.IoBrokerNewestNotFound=Impossible de dterminer la dernire version de JS-Controller ! -french.InstallIoBrokerUpdate=Mettre jour ioBroker (JS-Controller) de la version %d.%d.%d %d.%d.%d -french.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) sera mis jour de la version %d.%d.%d %d.%d.%d -french.UpdatingIoBroker=Mise jour de JS-Controller de la version %d.%d.%d %d.%d.%d en cours ... +french.InstallIoBrokerUpdate=Mettre jour ioBroker (JS-Controller) de la version %d.%d.%d%s %d.%d.%d%s +french.SummaryInstallIoBrokerUpdate=JS-Controller sera mis jour de la version %d.%d.%d%s %d.%d.%d%s +french.UpdatingIoBroker=Mise jour de JS-Controller de la version %d.%d.%d%s %d.%d.%d%s en cours ... french.UpdatingFailedIoBroker=La mise jour d'ioBroker a chou. Aprs avoir cliqu sur OK, le fichier journal sera affich. Vrifiez-le et trouvez la raison de l'chec. L'installateur sera ferm. diff --git a/build/windows/language/german.txt b/build/windows/language/german.txt index 54b3027..23a3b93 100644 --- a/build/windows/language/german.txt +++ b/build/windows/language/german.txt @@ -1,7 +1,7 @@ german.Intro=ioBroker ist ein zentraler Server fr Automatisierungsaufgaben rund um Smart Home, der Gebudeautomatisation sowie Active Assisted Living.%n%nioBroker bietet:%n%n- eine leistungsstarke Server-Lsung in Deinem Haus%n- eine einsteigerfreundliche Benutzeroberflche%n- einfache Integration vorhandener Systeme und Dienste%n- modularen Aufbau%n- webbasierte Visualisierungen%n- mobilen Zugriff%n- koppelbar mit Alexa und vielen weiteren Smart Home-Systemen%n- Untersttzung durch eine groe und aktive Anwendergemeinde%n%nioBroker - Automate your life%n%nInstaller Version {#MyAppVersion} german.PortInUse=Port %s wird bereits verwendet von Prozess "%s", PID %s german.PortAvailable=Port %d ist verfgbar -german.IoBrokerInstalled=ioBroker Version %d.%d.%d installiert in %s +german.IoBrokerInstalled=ioBroker Version %d.%d.%d%s installiert in %s german.IoBrokerNotInstalled=ioBroker nicht installiert in %s german.NodeInstalled=Node.js Version %d.%d.%d installiert in %s german.NodeNotInstalled=Node.js nicht installiert @@ -147,11 +147,11 @@ german.CheckingForUpdates=Suche nach Aktualisierungen ... german.DownloadingInstaller=Lade Installer %s herunter ... german.StartInstaller=Installer %s wurde heruntergeladen und wird jetzt gestartet. german.InstallerUpdateFailed=Etwas ist aus unbekannten Grnden schief gelaufen [%d]%n%nDie ioBroker Installation wird nun ohne Installer Aktualisierung fortgesetzt ... -german.IoBrokerNewest=Neueste verfgbare ioBroker-Version (JS-Controller): %d.%d.%d -german.IoBrokerNewestNewer=Neue ioBroker-Version (JS-Controller) verfgbar: %d.%d.%d +german.IoBrokerNewest=Neueste verfgbare ioBroker-Version (JS-Controller): %d.%d.%d%s +german.IoBrokerNewestNewer=Neue ioBroker-Version (JS-Controller) verfgbar: %d.%d.%d%s german.IoBrokerNewestOK=ioBroker (JS-Controller) ist auf dem neuesten Stand! german.IoBrokerNewestNotFound=Die neueste JS-Controller-Version konnte nicht ermittelt werden! -german.InstallIoBrokerUpdate=ioBroker (JS-Controller) aktualisieren von Version %d.%d.%d auf %d.%d.%d -german.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) wird von Version %d.%d.%d auf %d.%d.%d aktualisiert -german.UpdatingIoBroker=Aktualisiere JS-Controller von Version %d.%d.%d auf %d.%d.%d ... +german.InstallIoBrokerUpdate=ioBroker (JS-Controller) aktualisieren von Version %d.%d.%d%s auf %d.%d.%d%s +german.SummaryInstallIoBrokerUpdate=JS-Controller wird von Version %d.%d.%d%s auf %d.%d.%d%s aktualisiert +german.UpdatingIoBroker=Aktualisiere JS-Controller von Version %d.%d.%d%s auf %d.%d.%d%s ... german.UpdatingFailedIoBroker=Aktualisierung von ioBroker fehlgeschlagen. Wenn Du auf OK klickst, wird das Log file angezeigt. Bitte berprfe es und beseitige die Ursache fr das Installationsproblem. Der ioBroker Installer wird beendet. diff --git a/build/windows/language/italian.txt b/build/windows/language/italian.txt index 795957c..9af5782 100644 --- a/build/windows/language/italian.txt +++ b/build/windows/language/italian.txt @@ -1,7 +1,7 @@ italian.Intro=ioBroker un server centrale per case intelligenti, automazione degli edifici e vita assistita attiva.%n%nCon ioBroker ottieni:%n- una soluzione IOT potente ma facile da gestire%n- un'interfaccia facile da usare%n- facile integrazione con sistemi e servizi esistenti%n- design modulare%n- visualizzazioni basate sul Web%n- accesso mobile%n- connettivit con Alexa, Homekit e molti altri sistemi per la casa intelligente: aiuto da una community ampia e attiva%n%nioBroker: automatizza il tuo life%n%nVersione dell'installatore {#MyAppVersion} italian.PortInUse=Porta %s gi utilizzata dal processo "%s", PID %s italian.PortAvailable=La porta %d vrfgbar -italian.IoBrokerInstalled=ioBroker versione %d.%d.%d installata in %s +italian.IoBrokerInstalled=ioBroker versione %d.%d.%d%s installata in %s italian.IoBrokerNotInstalled=ioBroker non installato in %s italian.NodeInstalled=Node.js versione %d.%d.%d installata in %s italian.NodeNotInstalled=Node.js non installato in %s @@ -147,11 +147,11 @@ italian.CheckingForUpdates=Controllo degli aggiornamenti in corso ... italian.DownloadingInstaller=Download dell'installatore %s in corso ... italian.StartInstaller=L'installatore %s stato scaricato ed ora in fase di avvio. italian.InstallerUpdateFailed=Qualcosa andato storto per motivi sconosciuti [%d]%n%nL'installazione di ioBroker continuer senza l'aggiornamento dell'installatore ... -italian.IoBrokerNewest=Versione pi recente disponibile di ioBroker (JS-Controller): %d.%d.%d -italian.IoBrokerNewestNewer=Nuova versione di ioBroker (JS-Controller) disponibile: %d.%d.%d +italian.IoBrokerNewest=Versione pi recente disponibile di ioBroker (JS-Controller): %d.%d.%d%s +italian.IoBrokerNewestNewer=Nuova versione di ioBroker (JS-Controller) disponibile: %d.%d.%d%s italian.IoBrokerNewestOK=ioBroker (JS-Controller) aggiornato! italian.IoBrokerNewestNotFound=Impossibile determinare la versione pi recente di JS-Controller! -italian.InstallIoBrokerUpdate=Aggiorna ioBroker (JS-Controller) dalla versione %d.%d.%d a %d.%d.%d -italian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) verr aggiornato dalla versione %d.%d.%d a %d.%d.%d -italian.UpdatingIoBroker=Aggiornamento JS-Controller dalla versione %d.%d.%d a %d.%d.%d ... +italian.InstallIoBrokerUpdate=Aggiorna ioBroker (JS-Controller) dalla versione %d.%d.%d%s a %d.%d.%d%s +italian.SummaryInstallIoBrokerUpdate=JS-Controller verr aggiornato dalla versione %d.%d.%d%s a %d.%d.%d%s +italian.UpdatingIoBroker=Aggiornamento JS-Controller dalla versione %d.%d.%d%s a %d.%d.%d%s ... italian.UpdatingFailedIoBroker=Aggiornamento di ioBroker non riuscito. Dopo aver fatto clic su OK verr visualizzato il file di registro. Controllalo e trova il motivo del fallimento. Il programma di installazione verr chiuso. diff --git a/build/windows/language/polish.txt b/build/windows/language/polish.txt index 786be28..a1430fa 100644 --- a/build/windows/language/polish.txt +++ b/build/windows/language/polish.txt @@ -1,7 +1,7 @@ polish.Intro=ioBroker to centralny serwer dla inteligentnych domów, automatyki budynkowej i aktywnego wspomagania życia.%n%nZ ioBroker otrzymujesz:%n- wydajne, ale łatwe w zarządzaniu rozwiązanie IOT%n- przyjazny dla użytkownika interfejs%n- łatwą integrację z istniejące systemy i usługi%n- konstrukcja modułowa%n- wizualizacje webowe%n- dostęp mobilny%n- łączność z Alexa, Homekit i wieloma innymi systemami inteligentnego domu - pomoc dużej i aktywnej społeczności%n%nioBroker - Zautomatyzuj swój life%n%nWersja instalatora {#MyAppVersion} polish.PortInUse=Port %s jest już używany przez proces „%s”, PID %s polish.PortAvailable=Port %d ist vrfügbar -polish.IoBrokerInstalled=Wersja ioBroker %d.%d.%d zainstalowana w %s +polish.IoBrokerInstalled=Wersja ioBroker %d.%d.%d%s zainstalowana w %s polish.IoBrokerNotInstalled=ioBroker nie jest zainstalowany w %s polish.NodeInstalled=Node.js wersja %d.%d.%d zainstalowana w %s polish.NodeNotInstalled=Node.js nie jest zainstalowany w %s @@ -147,11 +147,11 @@ polish.CheckingForUpdates=Sprawdzanie aktualizacji ... polish.DownloadingInstaller=Pobieranie instalatora %s ... polish.StartInstaller=Instalator %s został pobrany i jest teraz uruchamiany. polish.InstallerUpdateFailed=Coś poszło nie tak z nieznanych powodów [%d]%n%nInstalacja ioBroker będzie kontynuowana bez aktualizacji instalatora ... -polish.IoBrokerNewest=Najnowsza dostępna wersja ioBrokera (JS-Controller): %d.%d.%d -polish.IoBrokerNewestNewer=Nowa wersja ioBrokera (JS-Controller) dostępna: %d.%d.%d +polish.IoBrokerNewest=Najnowsza dostępna wersja ioBrokera (JS-Controller): %d.%d.%d%s +polish.IoBrokerNewestNewer=Nowa wersja ioBrokera (JS-Controller) dostępna: %d.%d.%d%s polish.IoBrokerNewestOK=ioBroker (JS-Controller) jest aktualny! polish.IoBrokerNewestNotFound=Nie można określić najnowszej wersji JS-Controllera! -polish.InstallIoBrokerUpdate=Aktualizuj ioBrokera (JS-Controller) z wersji %d.%d.%d do %d.%d.%d -polish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) zostanie zaktualizowany z wersji %d.%d.%d do %d.%d.%d -polish.UpdatingIoBroker=Aktualizowanie JS-Controllera z wersji %d.%d.%d do %d.%d.%d ... +polish.InstallIoBrokerUpdate=Aktualizuj ioBrokera (JS-Controller) z wersji %d.%d.%d%s do %d.%d.%d%s +polish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) zostanie zaktualizowany z wersji %d.%d.%d%s do %d.%d.%d%s +polish.UpdatingIoBroker=Aktualizowanie JS-Controllera z wersji %d.%d.%d%s do %d.%d.%d%s ... polish.UpdatingFailedIoBroker=Aktualizacja ioBrokera nie powiodła się. Po kliknięciu przycisku OK zostanie wyświetlony plik dziennika. Sprawdź go i znajdź przyczynę niepowodzenia. Instalator zostanie zamknięty. diff --git a/build/windows/language/portuguese.txt b/build/windows/language/portuguese.txt index f3887ad..ead32ea 100644 --- a/build/windows/language/portuguese.txt +++ b/build/windows/language/portuguese.txt @@ -1,7 +1,7 @@ portuguese.Intro=ioBroker é um servidor central para casas inteligentes, automação predial e vida assistida ativa.%n%nCom.h ioBroker você obtém:%n- uma solução IOT poderosa, mas fácil de gerenciar%n- uma interface amigável%n- fácil integração com sistemas e serviços existentes%n- design modular%n- visualizações baseadas na web%n- acesso móvel%n- conectividade com Alexa, Homekit e muitos outros sistemas domésticos inteligentes - ajuda de uma comunidade grande e ativa%n%nioBroker - Automatize seu life%n%nVersão do Instalador {#MyAppVersion} portuguese.PortInUse=Porta %s já em uso pelo processo "%s", PID %s portuguese.PortAvailable=Porta %d ist vrfügbar -portuguese.IoBrokerInstalled=ioBroker versão %d.%d.%d instalado em %s +portuguese.IoBrokerInstalled=ioBroker versão %d.%d.%d%s instalado em %s portuguese.IoBrokerNotInstalled=ioBroker não instalado em %s portuguese.NodeInstalled=Node.js versão %d.%d.%d instalado em %s portuguese.NodeNotInstalled=Node.js não instalado em %s @@ -147,11 +147,11 @@ portuguese.CheckingForUpdates=Verificando atualizações ... portuguese.DownloadingInstaller=Baixando o instalador %s ... portuguese.StartInstaller=O instalador %s foi baixado e está sendo iniciado agora. portuguese.InstallerUpdateFailed=Algo deu errado por razões desconhecidas [%d]%n%nA instalação do ioBroker continuará sem a atualização do instalador ... -portuguese.IoBrokerNewest=Versão mais recente do ioBroker disponível (JS-Controller): %d.%d.%d -portuguese.IoBrokerNewestNewer=Nova versão do ioBroker (JS-Controller) disponível: %d.%d.%d +portuguese.IoBrokerNewest=Versão mais recente do ioBroker disponível (JS-Controller): %d.%d.%d%s +portuguese.IoBrokerNewestNewer=Nova versão do ioBroker (JS-Controller) disponível: %d.%d.%d%s portuguese.IoBrokerNewestOK=ioBroker (JS-Controller) está atualizado! portuguese.IoBrokerNewestNotFound=Não foi possível determinar a versão mais recente do JS-Controller! -portuguese.InstallIoBrokerUpdate=Atualizar ioBroker (JS-Controller) da versão %d.%d.%d para %d.%d.%d -portuguese.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) será atualizado da versão %d.%d.%d para %d.%d.%d -portuguese.UpdatingIoBroker=Atualizando JS-Controller da versão %d.%d.%d para %d.%d.%d ... +portuguese.InstallIoBrokerUpdate=Atualizar ioBroker (JS-Controller) da versão %d.%d.%d%s para %d.%d.%d%s +portuguese.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) será atualizado da versão %d.%d.%d%s para %d.%d.%d%s +portuguese.UpdatingIoBroker=Atualizando JS-Controller da versão %d.%d.%d%s para %d.%d.%d%s ... portuguese.UpdatingFailedIoBroker=A atualização do ioBroker falhou. Após clicar em OK, o arquivo de log será exibido. Verifique e encontre o motivo da falha. O instalador será fechado. diff --git a/build/windows/language/russian.txt b/build/windows/language/russian.txt index 4217fcb..ba692bf 100644 --- a/build/windows/language/russian.txt +++ b/build/windows/language/russian.txt @@ -1,7 +1,7 @@ russian.Intro=ioBroker - это центральный сервер для умных домов и автоматизации.%n%nCioBroker вы получаете:%n- мощное, но простое в управлении решение от%n- удобный интерфейс%n- простая интеграция с существующими системами и службами%n- модульный дизайн%n- визуализация через Интернет%n- мобильный доступ%n- подключение к Alexa, Homekit многим другим системам умного дома%n- помощь от большого и активного сообщества%n%nioBroker - Automate your life%n%nInstaller Version {#MyAppVersion} russian.PortInUse=Порт %s уже используется процессом "%s", PID %s russian.PortAvailable=Порт %d доступен -russian.IoBrokerInstalled=Версия ioBroker %d.%d.%d установлена ​​в %s +russian.IoBrokerInstalled=Версия ioBroker %d.%d.%d%s установлена ​​в %s russian.IoBrokerNotInstalled=ioBroker не установлен в %s russian.NodeInstalled=Версия Node.js %d.%d.%d установлена ​​в %s russian.NodeNotInstalled=Node.js не установлен в %s @@ -147,11 +147,11 @@ russian.CheckingForUpdates=Проверка обновлений ... russian.DownloadingInstaller=Загрузка установщика %s ... russian.StartInstaller=Установщик %s был загружен и теперь запускается. russian.InstallerUpdateFailed=Что-то пошло не так по неизвестным причинам [%d]%n%nУстановка ioBroker будет продолжена без обновления установщика ... -russian.IoBrokerNewest=Новейшая доступная версия ioBroker (JS-Controller): %d.%d.%d -russian.IoBrokerNewestNewer=Доступна новая версия ioBroker (JS-Controller): %d.%d.%d +russian.IoBrokerNewest=Новейшая доступная версия ioBroker (JS-Controller): %d.%d.%d%s +russian.IoBrokerNewestNewer=Доступна новая версия ioBroker (JS-Controller): %d.%d.%d%s russian.IoBrokerNewestOK=ioBroker (JS-Controller) обновлен! russian.IoBrokerNewestNotFound=Не удалось определить новейшую версию JS-Controller! -russian.InstallIoBrokerUpdate=Обновить ioBroker (JS-Controller) с версии %d.%d.%d до %d.%d.%d -russian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) будет обновлен с версии %d.%d.%d до %d.%d.%d -russian.UpdatingIoBroker=Обновление JS-Controller с версии %d.%d.%d до %d.%d.%d ... +russian.InstallIoBrokerUpdate=Обновить ioBroker (JS-Controller) с версии %d.%d.%d%s до %d.%d.%d%s +russian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) будет обновлен с версии %d.%d.%d%s до %d.%d.%d%s +russian.UpdatingIoBroker=Обновление JS-Controller с версии %d.%d.%d%s до %d.%d.%d%s ... russian.UpdatingFailedIoBroker=Обновление ioBroker не удалось. После нажатия OK будет отображен файл журнала. Проверьте его и найдите причину сбоя. Установщик будет закрыт. diff --git a/build/windows/language/spanish.txt b/build/windows/language/spanish.txt index 7ac09f4..7182460 100644 --- a/build/windows/language/spanish.txt +++ b/build/windows/language/spanish.txt @@ -1,7 +1,7 @@ spanish.Intro=ioBroker es un servidor central para casas inteligentes, automatizacin de edificios y vida asistida activa.%n%nCon ioBroker obtienes:%n- una solucin IOT poderosa pero fcil de administrar%n- una interfaz fcil de usar%n- fcil integracin con sistemas y servicios existentes%n- diseo modular%n- visualizaciones basadas en web%n- acceso mvil%n- conectividad con Alexa, Homekit y muchos otros sistemas domsticos inteligentes - ayuda de una comunidad grande y activa%n%nioBroker - Automatice su life%n%nVersin del instalador {#MyAppVersion} spanish.PortInUse=Puerto %s ya en uso por el proceso "%s", PID %s spanish.PortAvailable=Puerto %d ist vrfgbar -spanish.IoBrokerInstalled=Versin de ioBroker %d.%d.%d instalada en %s +spanish.IoBrokerInstalled=Versin de ioBroker %d.%d.%d%s instalada en %s spanish.IoBrokerNotInstalled=ioBroker no est instalado en %s spanish.NodeInstalled=Node.js versin %d.%d.%d instalada en %s spanish.NodeNotInstalled=Node.js no est instalado en %s @@ -147,11 +147,11 @@ spanish.CheckingForUpdates=Comprobando actualizaciones ... spanish.DownloadingInstaller=Descargando el instalador %s ... spanish.StartInstaller=El instalador %s se ha descargado y ahora se est iniciando. spanish.InstallerUpdateFailed=Algo sali mal por razones desconocidas [%d]%n%nLa instalacin de ioBroker continuar sin la actualizacin del instalador ... -spanish.IoBrokerNewest=Nueva versin disponible de ioBroker (JS-Controller): %d.%d.%d -spanish.IoBrokerNewestNewer=Nueva versin de ioBroker (JS-Controller) disponible: %d.%d.%d +spanish.IoBrokerNewest=Nueva versin disponible de ioBroker (JS-Controller): %d.%d.%d%s +spanish.IoBrokerNewestNewer=Nueva versin de ioBroker (JS-Controller) disponible: %d.%d.%d%s spanish.IoBrokerNewestOK=ioBroker (JS-Controller) est actualizado! spanish.IoBrokerNewestNotFound=No se pudo determinar la versin ms reciente de JS-Controller! -spanish.InstallIoBrokerUpdate=Actualizar ioBroker (JS-Controller) desde la versin %d.%d.%d hasta %d.%d.%d -spanish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) se actualizar desde la versin %d.%d.%d hasta %d.%d.%d -spanish.UpdatingIoBroker=Actualizando JS-Controller desde la versin %d.%d.%d hasta %d.%d.%d ... +spanish.InstallIoBrokerUpdate=Actualizar ioBroker (JS-Controller) desde la versin %d.%d.%d%s hasta %d.%d.%d%s +spanish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) se actualizar desde la versin %d.%d.%d%s hasta %d.%d.%d%s +spanish.UpdatingIoBroker=Actualizando JS-Controller desde la versin %d.%d.%d%s hasta %d.%d.%d%s ... spanish.UpdatingFailedIoBroker=La actualizacin de ioBroker fall. Despus de hacer clic en Aceptar se mostrar el archivo de registro. Revsalo y encuentra la razn del fallo. El instalador se cerrar. diff --git a/build/windows/language/ukrainian.txt b/build/windows/language/ukrainian.txt index 0cfc5c9..f742f49 100644 --- a/build/windows/language/ukrainian.txt +++ b/build/windows/language/ukrainian.txt @@ -1,7 +1,7 @@ ukrainian.Intro=ioBroker — це центральний сервер для розумних будинків, автоматизації будівель і активного проживання.%n%nЗ ioBroker ви отримуєте:%n- потужне, але просте в управлінні рішення IOT%n- зручний інтерфейс%n- легку інтеграцію з існуючі системи та послуги%n- модульний дизайн%n- веб-візуалізація%n- мобільний доступ%n- підключення до Alexa, Homekit та багатьох інших систем розумного дому - допомога від великої та активної спільноти%n%nioBroker - автоматизуйте свій life%n%nВерсія інсталятора {#MyAppVersion} ukrainian.PortInUse=Порт %s уже використовується процесом "%s", PID %s ukrainian.PortAvailable=Порт %d ist vrfügbar -ukrainian.IoBrokerInstalled=ioBroker версія %d.%d.%d встановлено в %s +ukrainian.IoBrokerInstalled=ioBroker версія %d.%d.%d%s встановлено в %s ukrainian.IoBrokerNotInstalled=ioBroker не встановлено в %s ukrainian.NodeInstalled=Node.js версії %d.%d.%d встановлено в %s ukrainian.NodeNotInstalled=Node.js не встановлено в %s @@ -147,11 +147,11 @@ ukrainian.CheckingForUpdates=Перевірка оновлень ... ukrainian.DownloadingInstaller=Завантаження установника %s ... ukrainian.StartInstaller=Установник %s був завантажений і зараз запускається. ukrainian.InstallerUpdateFailed=Щось пішло не так з невідомих причин [%d]%n%nІнсталяція ioBroker буде продовжена без оновлення установника ... -ukrainian.IoBrokerNewest=Найновіша доступна версія ioBroker (JS-Controller): %d.%d.%d -ukrainian.IoBrokerNewestNewer=Доступна нова версія ioBroker (JS-Controller): %d.%d.%d +ukrainian.IoBrokerNewest=Найновіша доступна версія ioBroker (JS-Controller): %d.%d.%d%s +ukrainian.IoBrokerNewestNewer=Доступна нова версія ioBroker (JS-Controller): %d.%d.%d%s ukrainian.IoBrokerNewestOK=ioBroker (JS-Controller) оновлено! ukrainian.IoBrokerNewestNotFound=Не вдалося визначити найновішу версію JS-Controller! -ukrainian.InstallIoBrokerUpdate=Оновити ioBroker (JS-Controller) з версії %d.%d.%d на %d.%d.%d -ukrainian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) буде оновлено з версії %d.%d.%d на %d.%d.%d -ukrainian.UpdatingIoBroker=Оновлення JS-Controller з версії %d.%d.%d на %d.%d.%d ... +ukrainian.InstallIoBrokerUpdate=Оновити ioBroker (JS-Controller) з версії %d.%d.%d%s на %d.%d.%d%s +ukrainian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) буде оновлено з версії %d.%d.%d%s на %d.%d.%d%s +ukrainian.UpdatingIoBroker=Оновлення JS-Controller з версії %d.%d.%d%s на %d.%d.%d%s ... ukrainian.UpdatingFailedIoBroker=Оновлення ioBroker не вдалося. Після натискання кнопки OK буде відображений файл журналу. Перевірте його і знайдіть причину невдачі. Інсталятор буде закритий. From c0ac36d19876734613b0ac6cca412da09f364103 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Thu, 30 May 2024 11:15:04 +0200 Subject: [PATCH 2/7] Allow installation of @next step 2 --- README.md | 6 ++ build/windows/ioBroker.iss | 97 ++++++++++++++++++++++----- build/windows/language/dutch.txt | 1 + build/windows/language/english.txt | 4 +- build/windows/language/french.txt | 1 + build/windows/language/german.txt | 1 + build/windows/language/italian.txt | 1 + build/windows/language/polish.txt | 1 + build/windows/language/portuguese.txt | 1 + build/windows/language/russian.txt | 1 + build/windows/language/spanish.txt | 1 + build/windows/language/ukrainian.txt | 1 + 12 files changed, 97 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 1eb9d0d..ad12941 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,12 @@ Pre-requires: ## Changelog +### **WORK IN PROGRESS** + +- (Gaspode) Make fixer after JS-Controller Upgrade optional +- (Gaspode) Offer Alpha and Beta updates (@next) of JS-Controller in expert mode +- (Gaspode) Allow JS-Controller downgrade to current version in expert mode + # 3.2.0 (23.05.2024) - (Gaspode) Execute fixer after JS-Controller Upgrade (required for JS-Controller 6) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index d953527..e7d942c 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -37,7 +37,8 @@ ; - 23.05.2024 Gaspode: Execute fixer after JS-Controller Upgrade - ; - (required for JS-Controller 6) - ; - 29.05.2024 Gaspode: Make fixer after JS-Controller Upgrade optional - -; - 29.05.2024 Gaspode: Offer Alpha and Beta updates of JS-Controller in expert mode (@next) - +; - 29.05.2024 Gaspode: Offer Alpha and Beta updates (@next) of JS-Controller in expert mode - +; - 30.05.2024 Gaspode: Allow JS-Controller downgrade to current version in expert mode - ; - - ; ---------------------------------------------------------------------------------------------- #define MyAppName "ioBroker automation platform" @@ -605,6 +606,8 @@ begin patch := 0; postfix := ''; + s := trim(s); + // We search fo the first character which is not numerical and no dot to find out the three part version string for curPos := 1 to Length(s) do begin if not (s[curPos] in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.']) then begin @@ -613,7 +616,6 @@ begin Break; end; end; - // At this point versionString contains the standard three part version string explode(versionArray, s, '.'); if (GetArrayLength(versionArray) > 2) then begin @@ -625,7 +627,56 @@ begin end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} -function compareVersions(major1: Integer; minor1: Integer; patch1: Integer; major2: Integer; minor2: Integer; patch2: Integer): Integer; +function compareVersionPostfix(const s1, s2: String): Integer; +{--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} +var + i, l1, l2, lMin: Integer; +begin + // It is OK, to compare the strings character by character. An empty string is treated as the highest posible value. + l1 := Length(s1); + l2 := Length(s2); + + if l1 < l2 then + lMin := l1 + else + lMin := l2; + + if (l1 = 0) and (l2 > 0) then + Result := 1 + else if (l2 = 0) and (l1 > 0) then + Result := -1 + else if (l1 = 0) and (l2 = 0) then + Result := 0 + else + begin + Result := 0; + for i := 1 to lMin do + begin + if s1[i] > s2[i] then + begin + Result := 1; + Break; + end + else if s1[i] < s2[i] then + begin + Result := -1; + Break; + end; + end; + + // If all characters are equal, the shorter string is treated as higher value + if (Result = 0) and (l1 <> l2) then + begin + if l1 < l2 then + Result := 1 + else + Result := -1; + end; + end; +end; + +{--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} +function compareVersions(major1: Integer; minor1: Integer; patch1: Integer; postfix1: String; major2: Integer; minor2: Integer; patch2: Integer; postfix2: String): Integer; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} begin if major1 = major2 then @@ -633,7 +684,7 @@ begin if minor1 = minor2 then begin if patch1 = patch2 then - Result := 0 + Result := compareVersionPostfix(postfix1, postfix2) else if patch1 < patch2 then Result := -1 else @@ -1101,7 +1152,7 @@ begin versionString := Trim(Copy(versionString, 1, curPos-1)); Log(Format('Latest ioBroker version: %s', [versionString])); convertVersion(versionString, major, minor, patch, postfix); - Log(Format('Latest ioBroker version: %d, %d, %d', [major, minor, patch])); + Log(Format('Latest ioBroker version: %d, %d, %d%s', [major, minor, patch, postfix])); end; end else begin @@ -1673,7 +1724,7 @@ begin sumInfo2NodeLabel.Caption := CustomMessage('NodeNotInstalled'); end else begin - if (compareVersions(instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch, rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch) = 0) then begin + if (compareVersions(instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch, '', rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch, '') = 0) then begin sumInfo1NodeLabel.Font.Color := clGreen; sumInfo1NodeLabel.Caption := '✓'; sumInfo2NodeLabel.Caption := Format(CustomMessage('NodeInstalled'), [instNodeVersionMajor, instNodeVersionMinor, instNodeVersionPatch, nodePath]); @@ -1707,12 +1758,19 @@ begin end end else begin - if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) > 0) then begin + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) then begin sumInfo1IoBrokerLabel.Font.Color := $00A5FF; sumInfo1IoBrokerLabel.Caption := '⚠'; end else begin - sumInfo1IoBrokerLabel.Font.Color := clGreen; + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) = 0) then begin + sumInfo1IoBrokerLabel.Font.Color := clGreen; + end + else begin + sumInfo1IoBrokerLabel.Font.Color := $00A5FF; + end; sumInfo1IoBrokerLabel.Caption := '✓'; end; sumInfo2IoBrokerLabel.Caption := Format(CustomMessage('IoBrokerInstalled'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, appInstPath]); @@ -1721,11 +1779,13 @@ begin sumInfo2IoBrokerNewestLabel.Caption := CustomMessage('IoBrokerNewestNotFound'); end else begin - if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) > 0) then begin + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) then begin sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewestNewer'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end else begin - if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) = 0) then begin + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) = 0) then begin sumInfo2IoBrokerNewestLabel.Caption := CustomMessage('IoBrokerNewestOK'); end else begin @@ -1867,8 +1927,12 @@ begin optFixIoBrokerCB.Enabled := False; end else begin - if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionMajor, iobVersionMinor, iobVersionPatch) > 0) then begin - // JS-Controller update available + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) or + (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) < 0) and expertCB.Checked + then begin + // JS-Controller update available, if expert mode is enabled, we also offer downgrade optInstallIoBrokerCB.checked := True; optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokerUpdate'),[iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); @@ -1884,7 +1948,7 @@ begin optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokeralreadyInstalled'),[appInstPath]); optInstallIoBrokerCB.Enabled := False; - optFixIoBrokerCB.checked := False; + optFixIoBrokerCB.checked := True; optFixIoBrokerCB.Caption := ' ' + Format(CustomMessage('FixIoBroker'),[appInstPath]); optFixIoBrokerCB.Enabled := True; end; @@ -2651,7 +2715,7 @@ begin cmd := '"' + nodePath + '\node.exe" "' + appInstPath + '\node_modules\iobroker.js-controller/iobroker.js" upgrade self'; end else begin - cmd := '"' + nodePath + '\npm" i iobroker.js-controller@next --omit=dev'; + cmd := '"' + nodePath + '\npm" i iobroker.js-controller@next --omit=dev --yes'; end; info := Format(CustomMessage('UpdatingIoBroker'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); @@ -2684,13 +2748,12 @@ begin if isIobUpdate then begin // In this case no instDone file is created, we have to verify the success in another way: gatherNewestIoBrokerVersion(majorV, minorV, patchV, postfixV); - Result := compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, majorV, minorV, patchV) = 0; - // WSC ToDo check including postfix!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + Result := compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, majorV, minorV, patchV, postfixV) = 0; Log('ioBroker JS-Controller update done!'); SaveStringToFile(logName, '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10) + 'JS-Controller Update done.' + chr(13) + chr(10) + - Format('Verification: Latest JS-Controller: %d.%d.%d, installed: %d.%d.%d', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, majorV, minorV, patchV]) + chr(13) + chr(10) + + Format('Verification: Latest JS-Controller: %d.%d.%d%s, installed: %d.%d.%d%s', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, majorV, minorV, patchV, postfixV]) + chr(13) + chr(10) + '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10), True); if Result and optFixIoBrokerCB.Checked then begin diff --git a/build/windows/language/dutch.txt b/build/windows/language/dutch.txt index e0a21d1..63cfa92 100644 --- a/build/windows/language/dutch.txt +++ b/build/windows/language/dutch.txt @@ -155,3 +155,4 @@ dutch.InstallIoBrokerUpdate=Update ioBroker (JS-controller) van versie %d.%d.%d% dutch.SummaryInstallIoBrokerUpdate=JS-controller zal worden bijgewerkt van versie %d.%d.%d%s naar %d.%d.%d%s dutch.UpdatingIoBroker=JS-controller bijwerken van versie %d.%d.%d%s naar %d.%d.%d%s ... dutch.UpdatingFailedIoBroker=ioBroker bijwerken is mislukt. Na het klikken op OK wordt het logbestand weergegeven. Controleer het en zoek de reden voor de mislukking. Het installatieprogramma wordt gesloten. +dutch.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/english.txt b/build/windows/language/english.txt index 37b7185..f12a8ed 100644 --- a/build/windows/language/english.txt +++ b/build/windows/language/english.txt @@ -147,8 +147,8 @@ english.CheckingForUpdates=Checking for updates ... english.DownloadingInstaller=Downloading Installer %s ... english.StartInstaller=Installer %s has been downloaded and is now being launched. english.InstallerUpdateFailed=Something went wrong for unknown reasons [%d]%n%nioBroker installation will continue without Installer update ... -english.IoBrokerNewest=Newest available ioBroker version (JS-Controller): %d.%d.%d -english.IoBrokerNewestNewer=New ioBroker version (JS-Controller) available: %d.%d.%d +english.IoBrokerNewest=Newest available ioBroker version (JS-Controller): %d.%d.%d%s +english.IoBrokerNewestNewer=New ioBroker version (JS-Controller) available: %d.%d.%d%s english.IoBrokerNewestOK=ioBroker (JS-Controller) is up to date! english.IoBrokerNewestNotFound=Newest JS-Controller version could not be determined! english.InstallIoBrokerUpdate=Update ioBroker (JS-Controller) from version %d.%d.%d%s to %d.%d.%d%s diff --git a/build/windows/language/french.txt b/build/windows/language/french.txt index c6fffbb..4e6d4a1 100644 --- a/build/windows/language/french.txt +++ b/build/windows/language/french.txt @@ -155,3 +155,4 @@ french.InstallIoBrokerUpdate=Mettre french.SummaryInstallIoBrokerUpdate=JS-Controller sera mis jour de la version %d.%d.%d%s %d.%d.%d%s french.UpdatingIoBroker=Mise jour de JS-Controller de la version %d.%d.%d%s %d.%d.%d%s en cours ... french.UpdatingFailedIoBroker=La mise jour d'ioBroker a chou. Aprs avoir cliqu sur OK, le fichier journal sera affich. Vrifiez-le et trouvez la raison de l'chec. L'installateur sera ferm. +french.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/german.txt b/build/windows/language/german.txt index 23a3b93..e46218b 100644 --- a/build/windows/language/german.txt +++ b/build/windows/language/german.txt @@ -155,3 +155,4 @@ german.InstallIoBrokerUpdate=ioBroker (JS-Controller) aktualisieren von Version german.SummaryInstallIoBrokerUpdate=JS-Controller wird von Version %d.%d.%d%s auf %d.%d.%d%s aktualisiert german.UpdatingIoBroker=Aktualisiere JS-Controller von Version %d.%d.%d%s auf %d.%d.%d%s ... german.UpdatingFailedIoBroker=Aktualisierung von ioBroker fehlgeschlagen. Wenn Du auf OK klickst, wird das Log file angezeigt. Bitte berprfe es und beseitige die Ursache fr das Installationsproblem. Der ioBroker Installer wird beendet. +german.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/italian.txt b/build/windows/language/italian.txt index 9af5782..a862cb9 100644 --- a/build/windows/language/italian.txt +++ b/build/windows/language/italian.txt @@ -155,3 +155,4 @@ italian.InstallIoBrokerUpdate=Aggiorna ioBroker (JS-Controller) dalla versione % italian.SummaryInstallIoBrokerUpdate=JS-Controller verr aggiornato dalla versione %d.%d.%d%s a %d.%d.%d%s italian.UpdatingIoBroker=Aggiornamento JS-Controller dalla versione %d.%d.%d%s a %d.%d.%d%s ... italian.UpdatingFailedIoBroker=Aggiornamento di ioBroker non riuscito. Dopo aver fatto clic su OK verr visualizzato il file di registro. Controllalo e trova il motivo del fallimento. Il programma di installazione verr chiuso. +italian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/polish.txt b/build/windows/language/polish.txt index a1430fa..52c4d73 100644 --- a/build/windows/language/polish.txt +++ b/build/windows/language/polish.txt @@ -155,3 +155,4 @@ polish.InstallIoBrokerUpdate=Aktualizuj ioBrokera (JS-Controller) z wersji %d.%d polish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) zostanie zaktualizowany z wersji %d.%d.%d%s do %d.%d.%d%s polish.UpdatingIoBroker=Aktualizowanie JS-Controllera z wersji %d.%d.%d%s do %d.%d.%d%s ... polish.UpdatingFailedIoBroker=Aktualizacja ioBrokera nie powiodła się. Po kliknięciu przycisku OK zostanie wyświetlony plik dziennika. Sprawdź go i znajdź przyczynę niepowodzenia. Instalator zostanie zamknięty. +polish.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/portuguese.txt b/build/windows/language/portuguese.txt index ead32ea..664b277 100644 --- a/build/windows/language/portuguese.txt +++ b/build/windows/language/portuguese.txt @@ -155,3 +155,4 @@ portuguese.InstallIoBrokerUpdate=Atualizar ioBroker (JS-Controller) da versão % portuguese.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) será atualizado da versão %d.%d.%d%s para %d.%d.%d%s portuguese.UpdatingIoBroker=Atualizando JS-Controller da versão %d.%d.%d%s para %d.%d.%d%s ... portuguese.UpdatingFailedIoBroker=A atualização do ioBroker falhou. Após clicar em OK, o arquivo de log será exibido. Verifique e encontre o motivo da falha. O instalador será fechado. +portuguese.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/russian.txt b/build/windows/language/russian.txt index ba692bf..0f8b765 100644 --- a/build/windows/language/russian.txt +++ b/build/windows/language/russian.txt @@ -155,3 +155,4 @@ russian.InstallIoBrokerUpdate=Обновить ioBroker (JS-Controller) с ве russian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) будет обновлен с версии %d.%d.%d%s до %d.%d.%d%s russian.UpdatingIoBroker=Обновление JS-Controller с версии %d.%d.%d%s до %d.%d.%d%s ... russian.UpdatingFailedIoBroker=Обновление ioBroker не удалось. После нажатия OK будет отображен файл журнала. Проверьте его и найдите причину сбоя. Установщик будет закрыт. +russian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/spanish.txt b/build/windows/language/spanish.txt index 7182460..9285046 100644 --- a/build/windows/language/spanish.txt +++ b/build/windows/language/spanish.txt @@ -155,3 +155,4 @@ spanish.InstallIoBrokerUpdate=Actualizar ioBroker (JS-Controller) desde la versi spanish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) se actualizar desde la versin %d.%d.%d%s hasta %d.%d.%d%s spanish.UpdatingIoBroker=Actualizando JS-Controller desde la versin %d.%d.%d%s hasta %d.%d.%d%s ... spanish.UpdatingFailedIoBroker=La actualizacin de ioBroker fall. Despus de hacer clic en Aceptar se mostrar el archivo de registro. Revsalo y encuentra la razn del fallo. El instalador se cerrar. +spanish.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) diff --git a/build/windows/language/ukrainian.txt b/build/windows/language/ukrainian.txt index f742f49..219b7e4 100644 --- a/build/windows/language/ukrainian.txt +++ b/build/windows/language/ukrainian.txt @@ -155,3 +155,4 @@ ukrainian.InstallIoBrokerUpdate=Оновити ioBroker (JS-Controller) з ве ukrainian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) буде оновлено з версії %d.%d.%d%s на %d.%d.%d%s ukrainian.UpdatingIoBroker=Оновлення JS-Controller з версії %d.%d.%d%s на %d.%d.%d%s ... ukrainian.UpdatingFailedIoBroker=Оновлення ioBroker не вдалося. Після натискання кнопки OK буде відображений файл журналу. Перевірте його і знайдіть причину невдачі. Інсталятор буде закритий. +ukrainian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) From ce461e02a5519d97c911f25b7346bc1443bf7bf6 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Fri, 31 May 2024 09:42:39 +0200 Subject: [PATCH 3/7] Fix in summary text --- build/windows/ioBroker.iss | 2 +- build/windows/language/dutch.txt | 2 +- build/windows/language/english.txt | 2 +- build/windows/language/french.txt | 2 +- build/windows/language/german.txt | 2 +- build/windows/language/italian.txt | 2 +- build/windows/language/polish.txt | 2 +- build/windows/language/portuguese.txt | 2 +- build/windows/language/russian.txt | 2 +- build/windows/language/spanish.txt | 2 +- build/windows/language/ukrainian.txt | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index e7d942c..4cb75b8 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -3486,7 +3486,7 @@ begin end else begin if iobversionMajor > 0 then begin - Result := Result + NewLine + Space + Format(CustomMessage('SummaryKeepIoBroker'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, appInstPath]); + Result := Result + NewLine + Space + Format(CustomMessage('SummaryKeepIoBroker'), [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, appInstPath]); end else begin Result := Result + NewLine + Space + Format(CustomMessage('SummaryKeepIoBrokerProbably'), [appInstPath]); diff --git a/build/windows/language/dutch.txt b/build/windows/language/dutch.txt index 63cfa92..a6ff108 100644 --- a/build/windows/language/dutch.txt +++ b/build/windows/language/dutch.txt @@ -36,7 +36,7 @@ dutch.SummaryInstallNodeJS=Node.js versie %d.%d.%d wordt geïnstalleerd dutch.SummaryUpdateNodeJS=Node.js wordt bijgewerkt van versie %d.%d.%d naar versie %d.%d.%d dutch.SummaryKeepNodeJS=Node.js-versie %d.%d.%d is al geïnstalleerd en zal niet worden gewijzigd dutch.SummaryInstallIoBroker=ioBroker zal worden geïnstalleerd in %s -dutch.SummaryKeepIoBroker=ioBroker-versie %d.%d.%d is al geïnstalleerd in %s en zal niet worden gewijzigd +dutch.SummaryKeepIoBroker=ioBroker-versie %d.%d.%d%s is al geïnstalleerd in %s en zal niet worden gewijzigd dutch.SummaryKeepIoBrokerProbably=ioBroker is waarschijnlijk al geïnstalleerd in %s en zal niet worden gewijzigd dutch.SummaryExecuteFixer=ioBroker fixer wordt uitgevoerd dutch.SummaryNotExecuteFixer=ioBroker fixer wordt niet uitgevoerd diff --git a/build/windows/language/english.txt b/build/windows/language/english.txt index f12a8ed..ce0818f 100644 --- a/build/windows/language/english.txt +++ b/build/windows/language/english.txt @@ -36,7 +36,7 @@ english.SummaryInstallNodeJS=Node.js version %d.%d.%d will be installed english.SummaryUpdateNodeJS=Node.js will be updated from version %d.%d.%d to Version %d.%d.%d english.SummaryKeepNodeJS=Node.js version %d.%d.%d is already installed and will not be changed english.SummaryInstallIoBroker=ioBroker will be installed in %s -english.SummaryKeepIoBroker=ioBroker version %d.%d.%d is already installed in %s and will not be changed +english.SummaryKeepIoBroker=ioBroker version %d.%d.%d%s is already installed in %s and will not be changed english.SummaryKeepIoBrokerProbably=ioBroker is probably already installed in %s and will not be changed english.SummaryExecuteFixer=ioBroker fixer will be executed english.SummaryNotExecuteFixer=ioBroker fixer will not be executed diff --git a/build/windows/language/french.txt b/build/windows/language/french.txt index 4e6d4a1..d437cc5 100644 --- a/build/windows/language/french.txt +++ b/build/windows/language/french.txt @@ -36,7 +36,7 @@ french.SummaryInstallNodeJS=La version %d.%d.%d de Node.js sera install french.SummaryUpdateNodeJS=Node.js sera mis jour de la version %d.%d.%d vers la version %d.%d.%d french.SummaryKeepNodeJS=La version Node.js %d.%d.%d est dj installe et ne sera pas modifie french.SummaryInstallIoBroker=ioBroker sera install dans %s -french.SummaryKeepIoBroker=La version d'ioBroker %d.%d.%d est dj installe dans %s et ne sera pas modifie +french.SummaryKeepIoBroker=La version d'ioBroker %d.%d.%d%s est dj installe dans %s et ne sera pas modifie french.SummaryKeepIoBrokerProbably=ioBroker est probablement dj install dans %s et ne sera pas modifi french.SummaryExecuteFixer=Le fixateur ioBroker sera excut french.SummaryNotExecuteFixer=Le fixateur ioBroker ne sera pas excut diff --git a/build/windows/language/german.txt b/build/windows/language/german.txt index e46218b..4d4ba94 100644 --- a/build/windows/language/german.txt +++ b/build/windows/language/german.txt @@ -36,7 +36,7 @@ german.SummaryInstallNodeJS=Node.js Version %d.%d.%d wird installiert german.SummaryUpdateNodeJS=Node.js wird aktualisiert von Version %d.%d.%d auf Version %d.%d.%d german.SummaryKeepNodeJS=Node.js Version %d.%d.%d ist bereits installiert und wird nicht verndert german.SummaryInstallIoBroker=ioBroker wird installiert in %s -german.SummaryKeepIoBroker=ioBroker Version %d.%d.%d ist bereits in %s installiert und wird nicht verndert +german.SummaryKeepIoBroker=ioBroker Version %d.%d.%d%s ist bereits in %s installiert und wird nicht verndert german.SummaryKeepIoBrokerProbably=ioBroker ist mglicherweise bereits in %s installiert und wird nicht verndert german.SummaryExecuteFixer=ioBroker Fixer wird ausgefhrt german.SummaryNotExecuteFixer=ioBroker Fixer wird nicht ausgefhrt diff --git a/build/windows/language/italian.txt b/build/windows/language/italian.txt index a862cb9..287eab2 100644 --- a/build/windows/language/italian.txt +++ b/build/windows/language/italian.txt @@ -36,7 +36,7 @@ italian.SummaryInstallNodeJS=Verr italian.SummaryUpdateNodeJS=Node.js verr aggiornato dalla versione %d.%d.%d alla versione %d.%d.%d italian.SummaryKeepNodeJS=La versione di Node.js %d.%d.%d gi installata e non verr modificata italian.SummaryInstallIoBroker=ioBroker verr installato in %s -italian.SummaryKeepIoBroker=La versione di ioBroker %d.%d.%d gi installata in %s e non verr modificata +italian.SummaryKeepIoBroker=La versione di ioBroker %d.%d.%d%s gi installata in %s e non verr modificata italian.SummaryKeepIoBrokerProbably=ioBroker probabilmente gi installato in %s e non verr modificato italian.SummaryExecuteFixer=Il riparatore ioBroker verr eseguito italian.SummaryNotExecuteFixer=Il fixer ioBroker non verr eseguito diff --git a/build/windows/language/polish.txt b/build/windows/language/polish.txt index 52c4d73..e591760 100644 --- a/build/windows/language/polish.txt +++ b/build/windows/language/polish.txt @@ -36,7 +36,7 @@ polish.SummaryInstallNodeJS=Wersja Node.js %d.%d.%d zostanie zainstalowana polish.SummaryUpdateNodeJS=Node.js zostanie zaktualizowany z wersji %d.%d.%d do wersji %d.%d.%d polish.SummaryKeepNodeJS=Node.js w wersji %d.%d.%d jest już zainstalowany i nie zostanie zmieniony polish.SummaryInstallIoBroker=ioBroker zostanie zainstalowany w %s -polish.SummaryKeepIoBroker=Wersja ioBroker %d.%d.%d jest już zainstalowana w %s i nie zostanie zmieniona +polish.SummaryKeepIoBroker=Wersja ioBroker %d.%d.%d%s jest już zainstalowana w %s i nie zostanie zmieniona polish.SummaryKeepIoBrokerProbably=ioBroker jest prawdopodobnie już zainstalowany w %s i nie zostanie zmieniony polish.SummaryExecuteFixer=Naprawa ioBroker zostanie wykonana polish.SummaryNotExecuteFixer=ioBroker fixer nie zostanie wykonany diff --git a/build/windows/language/portuguese.txt b/build/windows/language/portuguese.txt index 664b277..a8872a6 100644 --- a/build/windows/language/portuguese.txt +++ b/build/windows/language/portuguese.txt @@ -36,7 +36,7 @@ portuguese.SummaryInstallNodeJS=A versão %d.%d.%d do Node.js será instalada portuguese.SummaryUpdateNodeJS=Node.js será atualizado da versão %d.%d.%d para a versão %d.%d.%d portuguese.SummaryKeepNodeJS=A versão %d.%d.%d do Node.js já está instalada e não será alterada portuguese.SummaryInstallIoBroker=ioBroker será instalado em %s -portuguese.SummaryKeepIoBroker=A versão %d.%d.%d do ioBroker já está instalada em %s e não será alterada +portuguese.SummaryKeepIoBroker=A versão %d.%d.%d%s do ioBroker já está instalada em %s e não será alterada portuguese.SummaryKeepIoBrokerProbably=ioBroker provavelmente já está instalado em %s e não será alterado portuguese.SummaryExecuteFixer=O fixador ioBroker será executado portuguese.SummaryNotExecuteFixer=O fixador ioBroker não será executado diff --git a/build/windows/language/russian.txt b/build/windows/language/russian.txt index 0f8b765..e7bac2e 100644 --- a/build/windows/language/russian.txt +++ b/build/windows/language/russian.txt @@ -36,7 +36,7 @@ russian.SummaryInstallNodeJS=Будет установлена ​​верси russian.SummaryUpdateNodeJS=Node.js будет обновлен с версии %d.%d.%d до версии %d.%d.%d russian.SummaryKeepNodeJS=Версия Node.js %d.%d.%d уже установлена ​​и не будет изменена russian.SummaryInstallIoBroker=ioBroker будет установлен в %s -russian.SummaryKeepIoBroker=Версия ioBroker %d.%d.%d уже установлена ​​в %s и не будет изменена +russian.SummaryKeepIoBroker=Версия ioBroker %d.%d.%d%s уже установлена ​​в %s и не будет изменена russian.SummaryKeepIoBrokerProbably=ioBroker, вероятно, уже установлен в %s и не будет изменен russian.SummaryExecuteFixer=ioBroker fixer будет выполнен russian.SummaryNotExecuteFixer=Исправление ioBroker не будет выполнено diff --git a/build/windows/language/spanish.txt b/build/windows/language/spanish.txt index 9285046..9bc7a83 100644 --- a/build/windows/language/spanish.txt +++ b/build/windows/language/spanish.txt @@ -36,7 +36,7 @@ spanish.SummaryInstallNodeJS=Se instalar spanish.SummaryUpdateNodeJS=Node.js se actualizar de la versin %d.%d.%d a la versin %d.%d.%d spanish.SummaryKeepNodeJS=La versin %d.%d.%d de Node.js ya est instalada y no se cambiar spanish.SummaryInstallIoBroker=ioBroker se instalar en %s -spanish.SummaryKeepIoBroker=La versin de ioBroker %d.%d.%d ya est instalada en %s y no se cambiar +spanish.SummaryKeepIoBroker=La versin de ioBroker %d.%d.%d%s ya est instalada en %s y no se cambiar spanish.SummaryKeepIoBrokerProbably=ioBroker probablemente ya est instalado en %s y no se cambiar spanish.SummaryExecuteFixer=Se ejecutar el reparador de ioBroker spanish.SummaryNotExecuteFixer=El reparador de ioBroker no se ejecutar diff --git a/build/windows/language/ukrainian.txt b/build/windows/language/ukrainian.txt index 219b7e4..1ac794d 100644 --- a/build/windows/language/ukrainian.txt +++ b/build/windows/language/ukrainian.txt @@ -36,7 +36,7 @@ ukrainian.SummaryInstallNodeJS=Node.js версії %d.%d.%d буде встан ukrainian.SummaryUpdateNodeJS=Node.js буде оновлено з версії %d.%d.%d до версії %d.%d.%d ukrainian.SummaryKeepNodeJS=Node.js версії %d.%d.%d уже встановлено та не буде змінено ukrainian.SummaryInstallIoBroker=ioBroker буде встановлено в %s -ukrainian.SummaryKeepIoBroker=Версія ioBroker %d.%d.%d уже встановлена ​​в %s і не буде змінена +ukrainian.SummaryKeepIoBroker=Версія ioBroker %d.%d.%d%s уже встановлена ​​в %s і не буде змінена ukrainian.SummaryKeepIoBrokerProbably=ioBroker, ймовірно, уже встановлено в %s і не буде змінено ukrainian.SummaryExecuteFixer=Буде виконано фіксатор ioBroker ukrainian.SummaryNotExecuteFixer=ioBroker Fixer не буде виконано From 16c677660893c8136766ddd5a8813c4269fb19fe Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Sat, 1 Jun 2024 13:37:32 +0200 Subject: [PATCH 4/7] Fix JS-Controller downgrade Display used repository --- build/windows/ioBroker.iss | 101 +++++++++++++++++++------- build/windows/language/dutch.txt | 5 +- build/windows/language/english.txt | 5 +- build/windows/language/french.txt | 4 +- build/windows/language/german.txt | 5 +- build/windows/language/italian.txt | 4 +- build/windows/language/polish.txt | 2 + build/windows/language/portuguese.txt | 2 + build/windows/language/russian.txt | 2 + build/windows/language/spanish.txt | 2 + build/windows/language/ukrainian.txt | 3 +- 11 files changed, 99 insertions(+), 36 deletions(-) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index 4cb75b8..dc311c3 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -277,6 +277,7 @@ var iobVersionNewMinor: Integer; // Minor Version of the currently available iob server version iobVersionNewPatch: Integer; // Patch Version of the currently available iob server version iobVersionNewPostfix: String; // Version postfix of the currently available iob server version if it is an alpha or beta version + iobRepository: String; // Used ioBroker repository for update/upgrade iobServiceExists: Boolean; // True if a windows service with service name 'iobServiceName' already exists iobInstalled: Boolean; // True if an ioBroker installation was found and verified in the currently handled path @@ -1127,32 +1128,48 @@ end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} -procedure gatherNewestIoBrokerVersion(var major: Integer; var minor: Integer; var patch: Integer; var postfix: String); +procedure gatherNewestIoBrokerVersion(var major: Integer; var minor: Integer; var patch: Integer; var postfix: String; var repo: String); {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} var + resultString: String; + resultStrings: TArrayOfString; versionString: String; nodeJsEx: String; ioBrokerEx: String; + curstringNo: Integer; curPos: Integer; begin major := 0; minor := 0; patch := 0; postfix := ''; + repo := '?'; if (nodePath <> '') then begin if not exoMaintainServerAlphaBetaCB.Checked then begin nodeJsEx := nodePath + '\node.exe'; ioBrokerEx := appInstPath + '\node_modules\iobroker.js-controller/iobroker.js'; - versionString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" update | find "Controller ""js-controller"":"', True, nodePath, ''); - if (versionString <> '') then begin - curPos := pos('Controller "js-controller": ', versionString) + 28; - versionString := Trim(Copy(versionString, curPos, Length(versionString) - curPos)); - curPos := pos(' ', versionString); - if (curPos > 0) then begin - versionString := Trim(Copy(versionString, 1, curPos-1)); - Log(Format('Latest ioBroker version: %s', [versionString])); - convertVersion(versionString, major, minor, patch, postfix); - Log(Format('Latest ioBroker version: %d, %d, %d%s', [major, minor, patch, postfix])); + resultString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" update', True, nodePath, ''); + if (resultString <> '') then begin + explode(resultStrings, Trim(resultString), chr(10)); + for curStringNo := 0 to GetArrayLength(resultStrings)-1 do begin + curPos := pos('Controller "js-controller": ', resultStrings[curStringNo]); + if (curPos > 0) then begin + curPos := curPos + 28; + versionString := Trim(Copy(resultStrings[curStringNo], curPos, Length(resultStrings[curStringNo]) - curPos)); + curPos := pos(' ', versionString); + versionString := Trim(Copy(versionString, 1, curPos-1)); + Log(Format('Latest ioBroker version: %s', [versionString])); + convertVersion(versionString, major, minor, patch, postfix); + Log(Format('Latest ioBroker version: %d, %d, %d%s', [major, minor, patch, postfix])); + end + else begin + curPos := pos('Used repository: ', resultStrings[curStringNo]); + if (curPos > 0) then begin + curPos := curPos + 17; + repo := Trim(Copy(resultStrings[curStringNo], curPos, Length(resultStrings[curStringNo]) - curPos)); + Log(Format('Used repository: %s', [repo])); + end; + end; end; end else begin @@ -1160,6 +1177,7 @@ begin end; end else begin + repo := 'alpha (@next)'; versionString := execAndReturnOutput('"' + nodepath + '\npm" view iobroker.js-controller@next version', True, nodePath, ''); if versionString <> '' then begin convertVersion(versionString, major, minor, patch, postfix); @@ -1173,7 +1191,7 @@ begin end; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} -function gatherIoBrokerInfo: Boolean; +function gatherInstalledIoBrokerVersion(var major: Integer; var minor: Integer; var patch: Integer; var postfix: String): Boolean; {--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} var ioBrokerEx: String; @@ -1181,15 +1199,11 @@ var versionString: String; begin Result := False; - iobVersionMajor := 0; - iobVersionMinor := 0; - iobVersionPatch := 0; - iobVersionPostfix := ''; - iobVersionNewMajor := 0; - iobVersionNewMinor := 0; - iobVersionNewPatch := 0; - iobVersionNewPostfix := '' + major := 0; + minor := 0; + patch := 0; + postfix := ''; ioBrokerEx := appInstPath + '\node_modules\iobroker.js-controller/iobroker.js'; if (FileExists(ioBrokerEx)) then begin @@ -1197,9 +1211,8 @@ begin if (nodePath <> '') then begin nodeJsEx := nodePath + '\node.exe'; versionString := execAndReturnOutput('"' + nodeJsEx + '" "' + ioBrokerEx + '" --version', False, nodePath, ''); - if (convertVersion(versionString, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix)) then begin - Log(Format('Found ioBroker version: %d, %d, %d, %s', [iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix])); - gatherNewestIoBrokerVersion(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix); + if (convertVersion(versionString, major, minor, patch, postfix)) then begin + Log(Format('Found ioBroker version: %d, %d, %d, %s', [major, minor, patch, postfix])); end; end else begin @@ -1210,6 +1223,29 @@ begin else begin Log('ioBroker.js-controller not found.'); end; +end; + +{--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} +function gatherIoBrokerInfo: Boolean; +{--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------} +begin + Result := False; + iobVersionMajor := 0; + iobVersionMinor := 0; + iobVersionPatch := 0; + iobVersionPostfix := ''; + + iobVersionNewMajor := 0; + iobVersionNewMinor := 0; + iobVersionNewPatch := 0; + iobVersionNewPostfix := '' + iobRepository := ''; + + Result := gatherInstalledIoBrokerVersion(iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix); + + if iobVersionMajor > 0 then begin + gatherNewestIoBrokerVersion(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobRepository); + end; if expertCB.Checked and exoNewServerRB.Checked then begin // In this case we use the entered service name, because the according .env file was not created yet @@ -1745,7 +1781,9 @@ begin sumInfo3NodeLabel.Caption := Format(CustomMessage('NodeRecommended'), [rcmdNodeVersionMajor, rcmdNodeVersionMinor, rcmdNodeVersionPatch]); + if iobVersionMajor = 0 then begin + summaryPage.Description := ''; if iobControllerFoundNoNode then begin sumInfo1IoBrokerLabel.Font.Color := clBlue; sumInfo1IoBrokerLabel.Caption := '?'; @@ -1758,6 +1796,7 @@ begin end end else begin + summaryPage.description := Format(CustomMessage('UsedRepo'), [iobRepository]); if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) then begin sumInfo1IoBrokerLabel.Font.Color := $00A5FF; @@ -1938,7 +1977,7 @@ begin iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); optInstallIoBrokerCB.Enabled := True; - optFixIoBrokerCB.checked := False; + optFixIoBrokerCB.checked := True; optFixIoBrokerCB.Caption := ' ' + Format(CustomMessage('FixIoBroker'),[appInstPath]); optFixIoBrokerCB.Enabled := True; end @@ -2712,7 +2751,15 @@ begin gatherInstNodeData; if isIobUpdate then begin if not exoMaintainServerAlphaBetaCB.Checked then begin - cmd := '"' + nodePath + '\node.exe" "' + appInstPath + '\node_modules\iobroker.js-controller/iobroker.js" upgrade self'; + if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) < 0) and (iobVersionNewMajor > 0) + then begin + // To downgrade we can not use iob ubgrade self + cmd := Format('"' + nodePath + '\npm" i iobroker.js-controller@%d.%d.%d%s --omit=dev --yes', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); + end + else begin + cmd := '"' + nodePath + '\node.exe" "' + appInstPath + '\node_modules\iobroker.js-controller/iobroker.js" upgrade self'; + end; end else begin cmd := '"' + nodePath + '\npm" i iobroker.js-controller@next --omit=dev --yes'; @@ -2747,13 +2794,13 @@ begin if execAndStoreOutput(cmd , logName, nodePath, appInstPath) then begin if isIobUpdate then begin // In this case no instDone file is created, we have to verify the success in another way: - gatherNewestIoBrokerVersion(majorV, minorV, patchV, postfixV); + gatherInstalledIoBrokerVersion(majorV, minorV, patchV, postfixV); Result := compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, majorV, minorV, patchV, postfixV) = 0; Log('ioBroker JS-Controller update done!'); SaveStringToFile(logName, '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10) + 'JS-Controller Update done.' + chr(13) + chr(10) + - Format('Verification: Latest JS-Controller: %d.%d.%d%s, installed: %d.%d.%d%s', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, majorV, minorV, patchV, postfixV]) + chr(13) + chr(10) + + Format('Verification: Traget JS-Controller: %d.%d.%d%s, installed: %d.%d.%d%s', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, majorV, minorV, patchV, postfixV]) + chr(13) + chr(10) + '----------------------------------------------------------------------------------------------------' + chr(13) + chr(10), True); if Result and optFixIoBrokerCB.Checked then begin diff --git a/build/windows/language/dutch.txt b/build/windows/language/dutch.txt index a6ff108..8764fa7 100644 --- a/build/windows/language/dutch.txt +++ b/build/windows/language/dutch.txt @@ -151,8 +151,9 @@ dutch.IoBrokerNewest=Nieuwste beschikbare ioBroker-versie (JS-controller): %d.%d dutch.IoBrokerNewestNewer=Nieuwe ioBroker-versie (JS-controller) beschikbaar: %d.%d.%d%s dutch.IoBrokerNewestOK=ioBroker (JS-controller) is up-to-date! dutch.IoBrokerNewestNotFound=Nieuwste JS-controller-versie kon niet worden vastgesteld! -dutch.InstallIoBrokerUpdate=Update ioBroker (JS-controller) van versie %d.%d.%d%s naar %d.%d.%d%s +dutch.InstallIoBrokerUpdate=Update JS-controller van versie %d.%d.%d%s naar %d.%d.%d%s dutch.SummaryInstallIoBrokerUpdate=JS-controller zal worden bijgewerkt van versie %d.%d.%d%s naar %d.%d.%d%s dutch.UpdatingIoBroker=JS-controller bijwerken van versie %d.%d.%d%s naar %d.%d.%d%s ... dutch.UpdatingFailedIoBroker=ioBroker bijwerken is mislukt. Na het klikken op OK wordt het logbestand weergegeven. Controleer het en zoek de reden voor de mislukking. Het installatieprogramma wordt gesloten. -dutch.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +dutch.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +dutch.UsedRepo=Repository: %s diff --git a/build/windows/language/english.txt b/build/windows/language/english.txt index ce0818f..cf09bba 100644 --- a/build/windows/language/english.txt +++ b/build/windows/language/english.txt @@ -151,8 +151,9 @@ english.IoBrokerNewest=Newest available ioBroker version (JS-Controller): %d.%d. english.IoBrokerNewestNewer=New ioBroker version (JS-Controller) available: %d.%d.%d%s english.IoBrokerNewestOK=ioBroker (JS-Controller) is up to date! english.IoBrokerNewestNotFound=Newest JS-Controller version could not be determined! -english.InstallIoBrokerUpdate=Update ioBroker (JS-Controller) from version %d.%d.%d%s to %d.%d.%d%s +english.InstallIoBrokerUpdate=Update JS-Controller from version %d.%d.%d%s to %d.%d.%d%s english.SummaryInstallIoBrokerUpdate=JS-Controller will be updated from version %d.%d.%d%s to %d.%d.%d%s english.UpdatingIoBroker=Updating JS-Controller from version %d.%d.%d%s to %d.%d.%d%s ... english.UpdatingFailedIoBroker=Updating ioBroker failed. After clicking OK the logfile will be displayed. Check it and find the reason for the failure. The installer will be closed. -english.ExpertMaintainServerAlphaBeta=Use Alpha/Beta (@next) \ No newline at end of file +english.ExpertMaintainServerAlphaBeta=Use Alpha Repo (@next) +english.UsedRepo=Repository: %s diff --git a/build/windows/language/french.txt b/build/windows/language/french.txt index d437cc5..3ed597b 100644 --- a/build/windows/language/french.txt +++ b/build/windows/language/french.txt @@ -151,8 +151,10 @@ french.IoBrokerNewest=Nouvelle version la plus r french.IoBrokerNewestNewer=Nouvelle version d'ioBroker (JS-Controller) disponible : %d.%d.%d%s french.IoBrokerNewestOK=ioBroker (JS-Controller) est jour ! french.IoBrokerNewestNotFound=Impossible de dterminer la dernire version de JS-Controller ! -french.InstallIoBrokerUpdate=Mettre jour ioBroker (JS-Controller) de la version %d.%d.%d%s %d.%d.%d%s +french.InstallIoBrokerUpdate=Mettre jour JS-Controller de la version %d.%d.%d%s %d.%d.%d%s french.SummaryInstallIoBrokerUpdate=JS-Controller sera mis jour de la version %d.%d.%d%s %d.%d.%d%s french.UpdatingIoBroker=Mise jour de JS-Controller de la version %d.%d.%d%s %d.%d.%d%s en cours ... french.UpdatingFailedIoBroker=La mise jour d'ioBroker a chou. Aprs avoir cliqu sur OK, le fichier journal sera affich. Vrifiez-le et trouvez la raison de l'chec. L'installateur sera ferm. french.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +french.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +french.UsedRepo=Repository: %s diff --git a/build/windows/language/german.txt b/build/windows/language/german.txt index 4d4ba94..6b7acb6 100644 --- a/build/windows/language/german.txt +++ b/build/windows/language/german.txt @@ -151,8 +151,9 @@ german.IoBrokerNewest=Neueste verf german.IoBrokerNewestNewer=Neue ioBroker-Version (JS-Controller) verfgbar: %d.%d.%d%s german.IoBrokerNewestOK=ioBroker (JS-Controller) ist auf dem neuesten Stand! german.IoBrokerNewestNotFound=Die neueste JS-Controller-Version konnte nicht ermittelt werden! -german.InstallIoBrokerUpdate=ioBroker (JS-Controller) aktualisieren von Version %d.%d.%d%s auf %d.%d.%d%s +german.InstallIoBrokerUpdate=JS-Controller aktualisieren von Version %d.%d.%d%s auf %d.%d.%d%s german.SummaryInstallIoBrokerUpdate=JS-Controller wird von Version %d.%d.%d%s auf %d.%d.%d%s aktualisiert german.UpdatingIoBroker=Aktualisiere JS-Controller von Version %d.%d.%d%s auf %d.%d.%d%s ... german.UpdatingFailedIoBroker=Aktualisierung von ioBroker fehlgeschlagen. Wenn Du auf OK klickst, wird das Log file angezeigt. Bitte berprfe es und beseitige die Ursache fr das Installationsproblem. Der ioBroker Installer wird beendet. -german.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +german.ExpertMaintainServerAlphaBeta=Nutze Alpha Repo (@next) +german.UsedRepo=Repository: %s diff --git a/build/windows/language/italian.txt b/build/windows/language/italian.txt index 287eab2..f4a68b7 100644 --- a/build/windows/language/italian.txt +++ b/build/windows/language/italian.txt @@ -151,8 +151,10 @@ italian.IoBrokerNewest=Versione pi italian.IoBrokerNewestNewer=Nuova versione di ioBroker (JS-Controller) disponibile: %d.%d.%d%s italian.IoBrokerNewestOK=ioBroker (JS-Controller) aggiornato! italian.IoBrokerNewestNotFound=Impossibile determinare la versione pi recente di JS-Controller! -italian.InstallIoBrokerUpdate=Aggiorna ioBroker (JS-Controller) dalla versione %d.%d.%d%s a %d.%d.%d%s +italian.InstallIoBrokerUpdate=Aggiorna JS-Controller dalla versione %d.%d.%d%s a %d.%d.%d%s italian.SummaryInstallIoBrokerUpdate=JS-Controller verr aggiornato dalla versione %d.%d.%d%s a %d.%d.%d%s italian.UpdatingIoBroker=Aggiornamento JS-Controller dalla versione %d.%d.%d%s a %d.%d.%d%s ... italian.UpdatingFailedIoBroker=Aggiornamento di ioBroker non riuscito. Dopo aver fatto clic su OK verr visualizzato il file di registro. Controllalo e trova il motivo del fallimento. Il programma di installazione verr chiuso. italian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +italian.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +italian.UsedRepo=Repository: %s diff --git a/build/windows/language/polish.txt b/build/windows/language/polish.txt index e591760..d14a538 100644 --- a/build/windows/language/polish.txt +++ b/build/windows/language/polish.txt @@ -156,3 +156,5 @@ polish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) zostanie zaktualizo polish.UpdatingIoBroker=Aktualizowanie JS-Controllera z wersji %d.%d.%d%s do %d.%d.%d%s ... polish.UpdatingFailedIoBroker=Aktualizacja ioBrokera nie powiodła się. Po kliknięciu przycisku OK zostanie wyświetlony plik dziennika. Sprawdź go i znajdź przyczynę niepowodzenia. Instalator zostanie zamknięty. polish.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +polish.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +polish.UsedRepo=Repository: %s diff --git a/build/windows/language/portuguese.txt b/build/windows/language/portuguese.txt index a8872a6..312a25b 100644 --- a/build/windows/language/portuguese.txt +++ b/build/windows/language/portuguese.txt @@ -156,3 +156,5 @@ portuguese.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) será atualizad portuguese.UpdatingIoBroker=Atualizando JS-Controller da versão %d.%d.%d%s para %d.%d.%d%s ... portuguese.UpdatingFailedIoBroker=A atualização do ioBroker falhou. Após clicar em OK, o arquivo de log será exibido. Verifique e encontre o motivo da falha. O instalador será fechado. portuguese.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +portuguese.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +portuguese.UsedRepo=Repository: %s diff --git a/build/windows/language/russian.txt b/build/windows/language/russian.txt index e7bac2e..91e1bb4 100644 --- a/build/windows/language/russian.txt +++ b/build/windows/language/russian.txt @@ -156,3 +156,5 @@ russian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) будет обн russian.UpdatingIoBroker=Обновление JS-Controller с версии %d.%d.%d%s до %d.%d.%d%s ... russian.UpdatingFailedIoBroker=Обновление ioBroker не удалось. После нажатия OK будет отображен файл журнала. Проверьте его и найдите причину сбоя. Установщик будет закрыт. russian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +russian.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +russian.UsedRepo=Repository: %s diff --git a/build/windows/language/spanish.txt b/build/windows/language/spanish.txt index 9bc7a83..c342947 100644 --- a/build/windows/language/spanish.txt +++ b/build/windows/language/spanish.txt @@ -156,3 +156,5 @@ spanish.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) se actualizar spanish.UpdatingIoBroker=Actualizando JS-Controller desde la versin %d.%d.%d%s hasta %d.%d.%d%s ... spanish.UpdatingFailedIoBroker=La actualizacin de ioBroker fall. Despus de hacer clic en Aceptar se mostrar el archivo de registro. Revsalo y encuentra la razn del fallo. El instalador se cerrar. spanish.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +spanish.ExpertMaintainServerAlphaBeta=Alpha Repo (@next) +spanish.UsedRepo=Repository: %s diff --git a/build/windows/language/ukrainian.txt b/build/windows/language/ukrainian.txt index 1ac794d..418e536 100644 --- a/build/windows/language/ukrainian.txt +++ b/build/windows/language/ukrainian.txt @@ -155,4 +155,5 @@ ukrainian.InstallIoBrokerUpdate=Оновити ioBroker (JS-Controller) з ве ukrainian.SummaryInstallIoBrokerUpdate=ioBroker (JS-Controller) буде оновлено з версії %d.%d.%d%s на %d.%d.%d%s ukrainian.UpdatingIoBroker=Оновлення JS-Controller з версії %d.%d.%d%s на %d.%d.%d%s ... ukrainian.UpdatingFailedIoBroker=Оновлення ioBroker не вдалося. Після натискання кнопки OK буде відображений файл журналу. Перевірте його і знайдіть причину невдачі. Інсталятор буде закритий. -ukrainian.ExpertMaintainServerAlphaBeta=Alpha/Beta (@next) +ukrainian.ExpertMaintainServerAlphaBeta=Alpha (@next) +ukrainian.UsedRepo=Repository: %s From 5d839a0af1a8e9120fa49b46912179fcbe0f3214 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Wed, 5 Jun 2024 17:44:17 +0200 Subject: [PATCH 5/7] Allow JS-Controller downgrade also in normal mode, enhance some texts --- README.md | 2 +- build/windows/ioBroker.iss | 13 +++++-------- build/windows/language/dutch.txt | 3 +-- build/windows/language/english.txt | 3 +-- build/windows/language/french.txt | 3 +-- build/windows/language/german.txt | 3 +-- build/windows/language/italian.txt | 3 +-- build/windows/language/polish.txt | 3 +-- build/windows/language/portuguese.txt | 3 +-- build/windows/language/russian.txt | 3 +-- build/windows/language/spanish.txt | 3 +-- build/windows/language/ukrainian.txt | 3 +-- 12 files changed, 16 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index ad12941..1d66dd5 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Pre-requires: - (Gaspode) Make fixer after JS-Controller Upgrade optional - (Gaspode) Offer Alpha and Beta updates (@next) of JS-Controller in expert mode -- (Gaspode) Allow JS-Controller downgrade to current version in expert mode +- (Gaspode) Allow JS-Controller downgrade # 3.2.0 (23.05.2024) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index dc311c3..fb7024b 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -38,7 +38,7 @@ ; - (required for JS-Controller 6) - ; - 29.05.2024 Gaspode: Make fixer after JS-Controller Upgrade optional - ; - 29.05.2024 Gaspode: Offer Alpha and Beta updates (@next) of JS-Controller in expert mode - -; - 30.05.2024 Gaspode: Allow JS-Controller downgrade to current version in expert mode - +; - 30.05.2024 Gaspode: Allow JS-Controller downgrade to current version - ; - - ; ---------------------------------------------------------------------------------------------- #define MyAppName "ioBroker automation platform" @@ -1819,17 +1819,14 @@ begin end else begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, - iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) then begin - sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewestNewer'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) <> 0) then begin + sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewestNewer'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobRepository]); end else begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) = 0) then begin sumInfo2IoBrokerNewestLabel.Caption := CustomMessage('IoBrokerNewestOK'); end - else begin - sumInfo2IoBrokerNewestLabel.Caption := Format(CustomMessage('IoBrokerNewest'), [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); - end; end; end; end; @@ -1969,9 +1966,9 @@ begin if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) > 0) or (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, - iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) < 0) and expertCB.Checked + iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) < 0) then begin - // JS-Controller update available, if expert mode is enabled, we also offer downgrade + // JS-Controller update available, we also offer downgrade optInstallIoBrokerCB.checked := True; optInstallIoBrokerCB.Caption := ' ' + Format(CustomMessage('InstallIoBrokerUpdate'),[iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix, iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); diff --git a/build/windows/language/dutch.txt b/build/windows/language/dutch.txt index 8764fa7..8156e84 100644 --- a/build/windows/language/dutch.txt +++ b/build/windows/language/dutch.txt @@ -147,8 +147,7 @@ dutch.CheckingForUpdates=Controleren op updates ... dutch.DownloadingInstaller=Installer %s downloaden ... dutch.StartInstaller=Installer %s is gedownload en wordt nu gestart. dutch.InstallerUpdateFailed=Er is iets misgegaan om onbekende redenen [%d]%n%nioBroker-installatie wordt voortgezet zonder installateur-update ... -dutch.IoBrokerNewest=Nieuwste beschikbare ioBroker-versie (JS-controller): %d.%d.%d%s -dutch.IoBrokerNewestNewer=Nieuwe ioBroker-versie (JS-controller) beschikbaar: %d.%d.%d%s +dutch.IoBrokerNewestNewer=Beschikbare versie: %d.%d.%d%s (Repository: %s) dutch.IoBrokerNewestOK=ioBroker (JS-controller) is up-to-date! dutch.IoBrokerNewestNotFound=Nieuwste JS-controller-versie kon niet worden vastgesteld! dutch.InstallIoBrokerUpdate=Update JS-controller van versie %d.%d.%d%s naar %d.%d.%d%s diff --git a/build/windows/language/english.txt b/build/windows/language/english.txt index cf09bba..3313cd7 100644 --- a/build/windows/language/english.txt +++ b/build/windows/language/english.txt @@ -147,8 +147,7 @@ english.CheckingForUpdates=Checking for updates ... english.DownloadingInstaller=Downloading Installer %s ... english.StartInstaller=Installer %s has been downloaded and is now being launched. english.InstallerUpdateFailed=Something went wrong for unknown reasons [%d]%n%nioBroker installation will continue without Installer update ... -english.IoBrokerNewest=Newest available ioBroker version (JS-Controller): %d.%d.%d%s -english.IoBrokerNewestNewer=New ioBroker version (JS-Controller) available: %d.%d.%d%s +english.IoBrokerNewestNewer=Available version: %d.%d.%d%s (repository: %s) english.IoBrokerNewestOK=ioBroker (JS-Controller) is up to date! english.IoBrokerNewestNotFound=Newest JS-Controller version could not be determined! english.InstallIoBrokerUpdate=Update JS-Controller from version %d.%d.%d%s to %d.%d.%d%s diff --git a/build/windows/language/french.txt b/build/windows/language/french.txt index 3ed597b..9149c9d 100644 --- a/build/windows/language/french.txt +++ b/build/windows/language/french.txt @@ -147,8 +147,7 @@ french.CheckingForUpdates=V french.DownloadingInstaller=Tlchargement de l'installateur %s ... french.StartInstaller=L'installateur %s a t tlcharg et est maintenant en cours de lancement. french.InstallerUpdateFailed=Quelque chose s'est mal pass pour des raisons inconnues [%d]%n%nL'installation de ioBroker se poursuivra sans mise jour de l'installateur ... -french.IoBrokerNewest=Nouvelle version la plus rcente d'ioBroker (JS-Controller) disponible : %d.%d.%d%s -french.IoBrokerNewestNewer=Nouvelle version d'ioBroker (JS-Controller) disponible : %d.%d.%d%s +french.IoBrokerNewestNewer=Version disponible : %d.%d.%d%s (Rfrentiel : %s) french.IoBrokerNewestOK=ioBroker (JS-Controller) est jour ! french.IoBrokerNewestNotFound=Impossible de dterminer la dernire version de JS-Controller ! french.InstallIoBrokerUpdate=Mettre jour JS-Controller de la version %d.%d.%d%s %d.%d.%d%s diff --git a/build/windows/language/german.txt b/build/windows/language/german.txt index 6b7acb6..6613e80 100644 --- a/build/windows/language/german.txt +++ b/build/windows/language/german.txt @@ -147,8 +147,7 @@ german.CheckingForUpdates=Suche nach Aktualisierungen ... german.DownloadingInstaller=Lade Installer %s herunter ... german.StartInstaller=Installer %s wurde heruntergeladen und wird jetzt gestartet. german.InstallerUpdateFailed=Etwas ist aus unbekannten Grnden schief gelaufen [%d]%n%nDie ioBroker Installation wird nun ohne Installer Aktualisierung fortgesetzt ... -german.IoBrokerNewest=Neueste verfgbare ioBroker-Version (JS-Controller): %d.%d.%d%s -german.IoBrokerNewestNewer=Neue ioBroker-Version (JS-Controller) verfgbar: %d.%d.%d%s +german.IoBrokerNewestNewer=Verfgbare Version: %d.%d.%d%s (Repository: %s) german.IoBrokerNewestOK=ioBroker (JS-Controller) ist auf dem neuesten Stand! german.IoBrokerNewestNotFound=Die neueste JS-Controller-Version konnte nicht ermittelt werden! german.InstallIoBrokerUpdate=JS-Controller aktualisieren von Version %d.%d.%d%s auf %d.%d.%d%s diff --git a/build/windows/language/italian.txt b/build/windows/language/italian.txt index f4a68b7..4681400 100644 --- a/build/windows/language/italian.txt +++ b/build/windows/language/italian.txt @@ -147,8 +147,7 @@ italian.CheckingForUpdates=Controllo degli aggiornamenti in corso ... italian.DownloadingInstaller=Download dell'installatore %s in corso ... italian.StartInstaller=L'installatore %s stato scaricato ed ora in fase di avvio. italian.InstallerUpdateFailed=Qualcosa andato storto per motivi sconosciuti [%d]%n%nL'installazione di ioBroker continuer senza l'aggiornamento dell'installatore ... -italian.IoBrokerNewest=Versione pi recente disponibile di ioBroker (JS-Controller): %d.%d.%d%s -italian.IoBrokerNewestNewer=Nuova versione di ioBroker (JS-Controller) disponibile: %d.%d.%d%s +italian.IoBrokerNewestNewer=Versione disponibile: %d.%d.%d%s (Repository: %s) italian.IoBrokerNewestOK=ioBroker (JS-Controller) aggiornato! italian.IoBrokerNewestNotFound=Impossibile determinare la versione pi recente di JS-Controller! italian.InstallIoBrokerUpdate=Aggiorna JS-Controller dalla versione %d.%d.%d%s a %d.%d.%d%s diff --git a/build/windows/language/polish.txt b/build/windows/language/polish.txt index d14a538..5fef15a 100644 --- a/build/windows/language/polish.txt +++ b/build/windows/language/polish.txt @@ -147,8 +147,7 @@ polish.CheckingForUpdates=Sprawdzanie aktualizacji ... polish.DownloadingInstaller=Pobieranie instalatora %s ... polish.StartInstaller=Instalator %s został pobrany i jest teraz uruchamiany. polish.InstallerUpdateFailed=Coś poszło nie tak z nieznanych powodów [%d]%n%nInstalacja ioBroker będzie kontynuowana bez aktualizacji instalatora ... -polish.IoBrokerNewest=Najnowsza dostępna wersja ioBrokera (JS-Controller): %d.%d.%d%s -polish.IoBrokerNewestNewer=Nowa wersja ioBrokera (JS-Controller) dostępna: %d.%d.%d%s +polish.IoBrokerNewestNewer=Dostępna wersja: %d.%d.%d%s (Repozytorium: %s) polish.IoBrokerNewestOK=ioBroker (JS-Controller) jest aktualny! polish.IoBrokerNewestNotFound=Nie można określić najnowszej wersji JS-Controllera! polish.InstallIoBrokerUpdate=Aktualizuj ioBrokera (JS-Controller) z wersji %d.%d.%d%s do %d.%d.%d%s diff --git a/build/windows/language/portuguese.txt b/build/windows/language/portuguese.txt index 312a25b..d45397d 100644 --- a/build/windows/language/portuguese.txt +++ b/build/windows/language/portuguese.txt @@ -147,8 +147,7 @@ portuguese.CheckingForUpdates=Verificando atualizações ... portuguese.DownloadingInstaller=Baixando o instalador %s ... portuguese.StartInstaller=O instalador %s foi baixado e está sendo iniciado agora. portuguese.InstallerUpdateFailed=Algo deu errado por razões desconhecidas [%d]%n%nA instalação do ioBroker continuará sem a atualização do instalador ... -portuguese.IoBrokerNewest=Versão mais recente do ioBroker disponível (JS-Controller): %d.%d.%d%s -portuguese.IoBrokerNewestNewer=Nova versão do ioBroker (JS-Controller) disponível: %d.%d.%d%s +portuguese.IoBrokerNewestNewer=Versão disponível: %d.%d.%d%s (Repositório: %s) portuguese.IoBrokerNewestOK=ioBroker (JS-Controller) está atualizado! portuguese.IoBrokerNewestNotFound=Não foi possível determinar a versão mais recente do JS-Controller! portuguese.InstallIoBrokerUpdate=Atualizar ioBroker (JS-Controller) da versão %d.%d.%d%s para %d.%d.%d%s diff --git a/build/windows/language/russian.txt b/build/windows/language/russian.txt index 91e1bb4..21b2965 100644 --- a/build/windows/language/russian.txt +++ b/build/windows/language/russian.txt @@ -147,8 +147,7 @@ russian.CheckingForUpdates=Проверка обновлений ... russian.DownloadingInstaller=Загрузка установщика %s ... russian.StartInstaller=Установщик %s был загружен и теперь запускается. russian.InstallerUpdateFailed=Что-то пошло не так по неизвестным причинам [%d]%n%nУстановка ioBroker будет продолжена без обновления установщика ... -russian.IoBrokerNewest=Новейшая доступная версия ioBroker (JS-Controller): %d.%d.%d%s -russian.IoBrokerNewestNewer=Доступна новая версия ioBroker (JS-Controller): %d.%d.%d%s +russian.IoBrokerNewestNewer=Доступная версия: %d.%d.%d%s (Репозиторий: %s) russian.IoBrokerNewestOK=ioBroker (JS-Controller) обновлен! russian.IoBrokerNewestNotFound=Не удалось определить новейшую версию JS-Controller! russian.InstallIoBrokerUpdate=Обновить ioBroker (JS-Controller) с версии %d.%d.%d%s до %d.%d.%d%s diff --git a/build/windows/language/spanish.txt b/build/windows/language/spanish.txt index c342947..7301c84 100644 --- a/build/windows/language/spanish.txt +++ b/build/windows/language/spanish.txt @@ -147,8 +147,7 @@ spanish.CheckingForUpdates=Comprobando actualizaciones ... spanish.DownloadingInstaller=Descargando el instalador %s ... spanish.StartInstaller=El instalador %s se ha descargado y ahora se est iniciando. spanish.InstallerUpdateFailed=Algo sali mal por razones desconocidas [%d]%n%nLa instalacin de ioBroker continuar sin la actualizacin del instalador ... -spanish.IoBrokerNewest=Nueva versin disponible de ioBroker (JS-Controller): %d.%d.%d%s -spanish.IoBrokerNewestNewer=Nueva versin de ioBroker (JS-Controller) disponible: %d.%d.%d%s +spanish.IoBrokerNewestNewer=Versin disponible: %d.%d.%d%s (Repositorio: %s) spanish.IoBrokerNewestOK=ioBroker (JS-Controller) est actualizado! spanish.IoBrokerNewestNotFound=No se pudo determinar la versin ms reciente de JS-Controller! spanish.InstallIoBrokerUpdate=Actualizar ioBroker (JS-Controller) desde la versin %d.%d.%d%s hasta %d.%d.%d%s diff --git a/build/windows/language/ukrainian.txt b/build/windows/language/ukrainian.txt index 418e536..f1c0a0b 100644 --- a/build/windows/language/ukrainian.txt +++ b/build/windows/language/ukrainian.txt @@ -147,8 +147,7 @@ ukrainian.CheckingForUpdates=Перевірка оновлень ... ukrainian.DownloadingInstaller=Завантаження установника %s ... ukrainian.StartInstaller=Установник %s був завантажений і зараз запускається. ukrainian.InstallerUpdateFailed=Щось пішло не так з невідомих причин [%d]%n%nІнсталяція ioBroker буде продовжена без оновлення установника ... -ukrainian.IoBrokerNewest=Найновіша доступна версія ioBroker (JS-Controller): %d.%d.%d%s -ukrainian.IoBrokerNewestNewer=Доступна нова версія ioBroker (JS-Controller): %d.%d.%d%s +ukrainian.IoBrokerNewestNewer=Доступна версія: %d.%d.%d%s (Репозиторій: %s) ukrainian.IoBrokerNewestOK=ioBroker (JS-Controller) оновлено! ukrainian.IoBrokerNewestNotFound=Не вдалося визначити найновішу версію JS-Controller! ukrainian.InstallIoBrokerUpdate=Оновити ioBroker (JS-Controller) з версії %d.%d.%d%s на %d.%d.%d%s From 05ca6aee0e96077a54f73bcda9af203cda5e9bd0 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Sat, 8 Jun 2024 11:18:18 +0200 Subject: [PATCH 6/7] set version to 3.3.0 --- README.md | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1d66dd5..5d14d38 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,11 @@ Pre-requires: ## Changelog -### **WORK IN PROGRESS** +# 3.3.0 (23.05.2024) - (Gaspode) Make fixer after JS-Controller Upgrade optional -- (Gaspode) Offer Alpha and Beta updates (@next) of JS-Controller in expert mode -- (Gaspode) Allow JS-Controller downgrade +- (Gaspode) Offer Alpha updates (@next) of JS-Controller in expert mode +- (Gaspode) Allow JS-Controller downgrade (depending on installed version and available version in active repository) # 3.2.0 (23.05.2024) diff --git a/package.json b/package.json index 8b29daf..5c61b17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.build", - "version": "3.2.0", + "version": "3.3.0", "repository": { "type": "git", "url": "https://github.com/ioBroker/ioBroker.build.git" From 9238130663e97f9751e593eaa54d8a779217b552 Mon Sep 17 00:00:00 2001 From: Gaspode69 <45949835+Gaspode69@users.noreply.github.com> Date: Tue, 11 Jun 2024 09:01:55 +0200 Subject: [PATCH 7/7] Fix upgrade from alpha version to stable or latest --- build/windows/ioBroker.iss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/windows/ioBroker.iss b/build/windows/ioBroker.iss index fb7024b..264bb80 100644 --- a/build/windows/ioBroker.iss +++ b/build/windows/ioBroker.iss @@ -2748,10 +2748,12 @@ begin gatherInstNodeData; if isIobUpdate then begin if not exoMaintainServerAlphaBetaCB.Checked then begin - if (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, + if (iobVersionNewPostfix <> '') or + (iobVersionPostfix <> '') or + (compareVersions(iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix, iobVersionMajor, iobVersionMinor, iobVersionPatch, iobVersionPostfix) < 0) and (iobVersionNewMajor > 0) then begin - // To downgrade we can not use iob ubgrade self + // To downgrade or to switch from or to alpha version we can not use iob ubgrade self cmd := Format('"' + nodePath + '\npm" i iobroker.js-controller@%d.%d.%d%s --omit=dev --yes', [iobVersionNewMajor, iobVersionNewMinor, iobVersionNewPatch, iobVersionNewPostfix]); end else begin