diff --git a/ChangeLog.txt b/ChangeLog.txt index 945750c37..b690d2377 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -63,6 +63,7 @@ - Mirror line. - Fold line. - Minimal Qt version increased to Qt 5.15. Minimal C++ standard to C++17. +- Updated Windows installer. # Valentina 0.7.52 September 12, 2022 - Fix crash when default locale is ru. diff --git a/appveyor.yml b/appveyor.yml index 029febafb..84bf8a118 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -307,7 +307,7 @@ for: - path - set QTDIR=C:\%QT% - set QT_PLUGIN_PATH=%QTDIR%\plugins - - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Qt\Tools\QtCreator\bin;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\CMake\bin;%PYTHON%;%PYTHON%\Scripts;C:\ProgramData\chocolatey\bin + - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Qt\Tools\QtCreator\bin;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\CMake\bin;%PYTHON%;%PYTHON%\Scripts;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Inno Setup 6 # Set VC variables for the platform - ps: | if ($env:COMPILER -eq "msvc") { @@ -408,6 +408,7 @@ for: - if "%RUN_TESTS%" == "true" (qbs -p autotest-runner -d %APPVEYOR_BUILD_FOLDER%\build profile:qt6 config:release) deploy_script: + - if "%DEPLOY%" == "true" (qbs build -f valentina.qbs -d %APPVEYOR_BUILD_FOLDER%\build -p 'ValentinaSetup' --jobs %NUMBER_OF_PROCESSORS% config:release qbs.installRoot:%APPVEYOR_BUILD_FOLDER%\build\install-root\valentina profile:qt6 project.enableConan:true modules.buildconfig.enableCcache:false project.conanProfiles:valentina modules.buildconfig.enablePCH:%ENABLE_PCH% modules.windeployqt.windeployqtProgramBinPath:%WINDEPLOYQT_BIN_PATH% modules.windeployqt.compilerRuntime:%WINDEPLOYQT_COMPILER_RUNTIME% modules.windeployqt.noCompilerRuntime:%WINDEPLOYQT_NO_COMPILER_RUNTIME%) - ps: scripts/appveyor-deploy.ps1 on_finish: @@ -433,7 +434,7 @@ for: # Path before - path - set QTDIR=C:\%QT% - - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\ + - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Inno Setup 6 - if NOT "%BUILD_SYSTEM%" == "make" echo "Using Visual Studio %VSVER%.0" - if "%BUILD_SYSTEM%" == "make" echo "Using MinGW" # Set VC variables for the platform @@ -501,14 +502,6 @@ for: # to run your custom scripts instead of automatic tests test_script: - if "%BUILD_SYSTEM%" == "make" (mingw32-make -s check TESTARGS="-silent") - - # prepare to deploy - after_test: - - if "%DEPLOY%" == "true" (mingw32-make install) - - # to run your custom scripts instead of provider deployments - deploy_script: - - ps: ../scripts/appveyor-deploy.ps1 #---------------------------------# # MacOS # diff --git a/dist/win/EUDC.TTE b/dist/win/EUDC.TTE deleted file mode 100644 index 26018270f..000000000 Binary files a/dist/win/EUDC.TTE and /dev/null differ diff --git a/dist/win/inno/LICENSE_VALENTINA b/dist/win/inno/LICENSE_VALENTINA deleted file mode 100644 index f12c71eb9..000000000 --- a/dist/win/inno/LICENSE_VALENTINA +++ /dev/null @@ -1,17 +0,0 @@ -LICENSING -========== -Valentina is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Valentina is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -See LICENSE_GPL.txt file for further information - -Other components released under: -* QMuParser - BSD license -* VPropertyExplorer - LGPLv2.1 license \ No newline at end of file diff --git a/dist/win/inno/valentina.iss b/dist/win/inno/valentina.iss index 60a532a42..b3d82d351 100644 --- a/dist/win/inno/valentina.iss +++ b/dist/win/inno/valentina.iss @@ -1,39 +1,50 @@ ; Script generated by the Inno Script Studio Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! +; [NOTE] These are passed from Qbs +; #define MyAppVersion +; #define MyAppCopyright +; #define MyAppArchitecture +; #define MyAppMinWinVersion +; #define buildDirectory + #define MyAppName "Valentina" -#define MyAppVersion GetFileVersion('valentina\valentina.exe') #define MyAppPublisher "Roman Telezhynskyi" #define MyAppURL "https://smart-pattern.com.ua/" -#define MyAppExeName "valentina.exe" -#define MyAppCopyright "(C) 2013-2021 Valentina project" #define MyDateTimeString GetDateTimeString('yyyymmddhhnnss', '', ''); -; Appstatus: "" = release, "b" = beta, "a" = alpha +; Appstatus: "" = release, " Dev" = development branch ; this only modifies the resulting exe name of the installer package ;-) -#define MyAppStatus "" +#define MyAppStatus " Dev" [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{7081AEC7-38FC-479F-B712-DB073BB76512} -AppName={#MyAppName} +; Stable branch +;AppId={{7081AEC7-38FC-479F-B712-DB073BB76512} +; Dev branch +AppId={{059E7A7D-CB48-4218-B5E0-8824D2953CEC} +AppName={#MyAppName}{#MyAppStatus} AppVersion={#MyAppVersion} -AppVerName={#MyAppName} {#MyAppVersion} -;AppVerName={#MyAppName} {#MyAppVersion} +AppVerName={#MyAppName}{#MyAppStatus} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} -DefaultDirName={pf}\{#MyAppName} -DefaultGroupName={#MyAppName} -LicenseFile=.\LICENSE_VALENTINA -InfoAfterFile=.\valentina\README.txt -OutputDir=.\ -OutputBaseFilename=valentina_{#MyAppVersion}{#MyAppStatus}_i386 -SetupIconFile=.\valentina\valentina.ico +DefaultDirName={commonpf}\{#MyAppName}{#MyAppStatus} +DefaultGroupName={#MyAppName}{#MyAppStatus} +LicenseFile={#buildDirectory}\LICENSE_GPL.txt +InfoAfterFile={#buildDirectory}\README.txt +OutputDir={#buildDirectory} +ArchitecturesInstallIn64BitMode={#MyAppArchitecture} +ArchitecturesAllowed={#MyAppArchitecture} + +; [NOTE] This one is overridden by Qbs automatically +OutputBaseFilename=valentina_{#MyAppVersion}{#MyAppStatus} + +SetupIconFile={#buildDirectory}\valentina.ico UninstallDisplayIcon={app}\valentina.ico -Compression=lzma +Compression=lzma2/max SolidCompression=yes VersionInfoVersion={#MyAppVersion} ShowLanguageDialog=yes @@ -44,7 +55,11 @@ AppCopyright={#MyAppCopyright} ChangesAssociations=yes DisableDirPage=auto DisableProgramGroupPage=auto -;MinVersion=6.1 +MinVersion={#MyAppMinWinVersion} +; Remove the following line to run in administrative install mode (install for all users.) +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +WizardStyle=modern ;SignTool=MySign ;Uncomment the previous string for code signing ;The next string is an example of parameter SignTool. Should not be uncommented. @@ -52,7 +67,7 @@ DisableProgramGroupPage=auto [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" -Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.islu" +Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl" Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" @@ -62,19 +77,20 @@ Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "german"; MessagesFile: "compiler:Languages\German.isl" -Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" +;Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" +;Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" +Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl" Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" -Name: "nepali"; MessagesFile: "compiler:Languages\Nepali.islu" +;Name: "nepali"; MessagesFile: "compiler:Languages\Nepali.islu" Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" -Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" -Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl" -Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" -Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" +;Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +;Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl" +;Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" +;Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" +Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl" Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" @@ -87,42 +103,42 @@ Name: "fileassoc1"; Description: "{cm:CreateFileAssocVal}"; GroupDescription: "{ Name: "fileassoc2"; Description: "{cm:CreateFileAssocVit}"; GroupDescription: "{cm:FileAssoc}" Name: "fileassoc3"; Description: "{cm:CreateFileAssocVst}"; GroupDescription: "{cm:FileAssoc}" Name: "fileassoc4"; Description: "{cm:CreateFileAssocVlt}"; GroupDescription: "{cm:FileAssoc}" +Name: "fileassoc5"; Description: "{cm:CreateFileAssocVkm}"; GroupDescription: "{cm:FileAssoc}" Name: "deletesettings"; Description: "{cm:RemoveAnyExistingSettings}"; GroupDescription: "{cm:ManageSettings}"; Flags: unchecked [Types] -Name: "full_english"; Description: "System language"; Languages: english; -;Name: "full_armenian"; Description: "System language"; Languages: armenian; -Name: "full_brazilianportuguese"; Description: "System language"; Languages: brazilianportuguese; -;Name: "full_catalan"; Description: "System language"; Languages: catalan; -;Name: "full_corsican"; Description: "System language"; Languages: corsican; -Name: "full_czech"; Description: "System language"; Languages: czech; -;Name: "full_danish"; Description: "System language"; Languages: danish; -Name: "full_dutch"; Description: "System language"; Languages: dutch; -Name: "full_finnish"; Description: "System language"; Languages: finnish; -Name: "full_french"; Description: "System language"; Languages: french; -Name: "full_german"; Description: "System language"; Languages: german; -Name: "full_greek"; Description: "System language"; Languages: greek; -Name: "full_hebrew"; Description: "System language"; Languages: hebrew; -;Name: "full_hungarian"; Description: "System language"; Languages: hungarian; -Name: "full_italian"; Description: "System language"; Languages: italian; -;Name: "full_japanese"; Description: "System language"; Languages: japanese; -;Name: "full_nepali"; Description: "System language"; Languages: nepali; -;Name: "full_norwegian"; Description: "System language"; Languages: norwegian; -Name: "full_polish"; Description: "System language"; Languages: polish; -Name: "full_portuguese"; Description: "System language"; Languages: portuguese; -Name: "full_russian"; Description: "System language"; Languages: russian; -;Name: "full_scottishgaelic"; Description: "System language"; Languages: scottishgaelic; -;Name: "full_serbiancyrillic"; Description: "System language"; Languages: serbiancyrillic; -;Name: "full_serbianlatin"; Description: "System language"; Languages: serbianlatin; -;Name: "full_slovenian"; Description: "System language"; Languages: slovenian; -Name: "full_spanish"; Description: "System language"; Languages: spanish; -;Name: "full_turkish"; Description: "System language"; Languages: turkish; -Name: "full_ukrainian"; Description: "System language"; Languages: ukrainian; -Name: "full"; Description: "Full installation" -Name: "custom"; Description: "Custom installation"; Flags: iscustom +Name: "full_english"; Description: "{cm:SystemLanguage}"; Languages: english; +;Name: "full_armenian"; Description: "{cm:SystemLanguage}"; Languages: armenian; +Name: "full_brazilianportuguese"; Description: "{cm:SystemLanguage}"; Languages: brazilianportuguese; +;Name: "full_catalan"; Description: "{cm:SystemLanguage}"; Languages: catalan; +;Name: "full_corsican"; Description: "{cm:SystemLanguage}"; Languages: corsican; +Name: "full_czech"; Description: "{cm:SystemLanguage}"; Languages: czech; +;Name: "full_danish"; Description: "{cm:SystemLanguage}"; Languages: danish; +Name: "full_dutch"; Description: "{cm:SystemLanguage}"; Languages: dutch; +Name: "full_finnish"; Description: "{cm:SystemLanguage}"; Languages: finnish; +Name: "full_french"; Description: "{cm:SystemLanguage}"; Languages: french; +Name: "full_german"; Description: "{cm:SystemLanguage}"; Languages: german; +;Name: "full_greek"; Description: "{cm:SystemLanguage}"; Languages: greek; +Name: "full_hebrew"; Description: "{cm:SystemLanguage}"; Languages: hebrew; +;Name: "full_hungarian"; Description: "{cm:SystemLanguage}"; Languages: hungarian; +Name: "full_italian"; Description: "{cm:SystemLanguage}"; Languages: italian; +;Name: "full_japanese"; Description: "{cm:SystemLanguage}"; Languages: japanese; +;Name: "full_nepali"; Description: "{cm:SystemLanguage}"; Languages: nepali; +;Name: "full_norwegian"; Description: "{cm:SystemLanguage}"; Languages: norwegian; +Name: "full_polish"; Description: "{cm:SystemLanguage}"; Languages: polish; +;Name: "full_portuguese"; Description: "{cm:SystemLanguage}"; Languages: portuguese; +;Name: "full_scottishgaelic"; Description: "{cm:SystemLanguage}"; Languages: scottishgaelic; +;Name: "full_serbiancyrillic"; Description: "{cm:SystemLanguage}"; Languages: serbiancyrillic; +;Name: "full_serbianlatin"; Description: "{cm:SystemLanguage}"; Languages: serbianlatin; +;Name: "full_slovenian"; Description: "{cm:SystemLanguage}"; Languages: slovenian; +Name: "full_spanish"; Description: "{cm:SystemLanguage}"; Languages: spanish; +;Name: "full_turkish"; Description: "{cm:SystemLanguage}"; Languages: turkish; +Name: "full_ukrainian"; Description: "{cm:SystemLanguage}"; Languages: ukrainian; +Name: "full"; Description: "{cm:FullInstallation}" +Name: "custom"; Description: "{cm:CustomInstallation}"; Flags: iscustom [Components] -Name: "lang_files"; Description: "Language Component"; Types: full custom; Flags: fixed +Name: "lang_files"; Description: "{cm:LanguageComponent}"; Types: full custom; Flags: fixed Name: "lang_files\english"; Description: "English"; Types: full full_english custom; Flags: disablenouninstallwarning Name: "lang_files\english\us"; Description: "English (United States)"; Types: full full_english custom; Flags: disablenouninstallwarning Name: "lang_files\english\in"; Description: "English (India)"; Types: full full_english custom; Flags: disablenouninstallwarning @@ -137,7 +153,7 @@ Name: "lang_files\dutch"; Description: "Dutch"; Types: full full_dutch custom; F Name: "lang_files\finnish"; Description: "Finnish"; Types: full full_finnish custom; Flags: disablenouninstallwarning Name: "lang_files\french"; Description: "French"; Types: full full_french custom; Flags: disablenouninstallwarning Name: "lang_files\german"; Description: "German"; Types: full full_german custom; Flags: disablenouninstallwarning -Name: "lang_files\greek"; Description: "Greek"; Types: full full_greek custom; Flags: disablenouninstallwarning +;Name: "lang_files\greek"; Description: "Greek"; Types: full full_greek custom; Flags: disablenouninstallwarning Name: "lang_files\hebrew"; Description: "Hebrew"; Types: full full_hebrew custom; Flags: disablenouninstallwarning ;Name: "lang_files\hungarian"; Description: "Hungarian"; Types: full full_hungarian custom; Flags: disablenouninstallwarning Name: "lang_files\italian"; Description: "Italian"; Types: full full_italian custom; Flags: disablenouninstallwarning @@ -145,8 +161,7 @@ Name: "lang_files\italian"; Description: "Italian"; Types: full full_italian cus ;Name: "lang_files\nepali"; Description: "Nepali"; Types: full full_nepali custom; Flags: disablenouninstallwarning ;Name: "lang_files\norwegian"; Description: "Norwegian"; Types: full full_norwegian custom; Flags: disablenouninstallwarning Name: "lang_files\polish"; Description: "Polish"; Types: full full_polish custom; Flags: disablenouninstallwarning -Name: "lang_files\portuguese"; Description: "Portuguese"; Types: full full_portuguese custom; Flags: disablenouninstallwarning -Name: "lang_files\russian"; Description: "Russian"; Types: full full_russian custom; Flags: disablenouninstallwarning +;Name: "lang_files\portuguese"; Description: "Portuguese"; Types: full full_portuguese custom; Flags: disablenouninstallwarning ;Name: "lang_files\scottishgaelic"; Description: "Scottish gaelic"; Types: full full_scottishgaelic custom; Flags: disablenouninstallwarning ;Name: "lang_files\serbiancyrillic"; Description: "Serbian cyrillic"; Types: full full_serbiancyrillic custom; Flags: disablenouninstallwarning ;Name: "lang_files\serbianlatin"; Description: "Serbian latin"; Types: full full_serbianlatin custom; Flags: disablenouninstallwarning @@ -160,223 +175,238 @@ Name: "lang_files\chinese"; Description: "Chinese (China)"; Types: full custom; [Files] ; Signing -Source: ".\valentina\valentina.exe"; DestDir: "{app}"; Flags: ignoreversion sign -Source: ".\valentina\tape.exe"; DestDir: "{app}"; Flags: ignoreversion sign -Source: ".\valentina\puzzle.exe"; DestDir: "{app}"; Flags: ignoreversion sign -Source: ".\valentina\vpropertyexplorer.dll"; DestDir: "{app}"; Flags: ignoreversion sign -Source: ".\valentina\qmuparser2.dll"; DestDir: "{app}"; Flags: ignoreversion sign +Source: "{#buildDirectory}\valentina.exe"; DestDir: "{app}"; Flags: ignoreversion sign +Source: "{#buildDirectory}\tape.exe"; DestDir: "{app}"; Flags: ignoreversion sign +Source: "{#buildDirectory}\puzzle.exe"; DestDir: "{app}"; Flags: ignoreversion sign +Source: "{#buildDirectory}\VPropertyExplorerLib.dll"; DestDir: "{app}"; Flags: ignoreversion sign +Source: "{#buildDirectory}\QMUParserLib.dll"; DestDir: "{app}"; Flags: ignoreversion sign + ; Localizations -Source: ".\valentina\translations\*_en_US.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\us -Source: ".\valentina\translations\*_en_IN.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\in -Source: ".\valentina\translations\*_en_CA.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\ca -Source: ".\valentina\translations\*_ru_RU.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\russian -Source: ".\valentina\translations\*_ru.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\russian -Source: ".\valentina\translations\*_uk_UA.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\ukrainian -Source: ".\valentina\translations\*_uk.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\ukrainian -Source: ".\valentina\translations\*_de_DE.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\german -Source: ".\valentina\translations\*_de.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\german -Source: ".\valentina\translations\*_cs_CZ.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\czech -Source: ".\valentina\translations\*_cs.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\czech -Source: ".\valentina\translations\*_he_IL.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\hebrew -Source: ".\valentina\translations\*_he.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\hebrew -Source: ".\valentina\translations\*_fr_FR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\french -Source: ".\valentina\translations\*_fr.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\french -Source: ".\valentina\translations\*_it_IT.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\italian -Source: ".\valentina\translations\*_it.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\italian -Source: ".\valentina\translations\*_nl_NL.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\dutch -Source: ".\valentina\translations\*_id_ID.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\indonesian -Source: ".\valentina\translations\*_es_ES.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\spanish -Source: ".\valentina\translations\*_fi_FI.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\finnish -Source: ".\valentina\translations\*_fi.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\finnish -Source: ".\valentina\translations\*_ro_RO.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\romanian -Source: ".\valentina\translations\*_zh_CN.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\chinese -Source: ".\valentina\translations\*_pt_BR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\brazilianportuguese -Source: ".\valentina\translations\*_el_GR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\greek -; Additional languages provided by Qt -Source: ".\valentina\translations\*_sk.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_pl.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_ar.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_pt.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_sl.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_sv.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_zh_TW.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\qtxmlpatterns_ca.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\qtbase_ca.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\qt_ca.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_da.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_en.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_fa.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_gl.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_he.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_hu.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_ja.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_ko.qm"; DestDir: "{app}\translations"; Flags: ignoreversion -Source: ".\valentina\translations\*_lt.qm"; DestDir: "{app}\translations"; Flags: ignoreversion +Source: "{#buildDirectory}\translations\*_en_US.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\us +Source: "{#buildDirectory}\translations\*_en_IN.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\in +Source: "{#buildDirectory}\translations\*_en_CA.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english\ca +Source: "{#buildDirectory}\translations\*_en.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\english + +Source: "{#buildDirectory}\translations\*_uk_UA.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\ukrainian +Source: "{#buildDirectory}\translations\*_uk.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\ukrainian + +Source: "{#buildDirectory}\translations\*_de_DE.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\german +Source: "{#buildDirectory}\translations\*_de.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\german + +Source: "{#buildDirectory}\translations\*_cs_CZ.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\czech +Source: "{#buildDirectory}\translations\*_cs.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\czech + +Source: "{#buildDirectory}\translations\*_he_IL.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\hebrew +Source: "{#buildDirectory}\translations\*_he.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\hebrew + +Source: "{#buildDirectory}\translations\*_fr_FR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\french +Source: "{#buildDirectory}\translations\*_fr.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\french + +Source: "{#buildDirectory}\translations\*_it_IT.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\italian +Source: "{#buildDirectory}\translations\*_it.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\italian + +Source: "{#buildDirectory}\translations\*_nl_NL.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\dutch +Source: "{#buildDirectory}\translations\*_nl.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\dutch + +Source: "{#buildDirectory}\translations\*_id_ID.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\indonesian + +Source: "{#buildDirectory}\translations\*_es_ES.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\spanish +Source: "{#buildDirectory}\translations\*_es.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\spanish + +Source: "{#buildDirectory}\translations\*_fi_FI.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\finnish +Source: "{#buildDirectory}\translations\*_fi.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\finnish + +Source: "{#buildDirectory}\translations\*_ro_RO.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\romanian + +Source: "{#buildDirectory}\translations\*_zh_CN.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\chinese + +Source: "{#buildDirectory}\translations\*_pl_PL.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\polish +Source: "{#buildDirectory}\translations\*_pl.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\polish + +Source: "{#buildDirectory}\translations\*_pt_BR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion; Components: lang_files\brazilianportuguese + +Source: "{#buildDirectory}\translations\*_el_GR.qm"; DestDir: "{app}\translations"; Flags: ignoreversion + ; Other files -Source: ".\valentina\bearer\*"; DestDir: "{app}\bearer"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\imageformats\*"; DestDir: "{app}\imageformats"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\platforms\*"; DestDir: "{app}\platforms"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\printsupport\*"; DestDir: "{app}\printsupport"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\tables\*"; DestDir: "{app}\tables"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\valentina\labels\*"; DestDir: "{app}\labels"; Flags: ignoreversion recursesubdirs createallsubdirs -; Since qt 5.10 -Source: ".\valentina\styles\*"; DestDir: "{app}\styles"; Flags: recursesubdirs createallsubdirs -Source: ".\valentina\*.exe"; DestDir: "{app}"; Flags: ignoreversion -Source: ".\valentina\*.dll"; DestDir: "{app}" -Source: ".\valentina\*.txt"; DestDir: "{app}"; Flags: ignoreversion -Source: ".\valentina\*.rcc"; DestDir: "{app}"; Flags: ignoreversion -Source: ".\valentina\*.ico"; DestDir: "{app}"; Flags: ignoreversion -Source: ".\valentina\*.ini"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#buildDirectory}\bearer\*"; DestDir: "{app}\bearer"; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist +Source: "{#buildDirectory}\generic\*"; DestDir: "{app}\generic"; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist +Source: "{#buildDirectory}\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\imageformats\*"; DestDir: "{app}\imageformats"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\networkinformation\*"; DestDir: "{app}\networkinformation"; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist +Source: "{#buildDirectory}\platforms\*"; DestDir: "{app}\platforms"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\styles\*"; DestDir: "{app}\styles"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\svgfonts\*"; DestDir: "{app}\svgfonts"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\tls\*"; DestDir: "{app}\tls"; Flags: recursesubdirs createallsubdirs +Source: "{#buildDirectory}\printsupport\*"; DestDir: "{app}\printsupport"; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist +Source: "{#buildDirectory}\*.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#buildDirectory}\*.dll"; DestDir: "{app}" +Source: "{#buildDirectory}\*.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#buildDirectory}\*.rcc"; DestDir: "{app}"; Flags: ignoreversion skipifsourcedoesntexist +Source: "{#buildDirectory}\*.ico"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#buildDirectory}\*.ini"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files ; DLL used to check if the target program is running at install time -Source: ".\valentina\EUDC.TTE"; DestDir: "{fonts}"; FontInstall: "EUDC"; Flags: onlyifdoesntexist uninsneveruninstall [InstallDelete] Type: filesandordirs; Name: "{app}\translations" Type: files; Name: "{userappdata}\ValentinaTeam\*.ini"; Tasks: deletesettings [Icons] -Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" +Name: "{group}\{#MyAppName}{#MyAppStatus}"; Filename: "{app}\valentina.exe" +Name: "{group}\{cm:UninstallProgram,{#MyAppName}{#MyAppStatus}}"; Filename: "{uninstallexe}" Name: "{group}\Tape"; Filename: "{app}\tape.exe" -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon +Name: "{group}\Puzzle"; Filename: "{app}\puzzle.exe" +Name: "{commondesktop}\{#MyAppName}{#MyAppStatus}"; Filename: "{app}\valentina.exe"; Tasks: desktopicon Name: "{commondesktop}\Tape"; Filename: "{app}\tape.exe"; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon +Name: "{commondesktop}\Puzzle"; Filename: "{app}\puzzle.exe"; Tasks: desktopicon +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}{#MyAppStatus}"; Filename: "{app}\valentina.exe"; Tasks: quicklaunchicon [Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +Filename: "{app}\valentina.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [Registry] -Root: "HKCR"; Subkey: ".val"; ValueType: string; ValueName: ""; ValueData: "Valentina.Pattern"; Flags: uninsdeletevalue; Tasks: fileassoc1 -Root: "HKCR"; Subkey: ".vit"; ValueType: string; ValueName: ""; ValueData: "Valentina.IndividualMeasurements"; Flags: uninsdeletevalue; Tasks: fileassoc2 -Root: "HKCR"; Subkey: ".vst"; ValueType: string; ValueName: ""; ValueData: "Valentina.StandardMeasurements"; Flags: uninsdeletevalue; Tasks: fileassoc3 -Root: "HKCR"; Subkey: ".vlt"; ValueType: string; ValueName: ""; ValueData: "Valentina.Layout"; Flags: uninsdeletevalue; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.val\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppName}{#MyAppStatus}.val"; ValueData: ""; Flags: uninsdeletevalue; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.vit\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppName}{#MyAppStatus}.vit"; ValueData: ""; Flags: uninsdeletevalue; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vst\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppName}{#MyAppStatus}.vst"; ValueData: ""; Flags: uninsdeletevalue; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vlt\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppName}{#MyAppStatus}.vlt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vkm\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppName}{#MyAppStatus}.vkm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: fileassoc5 -Root: "HKCR"; Subkey: "Valentina.Pattern"; ValueType: string; ValueData: "Valentina pattern file"; Flags: uninsdeletekey; Tasks: fileassoc1 -Root: "HKCR"; Subkey: "Valentina.Pattern\DefaultIcon"; ValueType: string; ValueData: "{app}\pattern.ico,0"; Tasks: fileassoc1 -Root: "HKCR"; Subkey: "Valentina.Pattern\shell\open\command"; ValueType: string; ValueData: """{app}\valentina.exe"" ""%1"""; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.val"; ValueType: string; ValueName: ""; ValueData: "Valentina pattern file"; Flags: uninsdeletekey; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.vit"; ValueType: string; ValueName: ""; ValueData: "Valentina individual measurement file"; Flags: uninsdeletekey; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vst"; ValueType: string; ValueName: ""; ValueData: "Valentina multisize measurement file"; Flags: uninsdeletekey; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vlt"; ValueType: string; ValueName: ""; ValueData: "Valentina layout file"; Flags: uninsdeletekey; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vkm"; ValueType: string; ValueName: ""; ValueData: "Valentina known measurement file"; Flags: uninsdeletekey; Tasks: fileassoc5 -Root: "HKCR"; Subkey: "Valentina.IndividualMeasurements"; ValueType: string; ValueData: "Valentina individual measurement file"; Flags: uninsdeletekey; Tasks: fileassoc2 -Root: "HKCR"; Subkey: "Valentina.IndividualMeasurements\DefaultIcon"; ValueType: string; ValueData: "{app}\i-measurements.ico,0"; Tasks: fileassoc2 -Root: "HKCR"; Subkey: "Valentina.IndividualMeasurements\shell\open\command"; ValueType: string; ValueData: """{app}\tape.exe"" ""%1"""; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.val\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pattern.ico,0"; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.vit\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\i-measurements.ico,0"; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\s-measurements.ico,0"; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vlt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\layout.ico,0"; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vkm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\k-measurements.ico,0"; Tasks: fileassoc5 -Root: "HKCR"; Subkey: "Valentina.StandardMeasurements"; ValueType: string; ValueData: "Valentina standard measurement file"; Flags: uninsdeletekey; Tasks: fileassoc3 -Root: "HKCR"; Subkey: "Valentina.StandardMeasurements\DefaultIcon"; ValueType: string; ValueData: "{app}\s-measurements.ico,0"; Tasks: fileassoc3 -Root: "HKCR"; Subkey: "Valentina.StandardMeasurements\shell\open\command"; ValueType: string; ValueData: """{app}\tape.exe"" ""%1"""; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.val\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\valentina.exe"" ""%1"""; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.vit\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vst\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vlt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puzzle.exe"" ""%1"""; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vkm\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Tasks: fileassoc5 -Root: "HKCR"; Subkey: "Valentina.Layout"; ValueType: string; ValueData: "Valentina layout file"; Flags: uninsdeletekey; Tasks: fileassoc1 -Root: "HKCR"; Subkey: "Valentina.Layout\DefaultIcon"; ValueType: string; ValueData: "{app}\layout.ico,0"; Tasks: fileassoc1 -Root: "HKCR"; Subkey: "Valentina.Layout\shell\open\command"; ValueType: string; ValueData: """{app}\puzzle.exe"" ""%1"""; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.val\shell\Edit with {#MyAppName}{#MyAppStatus}"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.val\shell\Edit with {#MyAppName}{#MyAppStatus}"; ValueType: string; ValueName: "Icon"; ValueData: "{app}\valentina.exe,0"; Flags: uninsdeletekey; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\.val\shell\Edit with {#MyAppName}{#MyAppStatus}\command"; ValueType: string; ValueName: ""; ValueData: """{app}\valentina.exe"" ""%1"""; Flags: uninsdeletekey; Tasks: fileassoc1 + +Root: HKA; Subkey: "Software\Classes\.vit\shell\Edit with Tape{#MyAppStatus}"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vit\shell\Edit with Tape{#MyAppStatus}"; ValueType: string; ValueName: "Icon"; ValueData: "{app}\tape.exe,0"; Flags: uninsdeletekey; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\.vit\shell\Edit with Tape{#MyAppStatus}\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Flags: uninsdeletekey; Tasks: fileassoc2 + +Root: HKA; Subkey: "Software\Classes\.vst\shell\Edit with Tape{#MyAppStatus}"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vst\shell\Edit with Tape{#MyAppStatus}"; ValueType: string; ValueName: "Icon"; ValueData: "{app}\tape.exe,0"; Flags: uninsdeletekey; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\.vst\shell\Edit with Tape{#MyAppStatus}\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Flags: uninsdeletekey; Tasks: fileassoc3 + +Root: HKA; Subkey: "Software\Classes\.vlt\shell\Edit with Puzzle{#MyAppStatus}"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vlt\shell\Edit with Puzzle{#MyAppStatus}"; ValueType: string; ValueName: "Icon"; ValueData: "{app}\puzzle.exe,0"; Flags: uninsdeletekey; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\.vlt\shell\Edit with Puzzle{#MyAppStatus}\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puzzle.exe"" ""%1"""; Flags: uninsdeletekey; Tasks: fileassoc4 + +Root: HKA; Subkey: "Software\Classes\.vkm\shell\Edit with Tape{#MyAppStatus}"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc5 +Root: HKA; Subkey: "Software\Classes\.vkm\shell\Edit with Tape{#MyAppStatus}"; ValueType: string; ValueName: "Icon"; ValueData: "{app}\tape.exe,0"; Flags: uninsdeletekey; Tasks: fileassoc5 +Root: HKA; Subkey: "Software\Classes\.vkm\shell\Edit with Tape{#MyAppStatus}\command"; ValueType: string; ValueName: ""; ValueData: """{app}\tape.exe"" ""%1"""; Flags: uninsdeletekey; Tasks: fileassoc5 + +Root: HKA; Subkey: "Software\Classes\Applications\valentina.exe\SupportedTypes"; ValueType: string; ValueName: ".val"; ValueData: ""; Tasks: fileassoc1 +Root: HKA; Subkey: "Software\Classes\Applications\tape.exe\SupportedTypes"; ValueType: string; ValueName: ".vit"; ValueData: ""; Tasks: fileassoc2 +Root: HKA; Subkey: "Software\Classes\Applications\tape.exe\SupportedTypes"; ValueType: string; ValueName: ".vst"; ValueData: ""; Tasks: fileassoc3 +Root: HKA; Subkey: "Software\Classes\Applications\puzzle.exe\SupportedTypes"; ValueType: string; ValueName: ".vlt"; ValueData: ""; Tasks: fileassoc4 +Root: HKA; Subkey: "Software\Classes\Applications\tape.exe\SupportedTypes"; ValueType: string; ValueName: ".vkm"; ValueData: ""; Tasks: fileassoc5 [CustomMessages] +SystemLanguage = System language +english.SystemLanguage = System language +ukrainian.SystemLanguage = Мова системи + +FullInstallation = Full installation +english.FullInstallation = Full installation +ukrainian.FullInstallation = Повна інсталяція + +CustomInstallation = Custom installation +english.CustomInstallation = Custom installation +ukrainian.CustomInstallation = Користувацьке налаштування + +LanguageComponent = Language Component +english.LanguageComponent = Language Component +ukrainian.LanguageComponent = Мовний компонент + FileAssoc = Create file associations english.FileAssoc = Create file associations -russian.FileAssoc = Создание ассоциаций файлов ukrainian.FileAssoc = Створити асоціації файлів -german.FileAssoc = Dateizuordnungen erstellen CreateFileAssocVal = *.val (Pattern file) english.CreateFileAssocVal = *.val (Pattern file) -russian.CreateFileAssocVal = *.val (Файл выкройки) ukrainian.CreateFileAssocVal = *.val (Файл викрійки) -german.CreateFileAssocVal = *.val (Schnittmusterdatei) CreateFileAssocVit = *.vit (Individual measurement file) english.CreateFileAssocVit = *.vit (Individual measurement file) -russian.CreateFileAssocVit = *.vit (Файл индивидуальных мерок) ukrainian.CreateFileAssocVit = *.vit (Файл індивідуальних мірок) -german.CreateFileAssocVit = *.vit (Individuelle Maßdatei) CreateFileAssocVst = *.vst (Multisize measurement file) english.CreateFileAssocVst = *.vst (Multisize measurement file) -russian.CreateFileAssocVst = *.vst (Мультиразмерный файл мерок) ukrainian.CreateFileAssocVst = *.vst (Мультирозмірний файл мірок) -german.CreateFileAssocVst = *.vst (Multi-Size Maßdatei) CreateFileAssocVlt = *.vlt (Layout file) english.CreateFileAssocVlt = *.vlt (Layout file) -russian.CreateFileAssocVlt = *.vlt (Файл раскладки) ukrainian.CreateFileAssocVlt = *.vlt (Файл роскладки) -german.CreateFileAssocVlt = *.vlt (Layoutdatei) + +CreateFileAssocVkm = *.vkm (Known measurements file) +english.CreateFileAssocVkm = *.vkm (Known measurements file) +ukrainian.CreateFileAssocVkm = *.vkm (Файл відомих мірок) WarnRemoveOld = is installed at the moment. Remove old version? english.WarnRemoveOld = is installed at the moment. Remove old version? -russian.WarnRemoveOld = установлена на данный момент. Удалить старую версию? ukrainian.WarnRemoveOld = встановлено на даний момент. Видалити стару версію? -german.WarnRemoveOld = ist im Moment installiert. Alte Version entfernen? WarnSameVersionExit = is already installed. This installer will exit. english.WarnSameVersionExit = is already installed. This installer will exit. -russian.WarnSameVersionExit = уже установлено. Установщик завершит свою работу. ukrainian.WarnSameVersionExit = вже встановлено. Інсталятор завершить свою роботу. -german.WarnSameVersionExit = ist bereits installiert. Dieses Installationsprogramm wird beendet. WarnRunningOnUnInstall1 = is currently running. english.WarnRunningOnUnInstall1 = is currently running. -russian.WarnRunningOnUnInstall1 = в настоящее время работает. ukrainian.WarnRunningOnUnInstall1 = в даний час працює. -german.WarnRunningOnUnInstall1 = läuft derzeit. WarnRunningOnUnInstall2 = Please close it and then click on ''Retry'' to proceed. english.WarnRunningOnUnInstall2 = Please close it and then click on ''Retry'' to proceed. -russian.WarnRunningOnUnInstall2 = Закройте его и нажмите ''Повторить'', чтобы продолжить. ukrainian.WarnRunningOnUnInstall2 = Закрийте його та натисніть ''Повторити'', щоб продовжити. -german.WarnRunningOnUnInstall2 = Bitte schließen Sie es und klicken Sie auf ''Wiederholen'', um fortzufahren. WarnCancelInstall = The installation was canceled. english.WarnCancelInstall = The installation was canceled. -russian.WarnCancelInstall = Установка была отменена. ukrainian.WarnCancelInstall = Установка була скасована. -german.WarnCancelInstall = Die Installation wurde abgebrochen. WarnCancelUninstall = The uninstallation process was canceled. english.WarnCancelUninstall = The uninstallation process was canceled. -russian.WarnCancelUninstall = Процесс удаления был отменен. ukrainian.WarnCancelUninstall = Процес деінсталяції скасовано. -german.WarnCancelUninstall = Der Deinstallationsvorgang wurde abgebrochen. WarnOverwrite = is already installed. Overwrite existing installation? english.WarnOverwrite= is already installed. Overwrite existing installation? -russian.WarnOverwrite= уже установлено. Перезаписать существующую установку? ukrainian.WarnOverwrite= вже встановлено. Перезаписати існуючу установку? -german.WarnOverwrite = ist bereits installiert. Vorhandene Installation überschreiben? SetupIsRunningWarning = Valentina setup is already running! english.SetupIsRunningWarning = Valentina setup is already running! -russian.SetupIsRunningWarning = Установка Valentina уже запущена! ukrainian.SetupIsRunningWarning = Встановлення Valentina вже працює! -german.SetupIsRunningWarning = Valentina-Setup läuft bereits! DeinstIsRunningWarning = Valentina uninstall is already running! english.DeinstIsRunningWarning = Valentina uninstall is already running! -russian.DeinstIsRunningWarning = Удаление Valentina уже запущено! ukrainian.DeinstIsRunningWarning = Видалення Valentina вже працює! -german.DeinstIsRunningWarning = Die Deinstallation von Valentina läuft bereits! RemoveAnyExistingSettings = Remove any existing settings english.RemoveAnyExistingSettings = Remove any existing settings -russian.RemoveAnyExistingSettings = Удалить все существующие настройки ukrainian.RemoveAnyExistingSettings = Видалити всі існуючі налаштування -german.RemoveAnyExistingSettings = Alle vorhandenen Einstellungen entfernen ManageSettings = Manage settings english.ManageSettings = Manage settings -russian.ManageSettings = Управление настройками ukrainian.ManageSettings = Керування налаштуваннями -german.ManageSettings = Einstellungen verwalten QuestionRemoveAnyExistingSettings = Do you want to remove any existing settings? english.QuestionRemoveAnyExistingSettings = Do you want to remove any existing settings? -russian.QuestionRemoveAnyExistingSettings = Вы хотите удалить существующие настройки? ukrainian.QuestionRemoveAnyExistingSettings = Видалити будь-які існуючі налаштування? -german.QuestionRemoveAnyExistingSettings = Möchten Sie vorhandene Einstellungen entfernen? ErrorFindApp = Unable to check if a program is running. Please, close the program before continue and press OK to continue the installation. english.ErrorFindApp = Unable to check if a program is running. Please, close the program before continue and press OK to continue the installation. -russian.ErrorFindApp = Невозможно проверить, запущена ли программа. Пожалуйста, закройте программу перед продолжением и нажмите OK, чтобы продолжить установку. ukrainian.ErrorFindApp = Неможливо перевірити, чи запущена програма. Будь ласка, закрийте програму перед продовженням та натисніть OK, щоб продовжити встановлення. -german.ErrorFindApp = Es kann nicht geprüft werden, ob ein Programm läuft. Bitte schließen Sie das Programm, bevor Sie fortfahren, und drücken Sie OK, um die Installation fortzusetzen. [Code] const @@ -386,6 +416,8 @@ const ProgramExeName1 = 'valentina.exe'; ProgramName2 = 'Tape'; ProgramExeName2 = 'tape.exe'; + ProgramName3 = 'Puzzle'; + ProgramExeName3 = 'puzzle.exe'; ///////////////////////////////////////////////////////////////////// // Convert version strings into float and compare @@ -406,8 +438,8 @@ begin end; // Global variables/constants and general functions -const installer_mutex_name = '{#MyAppName}' + '_setup_mutex'; -const uninstaller_mutex_name = '{#MyAppName}' + '_uninstall_mutex'; +const installer_mutex_name = '{#MyAppName}{#MyAppStatus}' + '_setup_mutex'; +const uninstaller_mutex_name = '{#MyAppName}{#MyAppStatus}' + '_uninstall_mutex'; ///////////////////////////////////////////////////////////////////// // Find application by name in current process list @@ -548,6 +580,10 @@ var If Result Then begin Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramExeName2, ProgramName2 + ProgramRunningOnInstallMessage) + If Result Then + begin + Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramExeName3, ProgramName3 + ProgramRunningOnInstallMessage) + end; end; if Not Result then @@ -584,6 +620,10 @@ var If Result Then begin Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramExeName2, ProgramName2 + ProgramRunningOnUninstallMessage); + If Result Then + begin + Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramExeName3, ProgramName3 + ProgramRunningOnUninstallMessage); + end; end; if not Result then @@ -604,3 +644,4 @@ begin end; end; end; + diff --git a/scripts/appveyor-deploy.ps1 b/scripts/appveyor-deploy.ps1 index 704aecf0d..c121e4435 100644 --- a/scripts/appveyor-deploy.ps1 +++ b/scripts/appveyor-deploy.ps1 @@ -1,17 +1,13 @@ $env:BUILD_FOLDER = "$env:APPVEYOR_BUILD_FOLDER\build"; -$env:INSTALL_ROOT = "$env:BUILD_FOLDER\package"; +$env:INSTALL_ROOT = "$env:BUILD_FOLDER\install-root"; -if($env:BUILD_SYSTEM -eq "qbs") { - $env:INSTALL_ROOT = "$env:BUILD_FOLDER\install-root"; -} - -$file_name = "valentina-$env:PLATFORM-$env:COMPILER-$env:ARCH-$env:QT_VERSION-$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_REPO_COMMIT.tar.xz"; +$file_name = "valentina-$env:PLATFORM-$env:COMPILER-$env:ARCH-$env:QT_VERSION-$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_REPO_COMMIT.exe"; if($env:DEPLOY -eq "true") { - Write-Host "[CI] Starting packing." -ForegroundColor Green; - & $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" pack "$env:INSTALL_ROOT\valentina" "$env:INSTALL_ROOT\$file_name"; + Write-Host "[CI] Preparing installer." -ForegroundColor Green; + Rename-Item -Path "$env:INSTALL_ROOT\valentina\ValentinaInstaller.exe" -NewName "$file_name"; if ($LastExitCode -ne 0) { - Write-Error -Message "[CI] Error creating an archive." -Category InvalidResult; + Write-Error -Message "[CI] Error preparing installer." -Category InvalidResult; exit 1; } else { Write-Host "[CI] Done." -ForegroundColor Green; @@ -27,7 +23,7 @@ if($env:DEPLOY -eq "true") { } Write-Host "[CI] Uploading." -ForegroundColor Green; - & $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" upload $env:ACCESS_TOKEN "$env:INSTALL_ROOT\$file_name" "/0.7.x/Windows/$file_name"; + & $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" upload $env:ACCESS_TOKEN "$env:INSTALL_ROOT\valentina\$file_name" "/0.7.x/Windows/$file_name"; if ($LastExitCode -ne 0) { Write-Error -Message "[CI] Error uploading an artifact." -Category InvalidResult; exit 1; diff --git a/scripts/deploy.py b/scripts/deploy.py index 0890ce437..668cce501 100644 --- a/scripts/deploy.py +++ b/scripts/deploy.py @@ -132,9 +132,10 @@ def run_clean(refresh_token): "access token from the app console on the web.") clean_folders = ["/0.7.x/Mac OS X", "/0.7.x/Windows"] - arhive_types = [r'^valentina-Windows10\+-mingw-x64-Qt.*-develop-[a-f0-9]{40}\.tar\.xz$', - r'^valentina-Windows7\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.tar\.xz$', - r'^valentina-WindowsXP\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.tar\.xz$', + arhive_types = [r'^valentina-Windows10\+-mingw-x64-Qt.*-develop-[a-f0-9]{40}\.exe$', + r'^valentina-Windows7\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.exe$', + r'^valentina-Windows10\+-msvc-x64-Qt.*-develop-[a-f0-9]{40}\.exe$', + r'^valentina-Windows7\+-msvc-x86-Qt.*-develop-[a-f0-9]{40}\.exe$', r'^valentina-macOS_11\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$', r'^valentina-macOS_11\+-Qt.*-x64-develop-multibundle-[a-f0-9]{40}\.dmg$', r'^valentina-macOS_10.13\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$', diff --git a/src/app/valentina/valentina.qbs b/src/app/valentina/valentina.qbs index 1aa45e0a4..9ca11a196 100644 --- a/src/app/valentina/valentina.qbs +++ b/src/app/valentina/valentina.qbs @@ -342,7 +342,6 @@ VToolApp { files: [ "dist/win/valentina.ico", "dist/win/pattern.ico", - "dist/win/EUDC.TTE", "AUTHORS.txt", "LICENSE_GPL.txt", "README.txt", diff --git a/valentina.qbs b/valentina.qbs index e762fa5e0..7311aeaf2 100644 --- a/valentina.qbs +++ b/valentina.qbs @@ -25,7 +25,8 @@ Project { references: [ "src/src.qbs", "share/translations/translations.qbs", - "dmg.qbs" + "dmg.qbs", + "winsetup.qbs" ] qbsSearchPaths: "qbs" diff --git a/winsetup.qbs b/winsetup.qbs new file mode 100644 index 000000000..68d2b4845 --- /dev/null +++ b/winsetup.qbs @@ -0,0 +1,83 @@ +import qbs.FileInfo +import qbs.Utilities +import qbs.TemporaryDir + +Project { + InnoSetup { + Depends { name: "buildconfig" } + + property bool _test: { + var present = qbs.targetOS.includes("windows") && innosetup.present; + console.info("has innosetup: " + present); + if (present) { + console.info("innosetup version " + innosetup.version); + } + } + + condition: qbs.targetOS.contains("windows") + name: "ValentinaSetup" + targetName: "ValentinaInstaller" + version: buildconfig.projectVersion + builtByDefault: false + + files: [ + project.sourceDirectory + "/dist/win/inno/valentina.iss" + ] + + property string arhitecture: { + if (qbs.architecture == "x86_64") + { + return "x64" + } + + if (qbs.architecture == "arm64") + { + return "arm64"; + } + + return ""; + } + + property string minVersion: { + if (Utilities.versionCompare(Qt.core.version, "6.5") >= 0) + { + return "10.0.17763"; + } + + if (Utilities.versionCompare(Qt.core.version, "6.3") >= 0) + { + return "10.0.19044"; + } + + if (Utilities.versionCompare(Qt.core.version, "6.2") >= 0) + { + return "10.0.17763"; + } + + if (Utilities.versionCompare(Qt.core.version, "6.0") >= 0) + { + return "10.0"; + } + + return "6.1"; + + } + + innosetup.verboseOutput: true + innosetup.defines: [ + "MyAppVersion=" + version, + "MyAppCopyright=" + buildconfig.valentina_copyright_string, + "MyAppArchitecture=" + arhitecture, + "MyAppMinWinVersion=" + minVersion, + "buildDirectory=" + project.qbs.installRoot + ] + innosetup.compilerFlags: ["/V9"] + + Group { + fileTagsFilter: ['innosetup.exe'] + qbs.install: true + qbs.installPrefix: '/' + } + } +} +