From 02183120551810e4c3b123728eeb1c3c49decc66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Brunner?=
Date: Fri, 27 Jul 2018 14:45:02 +0200
Subject: [PATCH] Windows installer: Updates for 0.12.3.0
---
installers/windows/Monero.iss | 66 +++++++++++++++++++++++++----------
installers/windows/README.md | 2 +-
installers/windows/ReadMe.htm | 14 ++++----
3 files changed, 55 insertions(+), 27 deletions(-)
diff --git a/installers/windows/Monero.iss b/installers/windows/Monero.iss
index f3bdd146..644d8f46 100644
--- a/installers/windows/Monero.iss
+++ b/installers/windows/Monero.iss
@@ -8,7 +8,7 @@ AppName=Monero GUI Wallet
; Thus it's important to keep this stable over releases
; With a different "AppName" InnoSetup would treat a mere update as a completely new application and thus mess up
-AppVersion=0.12.0.0
+AppVersion=0.12.3.0
DefaultDirName={pf}\Monero GUI Wallet
DefaultGroupName=Monero GUI Wallet
UninstallDisplayIcon={app}\monero-wallet-gui.exe
@@ -19,6 +19,8 @@ WizardSmallImageFile=WizardSmallImage.bmp
WizardImageFile=WelcomeImage.bmp
DisableWelcomePage=no
LicenseFile=LICENSE
+AppPublisher=The Monero Developer Community
+AppPublisherURL=https://getmonero.org
[Languages]
@@ -39,7 +41,7 @@ Name: "en"; MessagesFile: "compiler:Default.isl"
; .exe/.dll file possibly with version info).
;
; This is far more robust than relying on version info or on file dates (flag "comparetimestamp").
-; As of version 0.12.0.0, the Monero .exe files do not carry version info anyway in their .exe headers.
+; As of version 0.12.3.0, the Monero .exe files do not carry version info anyway in their .exe headers.
; The only small drawback seems to be somewhat longer update times because each and every file is
; copied again, even if already present with correct file date and identical content.
;
@@ -60,6 +62,7 @@ Source: "monero-wallet-gui.log"; DestDir: "{app}"; Flags: onlyifdoesntexist; Per
; Monero CLI wallet
Source: "bin\monero-wallet-cli.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\monero-gen-trusted-multisig.exe"; DestDir: "{app}"; Flags: ignoreversion
; Monero wallet RPC interface implementation
Source: "bin\monero-wallet-rpc.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -73,6 +76,9 @@ Source: "monero-daemon.bat"; DestDir: "{app}"; Flags: ignoreversion;
; Monero blockchain utilities
Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\monero-blockchain-blackball.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\monero-blockchain-usage.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: ignoreversion
; was present in 0.10.3.1, not present anymore in 0.11.1.0 and after
; Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -97,7 +103,7 @@ Source: "bin\bearer\*"; DestDir: "{app}\bearer"; Flags: recursesubdirs ignorever
; Qt Windows platform plugins
Source: "bin\platforms\*"; DestDir: "{app}\platforms"; Flags: recursesubdirs ignoreversion
Source: "bin\platforminputcontexts\*"; DestDir: "{app}\platforminputcontexts"; Flags: recursesubdirs ignoreversion
-Source: "bin\styles\*"; DestDir: "{app}\styles"; Flags: recursesubdirs ignoreversion
+; No more "styles" subdirectory in 0.12.3.0
; Qt support for SVG icons
Source: "bin\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs ignoreversion
@@ -116,7 +122,8 @@ Source: "bin\playlistformats\*"; DestDir: "{app}\playlistformats"; Flags: recurs
; Qt graphical effects as part of the core runtime, effects like blurring and blending
Source: "bin\QtGraphicalEffects\*"; DestDir: "{app}\QtGraphicalEffects"; Flags: recursesubdirs ignoreversion
-; No more Qt "private" directory in 0.12.0.0
+; Qt "private" directory with "effects"
+Source: "bin\private\*"; DestDir: "{app}\private"; Flags: recursesubdirs ignoreversion
; Qt QML files
Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs ignoreversion
@@ -125,6 +132,10 @@ Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs ignoreversi
Source: "bin\QtQuick\*"; DestDir: "{app}\QtQuick"; Flags: recursesubdirs ignoreversion
Source: "bin\QtQuick.2\*"; DestDir: "{app}\QtQuick.2"; Flags: recursesubdirs ignoreversion
+; Qt Quick Controls 2 modules of the Qt Toolkit
+Source: "bin\Material\*"; DestDir: "{app}\Material"; Flags: recursesubdirs ignoreversion
+Source: "bin\Universal\*"; DestDir: "{app}\Universal"; Flags: recursesubdirs ignoreversion
+
; Qt Quick 2D Renderer fallback for systems / environments with "low-level graphics" i.e. without 3D support
Source: "bin\scenegraph\*"; DestDir: "{app}\scenegraph"; Flags: recursesubdirs ignoreversion
Source: "bin\start-low-graphics-mode.bat"; DestDir: "{app}"; Flags: ignoreversion
@@ -167,12 +178,13 @@ Source: "bin\libiconv-2.dll"; DestDir: "{app}"; Flags: ignoreversion
; ICU, International Components for Unicode
; After changes for supporting UTF-8 path and file names by using Boost Locale, all those 5
-; ICU libraries are needed in 0.12.0.0
-Source: "bin\libicudt58.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "bin\libicuin58.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "bin\libicuio58.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "bin\libicutu58.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "bin\libicuuc58.dll"; DestDir: "{app}"; Flags: ignoreversion
+; ICU libraries are needed starting from 0.12.0.0
+; Use wildcards instead of specific version number like 61 because that seems to change frequently
+Source: "bin\libicudt??.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\libicuin??.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\libicuio??.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\libicutu??.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "bin\libicuuc??.dll"; DestDir: "{app}"; Flags: ignoreversion
; Library for native language support, part of GNU gettext
Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -194,7 +206,8 @@ Source: "bin\liblzma-5.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libmng-2.dll"; DestDir: "{app}"; Flags: ignoreversion
; PCRE, Perl Compatible Regular Expressions
-; "libpcre2-16-0.dll" is new for 0.12.0.0; unclear whether "libpcre16-0.dll" is still needed
+; "libpcre2-16-0.dll" is new for 0.12.0.0
+; Uclear whether "libpcre16-0.dll" is still needed; some versions of "Qt5Core.dll" seem to reference it, some not
Source: "bin\libpcre-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libpcre16-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libpcre2-16-0.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -215,7 +228,6 @@ Source: "bin\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
; Stack protection
-; New for 0.12.0.0
Source: "bin\libssp-0.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -238,6 +250,7 @@ var
procedure InitializeWizard;
var s: String;
width: Integer;
+ blockChainDir: String;
begin
// Large image for the "Welcome" page, with page reconfigured
WizardForm.WelcomeLabel1.Visible := false;
@@ -252,7 +265,7 @@ begin
// Additional wizard page for entering a special blockchain location
blockChainDefaultDir := ExpandConstant('{commonappdata}\bitmonero');
s := 'The default folder to store the Monero blockchain is ' + blockChainDefaultDir;
- s := s + '. As this will need more than 50 GB of free space, you may want to use a folder on a different drive.';
+ s := s + '. As this will need more than 60 GB of free space, you may want to use a folder on a different drive.';
s := s + ' If yes, specify that folder here.';
BlockChainDirPage := CreateInputDirPage(wpSelectDir,
@@ -261,11 +274,17 @@ begin
False, '');
BlockChainDirPage.Add('');
- BlockChainDirPage.Values[0] := GetPreviousData('BlockChainDir', '');
- if BlockChainDirPage.Values[0] = '' then begin
- // Unfortunately 'TInputDirWizardDirPage' does not allow empty field
- BlockChainDirPage.Values[0] := blockChainDefaultDir;
+ // Evaluate proposal for the blockchain location
+ // In case of an update take the blockchain location from the actual setting in the registry
+ RegQueryStringValue(HKEY_CURRENT_USER, 'Software\monero-project\monero-core', 'blockchainDataDir', blockChainDir);
+ if blockChainDir = '' then begin
+ blockChainDir := GetPreviousData('BlockChainDir', '');
end;
+ if blockChainDir = '' then begin
+ // Unfortunately 'TInputDirWizardDirPage' does not allow empty field, so "propose" Monero default location
+ blockChainDir := blockChainDefaultDir;
+ end;
+ BlockChainDirPage.Values[0] := blockChainDir;
end;
procedure RegisterPreviousData(PreviousDataKey: Integer);
@@ -283,6 +302,17 @@ begin
// No quotes for folder name with blanks as this is never used as part of a command line
end;
+function BlockChainDirOrEmpty(Param: String) : String;
+VAR s: String;
+begin
+ s := BlockChainDir('');
+ if s = blockChainDefaultDir then begin
+ // No need to add the default dir as setting
+ s := '';
+ end;
+ Result := s;
+end;
+
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
var s: String;
@@ -384,5 +414,5 @@ Name: "{userdesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Tasks
; Side effect, mostly positive: The uninstaller will clean the registry
Root: HKCU; Subkey: "Software\monero-project"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\monero-project\monero-core"; Flags: uninsdeletekey
-Root: HKCU; Subkey: "Software\monero-project\monero-core"; ValueType: string; ValueName: "daemonFlags"; ValueData: {code:DaemonFlags};
+Root: HKCU; Subkey: "Software\monero-project\monero-core"; ValueType: string; ValueName: "blockchainDataDir"; ValueData: {code:BlockChainDirOrEmpty};
diff --git a/installers/windows/README.md b/installers/windows/README.md
index a1c9f574..3cb870c5 100644
--- a/installers/windows/README.md
+++ b/installers/windows/README.md
@@ -38,7 +38,7 @@ The build steps in detail:
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
2. Get the Inno Setup script plus related files by cloning the whole [monero-core GitHub repository](https://github.com/monero-project/monero-core); you will only need the files in the installer directory `installers\windows` however
-3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.12.0.0` directory to this `bin` subdirectory
+3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.12.3.0` directory to this `bin` subdirectory
4. Start Inno Setup, load `Monero.iss` and compile it
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory
diff --git a/installers/windows/ReadMe.htm b/installers/windows/ReadMe.htm
index 8332bedc..5a777d12 100644
--- a/installers/windows/ReadMe.htm
+++ b/installers/windows/ReadMe.htm
@@ -7,7 +7,7 @@
Monero Lithium Luna GUI Wallet
Copyright (c) 2014-2018, The Monero Project
- Date: March 18, 2018
+ Date: July 27, 2018
Preface
@@ -23,7 +23,7 @@
Content of the Package
- You just installed the Monero GUI wallet for Windows, release Lithium Luna, more exact version 0.12.0.0.
+
You just installed the Monero GUI wallet for Windows, release Lithium Luna, more exact version 0.12.3.0.
The wallet enables you to send and receive Moneroj in a secure and very private way.
@@ -61,7 +61,7 @@
provides the most security and privacy possible for you.
However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
- the blockchain locally (around 50 GB in spring 2018, and of course growing), you can compromise and try to connect
+ the blockchain locally (around 60 GB in summer 2018, and of course growing), you can compromise and try to connect
to a remote node. One way of finding such a node is checking
this page.
@@ -75,15 +75,13 @@
Beside the GUI wallet there is second program, the so-called Monero daemon, which will carry out that download.
You find it in the Utilities sub-folder of the program group.
- Depending on your Internet access and the speed of your computer this can take
+
Depending on your Internet access, the speed of your computer and the type of disk you use (HDD or SSD) this can take
several hours, in some cases more than a day. Furthermore there are unfortunate cases where the
download gets stuck somehow or doesn't work at all, e.g. because a firewall prevents access to other nodes of the
Monero network.
- The GUI wallet can start the daemon for you, but that way you will not see much during initial blockchain
- download, especially you probably won't see any error messages in case something goes wrong. By starting the
- daemon yourself "by hand" using the Monero Daemon icon in the Utilities sub-folder of the
- Monero program group you will see it running and displaying messages in a separate window.
+ The GUI wallet can start the daemon for you. You can also use the Monero Daemon icon in the Utilities
+ sub-folder of the Monero program group.
If all goes well the daemon will finally display a message like this:
You are now synchronized with the network.