From b8a4dab9b2a42e6ea8b652f1bc46ae1d6bc9e808 Mon Sep 17 00:00:00 2001
From: René Brunner
Date: Sun, 11 Jun 2017 08:28:54 +0200
Subject: GUI Wallet Beta 2 installer for Windows, initial version
---
installers/windows/.gitignore | 2 +
installers/windows/FinishImage.bmp | Bin 0 -> 154542 bytes
installers/windows/LICENSE | 31 +++
installers/windows/Monero.iss | 351 +++++++++++++++++++++++++++++++
installers/windows/README.md | 41 ++++
installers/windows/ReadMe.htm | 173 +++++++++++++++
installers/windows/WelcomeImage.bmp | Bin 0 -> 450054 bytes
installers/windows/WizardSmallImage.bmp | Bin 0 -> 9798 bytes
installers/windows/monero-daemon.bat | 3 +
installers/windows/monero-wallet-gui.log | 1 +
10 files changed, 602 insertions(+)
create mode 100644 installers/windows/.gitignore
create mode 100644 installers/windows/FinishImage.bmp
create mode 100644 installers/windows/LICENSE
create mode 100644 installers/windows/Monero.iss
create mode 100644 installers/windows/README.md
create mode 100644 installers/windows/ReadMe.htm
create mode 100644 installers/windows/WelcomeImage.bmp
create mode 100644 installers/windows/WizardSmallImage.bmp
create mode 100644 installers/windows/monero-daemon.bat
create mode 100644 installers/windows/monero-wallet-gui.log
diff --git a/installers/windows/.gitignore b/installers/windows/.gitignore
new file mode 100644
index 00000000..db2f0c14
--- /dev/null
+++ b/installers/windows/.gitignore
@@ -0,0 +1,2 @@
+# Ignore the subdirectory with the individual GUI Wallet files
+bin/
diff --git a/installers/windows/FinishImage.bmp b/installers/windows/FinishImage.bmp
new file mode 100644
index 00000000..9190b599
Binary files /dev/null and b/installers/windows/FinishImage.bmp differ
diff --git a/installers/windows/LICENSE b/installers/windows/LICENSE
new file mode 100644
index 00000000..3e026b6e
--- /dev/null
+++ b/installers/windows/LICENSE
@@ -0,0 +1,31 @@
+Copyright (c) 2014-2017, The Monero Project
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+may be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Parts of the project are originally copyright (c) 2012-2013 The Cryptonote
+developers
diff --git a/installers/windows/Monero.iss b/installers/windows/Monero.iss
new file mode 100644
index 00000000..c9b5f1d4
--- /dev/null
+++ b/installers/windows/Monero.iss
@@ -0,0 +1,351 @@
+; Monero GUI Wallet Beta 2 Installer for Windows
+; Copyright (c) 2014-2017, The Monero Project
+; See LICENSE
+
+[Setup]
+AppName=Monero Core + GUI Wallet
+AppVersion=0.10.3.1
+DefaultDirName={pf}\Monero Core
+DefaultGroupName=Monero Core + GUI Wallet
+UninstallDisplayIcon={app}\monero-wallet-gui.exe
+PrivilegesRequired=admin
+ArchitecturesInstallIn64BitMode=x64
+ArchitecturesAllowed=x64
+WizardSmallImageFile=WizardSmallImage.bmp
+WizardImageFile=WelcomeImage.bmp
+DisableWelcomePage=no
+LicenseFile=LICENSE
+
+
+[Languages]
+Name: "en"; MessagesFile: "compiler:Default.isl"
+; Without localized versions of special forms, messages etc. of the installer, and without translated ReadMe's
+; it probably does not make much sense to offer other install-time languages beside English
+; Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
+; Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
+; Name: "jp"; MessagesFile: "compiler:Languages\Japanese.isl"
+; Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
+; Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl"
+
+
+[Files]
+Source: "ReadMe.htm"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "FinishImage.bmp"; Flags: dontcopy
+
+; Monero GUI wallet
+Source: "bin\monero-wallet-gui.exe"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Monero GUI wallet log file
+; Beta 2 does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
+; so pre-create the file and give the necessary permissions to the wallet to write into it
+Source: "monero-wallet-gui.log"; DestDir: "{app}"; Flags: comparetimestamp; Permissions: users-modify
+
+; Monero CLI wallet
+Source: "bin\monero-wallet-cli.exe"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Monero wallet RPC interface implementation
+Source: "bin\monero-wallet-rpc.exe"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Monero daemon
+Source: "bin\monerod.exe"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Monero daemon wrapped in a batch file that stops before the text window closes, to see any error messages
+Source: "monero-daemon.bat"; DestDir: "{app}"; Flags: comparetimestamp;
+
+; Monero blockchain utilities
+Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Various .qm files for translating the wallet UI "on the fly" into all supported languages
+Source: "bin\translations\*"; DestDir: "{app}\translations"; Flags: recursesubdirs comparetimestamp
+
+; Core Qt runtime
+Source: "bin\Qt5Core.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Gui.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Multimedia.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5MultimediaQuick_p.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Network.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Qml.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Quick.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Svg.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5Widgets.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\Qt5XmlPatterns.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Qt QML elements like the local files selector "FolderListModel" and "Settings"
+Source: "bin\Qt\*"; DestDir: "{app}\Qt"; Flags: recursesubdirs comparetimestamp
+
+; Qt audio support
+Source: "bin\audio\*"; DestDir: "{app}\audio"; Flags: recursesubdirs comparetimestamp
+
+; Qt bearer / network connection management
+Source: "bin\bearer\*"; DestDir: "{app}\bearer"; Flags: recursesubdirs comparetimestamp
+
+; Qt Windows platform plugin
+Source: "bin\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: comparetimestamp
+
+; Qt support for SVG icons
+Source: "bin\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs comparetimestamp
+
+; Qt support for various image formats (JPEG, BMP, SVG etc)
+Source: "bin\imageformats\*"; DestDir: "{app}\imageformats"; Flags: recursesubdirs comparetimestamp
+
+; Qt multimedia support
+Source: "bin\QtMultimedia\*"; DestDir: "{app}\QtMultimedia"; Flags: recursesubdirs comparetimestamp
+Source: "bin\mediaservice\*"; DestDir: "{app}\mediaservice"; Flags: recursesubdirs comparetimestamp
+
+; Qt support for "m3u" playlists
+; candidate for elimination? Don't think the GUI wallet needs such playlists
+Source: "bin\playlistformats\*"; DestDir: "{app}\playlistformats"; Flags: recursesubdirs comparetimestamp
+
+; Qt graphical effects as part of the core runtime, effects like blurring and blending
+Source: "bin\QtGraphicalEffects\*"; DestDir: "{app}\QtGraphicalEffects"; Flags: recursesubdirs comparetimestamp
+
+; Some more Qt graphical effects
+; "private" as a name for this directory looks a little strange. Historical reasons?
+Source: "bin\private\*"; DestDir: "{app}\private"; Flags: recursesubdirs comparetimestamp
+
+; Qt QML files
+Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs comparetimestamp
+
+; Qt Quick files
+Source: "bin\QtQuick\*"; DestDir: "{app}\QtQuick"; Flags: recursesubdirs comparetimestamp
+Source: "bin\QtQuick.2\*"; DestDir: "{app}\QtQuick.2"; Flags: recursesubdirs comparetimestamp
+
+; 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 comparetimestamp
+Source: "bin\start-low-graphics-mode.bat"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Mesa, open-source OpenGL implementation; part of "low-level graphics" support
+Source: "bin\opengl32sw.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Left out subdirectory "qmltooling" with the Qt QML debugger: Probably not relevant in an end-user package
+
+; Microsoft Direct3D runtime
+Source: "bin\D3Dcompiler_47.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; bzip2 support
+Source: "bin\libbz2-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; ANGLE ("Almost Native Graphics Layer Engine") support, as used by Qt
+Source: "bin\libEGL.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\libGLESV2.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; FreeType font engine, as used by Qt
+Source: "bin\libfreetype-6.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; GCC runtime, x64 version
+Source: "bin\libgcc_s_seh-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; GLib, low level core library e.g. for GNOME and GTK+
+; Really needed under Windows?
+Source: "bin\libglib-2.0-0.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Graphite font support
+; Really needed?
+Source: "bin\libgraphite2.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; HarfBuzz OpenType text shaping engine
+; Really needed?
+Source: "bin\libharfbuzz-0.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; LibIconv, conversions between character encodings
+Source: "bin\libiconv-2.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Part of cygwin? Needed by Qt somehow?
+Source: "bin\libicudt57.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\libicuin57.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\libicuuc57.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Library for native language support, part of GNU gettext
+Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; JasPer, support for JPEG-2000
+Source: "bin\libjasper-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; libjpeg, C library for reading and writing JPEG image files
+Source: "bin\libjpeg-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; Little CMS, color management system
+Source: "bin\liblcms2-2.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; XZ Utils, LZMA compression library
+Source: "bin\liblzma-5.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; MNG / Portable Network Graphics ("animated PNG")
+Source: "bin\libmng-2.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; PCRE, Perl Compatible Regular Expressions
+Source: "bin\libpcre-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+Source: "bin\libpcre16-0.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; libpng, the official PNG reference library
+Source: "bin\libpng16-16.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; libstdc++, GNU Standard C++ Library
+Source: "bin\libstdc++-6.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; LibTIFF, TIFF Library and Utilities
+Source: "bin\libtiff-5.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; C++ threading support
+Source: "bin\libwinpthread-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+; zlib compression library
+Source: "bin\zlib1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+
+
+[Run]
+Filename: "{app}\ReadMe.htm"; Description: "Show ReadMe"; Flags: postinstall shellexec skipifsilent
+
+; DON'T offer to run the wallet right away, let the people read about initial blockchain download first in the ReadMe
+; Filename: "{app}\monero-wallet-gui.exe"; Description: "Run GUI Wallet now"; Flags: postinstall nowait skipifsilent
+
+
+[Code]
+var
+ BlockChainDirPage: TInputDirWizardPage;
+ blockChainDefaultDir: String;
+
+procedure InitializeWizard;
+var s: String;
+ width: Integer;
+begin
+ // Large image for the "Welcome" page, with page reconfigured
+ WizardForm.WelcomeLabel1.Visible := false;
+ WizardForm.WelcomeLabel2.Visible := false;
+ WizardForm.WizardBitmapImage.Height := 300;
+ WizardForm.WizardBitmapImage.Width := 500;
+
+ // Image for the "Finnish" screen, in standard WizardBitmapImage size of 164 x 314
+ ExtractTemporaryFile('FinishImage.bmp');
+ WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\FinishImage.bmp'));
+
+ // 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 up to 20 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,
+ 'Select Blockchain Directory', 'Where should the blockchain be installed?',
+ s,
+ 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;
+ end;
+end;
+
+procedure RegisterPreviousData(PreviousDataKey: Integer);
+begin
+ // Store the selected folder for further reinstall/upgrade
+ SetPreviousData(PreviousDataKey, 'BlockChainDir', BlockChainDirPage.Values[0]);
+end;
+
+function BlockChainDir(Param: String) : String;
+// Directory of the blockchain
+var s: String;
+begin
+ s := BlockChainDirPage.Values[0];
+ Result := s;
+ // No quotes for folder name with blanks as this is never used as part of a command line
+end;
+
+function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
+ MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
+var s: String;
+begin
+ // Fill the 'Ready Memo' with the normal settings and the custom settings
+ s := '';
+ s := s + MemoDirInfo + NewLine + NewLine;
+
+ s := s + 'Blockchain folder' + NewLine;
+ s := s + Space + BlockChainDir('') + NewLine;
+
+ Result := s;
+end;
+
+function DaemonLog(Param: String) : String;
+// Full filename of the log of the daemon
+begin
+ Result := BlockChainDir('') + '\bitmonero.log';
+ // No quotes for filename with blanks as this is never used as part of a command line
+end;
+
+function DaemonFlags(Param: String): String;
+// Flags to add to the shortcut to the daemon
+var s: String;
+begin
+ s := BlockChainDir('');
+ if s = blockChainDefaultDir then begin
+ // No need to add the default dir as flags for the daemon
+ s := '';
+ end;
+ if Pos(' ', s) > 0 then begin
+ // Quotes needed for filename with blanks
+ s := '"' + s + '"';
+ end;
+ if s <> '' then begin
+ s := '--data-dir ' + s;
+ end;
+ Result := s;
+end;
+
+procedure CurStepChanged(CurStep: TSetupStep);
+var s: TArrayOfString;
+begin
+ if CurStep = ssPostInstall then begin
+ // Re-build "monero-daemon.bat" according to actual install and blockchain directory used
+ SetArrayLength(s, 3);
+ s[0] := 'REM Execute the Monero daemon and then stay with window open after it exits';
+ s[1] := '"' + ExpandConstant('{app}\monerod.exe') + '" ' + DaemonFlags('');
+ s[2] := 'PAUSE';
+ SaveStringsToFile(ExpandConstant('{app}\monero-daemon.bat'), s, false);
+ end;
+end;
+
+function InitializeUninstall(): Boolean;
+var s: String;
+begin
+ s := 'Please note: Uninstall will not delete any downloaded blockchain. ';
+ s := s + 'If you do not need it anymore you have to delete it manually.';
+ s := s + #13#10#13#10 + 'Uninstall also will not delete any wallets that you created.';
+ MsgBox(s, mbInformation, MB_OK);
+ Result := true;
+end;
+
+
+[Icons]
+; Icons in the "Monero Core + GUI Wallet" program group
+; Windows will almost always display icons in alphabetical order, per level, so specify the text accordingly
+Name: "{group}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"
+Name: "{group}\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
+Name: "{group}\Read Me"; Filename: "{app}\ReadMe.htm"
+Name: "{group}\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"
+
+; Icons for troubleshooting problems / testing / debugging
+; For Windows 7 it would be ok to go one level deeper with those icons into a folder, e.g. called "Troubleshooting"
+; Syntax would be: Name: "{group}\Troubleshooting\GUI Wallet Low Graphics Mode" ...
+; However, Windows 10 stupidly insists on displayin ALL icons on one single level despite finding them in such a folder
+; So just make those icons visually different from the others by text, and make them sort at the end by the help of "x" in front
+Name: "{group}\x (Try GUI Wallet Low Graphics Mode)"; Filename: "{app}\start-low-graphics-mode.bat"
+Name: "{group}\x (Try Daemon, Exit Confirm)"; Filename: "{app}\monero-daemon.bat"
+Name: "{group}\x (Try Kill Daemon)"; Filename: "Taskkill.exe"; Parameters: "/IM monerod.exe /T /F"
+Name: "{group}\x (Check GUI Wallet Log)"; Filename: "Notepad"; Parameters: "{app}\monero-wallet-gui.log"
+Name: "{group}\x (Check Daemon Log)"; Filename: "Notepad"; Parameters: {code:DaemonLog}
+Name: "{group}\x (Check Default Wallet Folder)"; Filename: "{win}\Explorer.exe"; Parameters: "{userdocs}\Monero\wallets"
+Name: "{group}\x (Check Blockchain Folder)"; Filename: "{win}\Explorer.exe"; Parameters: {code:BlockChainDir}
+
+
+[Registry]
+; Store any special flags for the daemon in the registry location where the GUI wallet will take it from
+; So if the wallet is used to start the daemon instead of the separate icon the wallet will pass the correct flags
+; 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};
+
diff --git a/installers/windows/README.md b/installers/windows/README.md
new file mode 100644
index 00000000..73cc38c4
--- /dev/null
+++ b/installers/windows/README.md
@@ -0,0 +1,41 @@
+# Monero Core + GUI Wallet Beta 2 Windows Installer #
+
+Copyright (c) 2014-2017, The Monero Project
+
+## Introduction ##
+
+This is a *Inno Setup* script `Monero.iss` plus some related files that
+allows you to build a standalone Windows installer (.exe) for the
+Monero GUI Wallet Beta 2.
+
+This turns the GUI Wallet into a more or less standard Windows program,
+by default installed into a subdirectory of `C:\Program Files`, a
+program group with some icons in the *Start* menu, and automatic
+uninstall support. It helps lower the "barrier to entry" somewhat,
+especially for less technically experienced users of Monero.
+
+As the setup script in file [Monero.iss](Monero.iss) has to list every
+single file of the GUI Wallet package to install by name, this version
+of the script only works with exactly the GUI Beta 2 that you find on
+[the official download page](https://getmonero.org/downloads/).
+
+But of course it will be easy to modify the script for future versions
+of the GUI Wallet.
+
+## License ##
+
+See [LICENSE](LICENSE).
+
+## Building ##
+
+You can only build on Windows, and the result is always a Windows .exe
+file that can act as a standalone installer for the GUI Wallet Beta 2.
+
+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](https://github.com/monero-project/monero-core) repository; 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 Beta 2 from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.10.3.1-beta2` 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
new file mode 100644
index 00000000..34df7a93
--- /dev/null
+++ b/installers/windows/ReadMe.htm
@@ -0,0 +1,173 @@
+
+
+Monero Core + GUI Wallet Beta 2
+
+
+
+Monero Core + GUI Wallet Beta 2
+
+ Copyright (c) 2014-2017, The Monero Project
+ Date: June 9, 2017
+
+Preface
+
+ This ReadMe does not aim to be a complete introduction to Monero. If you are new to Monero or even to
+ cryptocurrencies in general you find a good introduction on reddit at
+ Newcomers Please Read. Everything You Need To Know.
+ You also find a lot of good tutorials on Monero.How.
+
+
+ Please note that Monero and its software are constantly evolving and progressing; it probably won't take
+ long for some of the information here to become outdated.
+
+
+Content of the Package
+
+ You just installed the Beta 2 of the Monero GUI Wallet for Windows, more exact version 0.10.3.1. The wallet
+ enables you to send and receive moneroj in a secure and very private way.
+
+
+ Also included is the whole Monero Core software, so you have everything now to run a so-called full node
+ and become part of the network of nodes that manages the Monero blockchain; you don't need to install additional
+ packages in order to start.
+
+ For checking whether there are already newer versions of this package you can go to the
+ Downloads page on getmonero.org,
+ the official Monero site.
+
+Access to the Blockchain
+
+ Any Monero wallet needs access to the blockchain, the ongoing ledger of all Monero transactions. For the
+ GUI wallet there are two principal ways to get that access: You can let Monero sync with the network
+ i.e. let it download the blockchain and store it locally on your computer, or you can configure your wallet to
+ access a remote open node to get indirect access to the blockchain.
+
+ Working with your own copy of the blockchain is preferred: It strengthens the Monero network, and it
+ 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 (over 17 GB in summer 2017, 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.
+
+
+Initial Blockchain Download
+
+ Please do read the following before jumping right in and starting the GUI wallet:
+
+ If you decide to work with your own copy of the blockchain, which you should whenever possible, you have to
+ download it first; it's not part of the installed package.
+ Beside the GUI wallet there is second program, the so-called Monero daemon, which will carry out that download.
+
+ Depending on your Internet access and the speed of your computer 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 Monero program group you will
+ see it running and displaying messages in a separate window.
+
+ If all goes well the daemon will finally display a message like this:
+ You are now synchronized with the network.
+
+ Then you are ready for sure to start your Monero adventures by starting the GUI wallet.
+
+Allowing Other Nodes to Connect to Your Node
+
+ When the Monero daemon downloads the blockchain it does so by connecting to other nodes of the network.
+
+ If you allow incoming TCP/IP connections to port 18080 on your computer and let your daemon run for extended
+ periods of time you can "return the favor" and help others in turn to get access to Monero. However, depending on
+ your Internet connection, firewall, modem, router, ISP etc. this might not be possible, and opening a port in such
+ a way usually requires some technical knowledge.
+
+ If you want to try you may start e.g. with
+ this Monero Stack Exchange
+ question.
+
+Troubleshooting
+
+ The Monero software and especially the GUI wallet are "work in progress", as you can expect seeing the word
+ Beta in the name of the package, and sometimes things go wrong.
+
+ Please note that despite any technical problems that you may encounter your moneroj are almost always safe: You may
+ not be able to move them or you even may not see how many you currently have, but you most probably won't loose any.
+ But do remember that the seed needed to re-create the wallet is critical, however: Never loose your
+ seed!
+
+ There is a bug in this beta of the GUI Wallet that triggers if it is installed in a path that contains spaces /
+ blank characters, like the default location for Windows programs C:\Program Files unfortunately does.
+ Symptoms are problems in the communication between the wallet and the daemon, e.g. the wallet not "seeing" the
+ daemon and then not knowing whether it is "synchronized" with the network and thus ready to work or not. You can
+ avoid these problems by starting the daemon yourself, with the help of the Monero Daemon icon in the
+ Monero program group.
+
+ In the Monero Core + GUI Wallet program group there are several icons that may help you to solve problems.
+ These are the icons with a x in front and the name (in parenthesis) to make them visually stand
+ apart from the "normal" ones because you will probably only need them in case of trouble, but not during normal
+ usage of Monero.
+
+ Here an overview and short info what each icon does:
+
+
+
+ | x (Try GUI Wallet Low Graphics Mode) |
+ Run the GUI wallet in a mode that allows for low-graphics
+ environments, e.g. systems with very simple non-hardware-accelerated or emulated / virtualized video cards;
+ also try if the display is simply slow
+ |
+
+
+
+ | x (Monero Daemon, Exit Confirm) |
+
+ Run the Monero daemon in a window that does not automatically close if
+ the daemon should exit because of a fatal error; useful in cases where the normal daemon icon
+ just leads to a window that closes right away
+ |
+
+
+
+ | x (Try Kill Daemon) |
+
+ Kill any running daemon (technically, any process called monerod.exe), whether
+ with or without any visible window, for starting "with a clean slate"; easier than
+ killing such tasks with the help of the Windows Task Manager
+ |
+
+
+
+ | x (Check GUI Wallet Log) |
+ Open the log with status and error messages of the GUI wallet program in Notepad;
+ experienced people have a chance to diagnose technical problems with the wallet by looking at the last few lines
+ of this log |
+
+
+
+ | x (Check Daemon Log) |
+
+ Open the log with status and error messages of the daemon in Notepad; again, the last few
+ lines of this (possible very long) log are the most important for troubleshooting
+ |
+
+
+
+ | x (Check Default Wallet Folder) |
+
+ Open the standard wallet folder in Windows Explorer; useful e.g. if you want to backup
+ your wallets
+ |
+
+
+
+ | x (Check Default Wallet Folder) |
+
+ Open the folder containing the blockchain in Windows Explorer
+ |
+
+
+
+
+
diff --git a/installers/windows/WelcomeImage.bmp b/installers/windows/WelcomeImage.bmp
new file mode 100644
index 00000000..edceda45
Binary files /dev/null and b/installers/windows/WelcomeImage.bmp differ
diff --git a/installers/windows/WizardSmallImage.bmp b/installers/windows/WizardSmallImage.bmp
new file mode 100644
index 00000000..530ed2cd
Binary files /dev/null and b/installers/windows/WizardSmallImage.bmp differ
diff --git a/installers/windows/monero-daemon.bat b/installers/windows/monero-daemon.bat
new file mode 100644
index 00000000..414d240c
--- /dev/null
+++ b/installers/windows/monero-daemon.bat
@@ -0,0 +1,3 @@
+REM Execute the Monero daemon and then stay with window open after it exits
+"C:\Program Files\Monero Core\monerod.exe"
+PAUSE
diff --git a/installers/windows/monero-wallet-gui.log b/installers/windows/monero-wallet-gui.log
new file mode 100644
index 00000000..203478c5
--- /dev/null
+++ b/installers/windows/monero-wallet-gui.log
@@ -0,0 +1 @@
+-----
--
cgit v1.2.3
From ff9d79da7a2f0af3cb97618bb4e0b7d9790e3331 Mon Sep 17 00:00:00 2001
From: René Brunner
Date: Sun, 11 Jun 2017 08:49:12 +0200
Subject: Added Output subdirectory to installer .gitignore
---
installers/windows/.gitignore | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/installers/windows/.gitignore b/installers/windows/.gitignore
index db2f0c14..df87234f 100644
--- a/installers/windows/.gitignore
+++ b/installers/windows/.gitignore
@@ -1,2 +1,5 @@
-# Ignore the subdirectory with the individual GUI Wallet files
+# The subdirectory with the individual GUI Wallet files
bin/
+
+# The subdirectory with the generated installer "mysetup.exe"
+Output/
--
cgit v1.2.3
From 4bac8fdb5722437f720cb475a3e19f58c310d781 Mon Sep 17 00:00:00 2001
From: René Brunner
Date: Fri, 23 Jun 2017 17:50:24 +0200
Subject: Switched naming from 'Monero Core + GUI Wallet' to 'Monero GUI
Wallet'
---
installers/windows/Monero.iss | 8 ++++----
installers/windows/README.md | 2 +-
installers/windows/ReadMe.htm | 16 ++++++++--------
installers/windows/WelcomeImage.bmp | Bin 450054 -> 450054 bytes
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/installers/windows/Monero.iss b/installers/windows/Monero.iss
index c9b5f1d4..453ba29e 100644
--- a/installers/windows/Monero.iss
+++ b/installers/windows/Monero.iss
@@ -3,10 +3,10 @@
; See LICENSE
[Setup]
-AppName=Monero Core + GUI Wallet
+AppName=Monero GUI Wallet
AppVersion=0.10.3.1
-DefaultDirName={pf}\Monero Core
-DefaultGroupName=Monero Core + GUI Wallet
+DefaultDirName={pf}\Monero GUI Wallet
+DefaultGroupName=Monero GUI Wallet
UninstallDisplayIcon={app}\monero-wallet-gui.exe
PrivilegesRequired=admin
ArchitecturesInstallIn64BitMode=x64
@@ -320,7 +320,7 @@ end;
[Icons]
-; Icons in the "Monero Core + GUI Wallet" program group
+; Icons in the "Monero GUI Wallet" program group
; Windows will almost always display icons in alphabetical order, per level, so specify the text accordingly
Name: "{group}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"
Name: "{group}\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
diff --git a/installers/windows/README.md b/installers/windows/README.md
index 73cc38c4..ddf33e0b 100644
--- a/installers/windows/README.md
+++ b/installers/windows/README.md
@@ -1,4 +1,4 @@
-# Monero Core + GUI Wallet Beta 2 Windows Installer #
+# Monero GUI Wallet Beta 2 Windows Installer #
Copyright (c) 2014-2017, The Monero Project
diff --git a/installers/windows/ReadMe.htm b/installers/windows/ReadMe.htm
index 34df7a93..9cc4ce72 100644
--- a/installers/windows/ReadMe.htm
+++ b/installers/windows/ReadMe.htm
@@ -1,13 +1,13 @@
-Monero Core + GUI Wallet Beta 2
+Monero GUI Wallet Beta 2
-Monero Core + GUI Wallet Beta 2
+Monero GUI Wallet Beta 2
Copyright (c) 2014-2017, The Monero Project
- Date: June 9, 2017
+ Date: June 23, 2017
Preface
@@ -27,7 +27,7 @@
enables you to send and receive moneroj in a secure and very private way.
- Also included is the whole Monero Core software, so you have everything now to run a so-called full node
+
Also included is the Monero daemon, so you have everything now to run a so-called full node
and become part of the network of nodes that manages the Monero blockchain; you don't need to install additional
packages in order to start.
@@ -97,14 +97,14 @@
But do remember that the seed needed to re-create the wallet is critical, however: Never loose your
seed!
- There is a bug in this beta of the GUI Wallet that triggers if it is installed in a path that contains spaces /
+
There is a bug in this beta of the GUI wallet that triggers if it is installed in a path that contains spaces /
blank characters, like the default location for Windows programs C:\Program Files unfortunately does.
Symptoms are problems in the communication between the wallet and the daemon, e.g. the wallet not "seeing" the
daemon and then not knowing whether it is "synchronized" with the network and thus ready to work or not. You can
avoid these problems by starting the daemon yourself, with the help of the Monero Daemon icon in the
Monero program group.
- In the Monero Core + GUI Wallet program group there are several icons that may help you to solve problems.
+
In the Monero GUI Wallet program group there are several icons that may help you to solve problems.
These are the icons with a x in front and the name (in parenthesis) to make them visually stand
apart from the "normal" ones because you will probably only need them in case of trouble, but not during normal
usage of Monero.
@@ -116,7 +116,7 @@
x (Try GUI Wallet Low Graphics Mode) |
Run the GUI wallet in a mode that allows for low-graphics
environments, e.g. systems with very simple non-hardware-accelerated or emulated / virtualized video cards;
- also try if the display is simply slow
+ also try if the display is simply slow or lags
|
@@ -162,7 +162,7 @@
- | x (Check Default Wallet Folder) |
+ x (Check Blockchain Folder) |
Open the folder containing the blockchain in Windows Explorer
|
diff --git a/installers/windows/WelcomeImage.bmp b/installers/windows/WelcomeImage.bmp
index edceda45..b3a30905 100644
Binary files a/installers/windows/WelcomeImage.bmp and b/installers/windows/WelcomeImage.bmp differ
--
cgit v1.2.3
From a0e38aafb23b2ec327e95e8fc617502a74152e09 Mon Sep 17 00:00:00 2001
From: René Brunner
Date: Wed, 28 Jun 2017 21:46:37 +0200
Subject: Uninstall icon; 'Utilities' sub-folder; optional desktop icon
---
installers/windows/Monero.iss | 40 +++++++++++++++++++++++++---------------
installers/windows/ReadMe.htm | 15 ++++++++-------
2 files changed, 33 insertions(+), 22 deletions(-)
diff --git a/installers/windows/Monero.iss b/installers/windows/Monero.iss
index 453ba29e..7344e559 100644
--- a/installers/windows/Monero.iss
+++ b/installers/windows/Monero.iss
@@ -195,6 +195,10 @@ Source: "bin\libwinpthread-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
Source: "bin\zlib1.dll"; DestDir: "{app}"; Flags: comparetimestamp
+[Tasks]
+Name: desktopicon; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:";
+
+
[Run]
Filename: "{app}\ReadMe.htm"; Description: "Show ReadMe"; Flags: postinstall shellexec skipifsilent
@@ -313,7 +317,7 @@ var s: String;
begin
s := 'Please note: Uninstall will not delete any downloaded blockchain. ';
s := s + 'If you do not need it anymore you have to delete it manually.';
- s := s + #13#10#13#10 + 'Uninstall also will not delete any wallets that you created.';
+ s := s + #13#10#13#10 + 'Uninstall will not delete any wallets that you created either.';
MsgBox(s, mbInformation, MB_OK);
Result := true;
end;
@@ -323,22 +327,28 @@ end;
; Icons in the "Monero GUI Wallet" program group
; Windows will almost always display icons in alphabetical order, per level, so specify the text accordingly
Name: "{group}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"
-Name: "{group}\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
-Name: "{group}\Read Me"; Filename: "{app}\ReadMe.htm"
-Name: "{group}\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"
+Name: "{group}\Uninstall GUI Wallet"; Filename: "{uninstallexe}"
+
+; Sub-folder "Utilities";
+; Note that Windows 10, unlike Windows 7, ignores such sub-folders completely
+; and insists on displaying ALL icons on one single level
+Name: "{group}\Utilities\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
+Name: "{group}\Utilities\Read Me"; Filename: "{app}\ReadMe.htm"
+Name: "{group}\Utilities\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"
; Icons for troubleshooting problems / testing / debugging
-; For Windows 7 it would be ok to go one level deeper with those icons into a folder, e.g. called "Troubleshooting"
-; Syntax would be: Name: "{group}\Troubleshooting\GUI Wallet Low Graphics Mode" ...
-; However, Windows 10 stupidly insists on displayin ALL icons on one single level despite finding them in such a folder
-; So just make those icons visually different from the others by text, and make them sort at the end by the help of "x" in front
-Name: "{group}\x (Try GUI Wallet Low Graphics Mode)"; Filename: "{app}\start-low-graphics-mode.bat"
-Name: "{group}\x (Try Daemon, Exit Confirm)"; Filename: "{app}\monero-daemon.bat"
-Name: "{group}\x (Try Kill Daemon)"; Filename: "Taskkill.exe"; Parameters: "/IM monerod.exe /T /F"
-Name: "{group}\x (Check GUI Wallet Log)"; Filename: "Notepad"; Parameters: "{app}\monero-wallet-gui.log"
-Name: "{group}\x (Check Daemon Log)"; Filename: "Notepad"; Parameters: {code:DaemonLog}
-Name: "{group}\x (Check Default Wallet Folder)"; Filename: "{win}\Explorer.exe"; Parameters: "{userdocs}\Monero\wallets"
-Name: "{group}\x (Check Blockchain Folder)"; Filename: "{win}\Explorer.exe"; Parameters: {code:BlockChainDir}
+; To show that they are in some way different (not for everyday use), make them visually different
+; from the others by text, and make them sort at the end by the help of "x" in front
+Name: "{group}\Utilities\x (Check Blockchain Folder)"; Filename: "{win}\Explorer.exe"; Parameters: {code:BlockChainDir}
+Name: "{group}\Utilities\x (Check Daemon Log)"; Filename: "Notepad"; Parameters: {code:DaemonLog}
+Name: "{group}\Utilities\x (Check Default Wallet Folder)"; Filename: "{win}\Explorer.exe"; Parameters: "{userdocs}\Monero\wallets"
+Name: "{group}\Utilities\x (Check GUI Wallet Log)"; Filename: "Notepad"; Parameters: "{app}\monero-wallet-gui.log"
+Name: "{group}\Utilities\x (Try Daemon, Exit Confirm)"; Filename: "{app}\monero-daemon.bat"
+Name: "{group}\Utilities\x (Try GUI Wallet Low Graphics Mode)"; Filename: "{app}\start-low-graphics-mode.bat"
+Name: "{group}\Utilities\x (Try Kill Daemon)"; Filename: "Taskkill.exe"; Parameters: "/IM monerod.exe /T /F"
+
+; Desktop icons, optional with the help of the "Task" section
+Name: "{userdesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Tasks: desktopicon
[Registry]
diff --git a/installers/windows/ReadMe.htm b/installers/windows/ReadMe.htm
index 9cc4ce72..7308e057 100644
--- a/installers/windows/ReadMe.htm
+++ b/installers/windows/ReadMe.htm
@@ -7,7 +7,7 @@
Monero GUI Wallet Beta 2
Copyright (c) 2014-2017, The Monero Project
- Date: June 23, 2017
+ Date: June 28, 2017
Preface
@@ -57,7 +57,8 @@
If you decide to work with your own copy of the blockchain, which you should whenever possible, you have to
download it first; it's not part of the installed package.
- Beside the GUI wallet there is second program, the so-called Monero daemon, which will carry out that download.
+ 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
several hours, in some cases more than a day. Furthermore there are unfortunate cases where the
@@ -66,8 +67,8 @@
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 Monero program group you will
- see it running and displaying messages in a separate window.
+ 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.
If all goes well the daemon will finally display a message like this:
You are now synchronized with the network.
@@ -102,9 +103,9 @@
Symptoms are problems in the communication between the wallet and the daemon, e.g. the wallet not "seeing" the
daemon and then not knowing whether it is "synchronized" with the network and thus ready to work or not. You can
avoid these problems by starting the daemon yourself, with the help of the Monero Daemon icon in the
- Monero program group.
+ Utilities sub-folder of the Monero program group.
- In the Monero GUI Wallet program group there are several icons that may help you to solve problems.
+
In the Utilities sub-folder there are several more icons that may help you to solve problems.
These are the icons with a x in front and the name (in parenthesis) to make them visually stand
apart from the "normal" ones because you will probably only need them in case of trouble, but not during normal
usage of Monero.
@@ -121,7 +122,7 @@
- | x (Monero Daemon, Exit Confirm) |
+ x (Try Daemon, Exit Confirm) |
Run the Monero daemon in a window that does not automatically close if
the daemon should exit because of a fatal error; useful in cases where the normal daemon icon
--
cgit v1.2.3
|