diff --git a/appveyor.yml b/appveyor.yml
index 4db634823..7471a4292 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -11,28 +11,42 @@ environment:
# Build #
#---------------------------------#
-build: off
-
-configuration: Release
-
install:
+ - ps: Start-FileDownload 'https://www.python.org/ftp/python/3.6.6/python-3.6.6-amd64.exe'
+ - copy python-3.6.6-amd64.exe installer\windows\bundle\prerequisites\python-3.6.6.exe
- SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%;C:\MinGW\bin
- copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe
- copy c:\Python36-x64\python.exe c:\Python36-x64\python3.exe
- python --version
- make install
-
-after_test:
- make package
- - '7z a DEXBot-gui-win64.zip %APPVEYOR_BUILD_FOLDER%\dist\DEXBot-gui.exe'
+ - copy /Y dist\DEXBot-gui.exe installer\windows\msi\DEXBot.exe
+ # Read dexbot version from __init__.py
+ - ps: Get-Content dexbot\__init__.py | Foreach-Object { $var = $_.Split('='); if($var[0].Trim() -eq 'VERSION') { $env:VERSION = $var[1].Trim(); }}
+ # Set to version and replace ' with empty character
+ - set ApplicationVersion=%VERSION:'=%
+ - '7z a DEXBot-gui-win64-%ApplicationVersion%.zip %APPVEYOR_BUILD_FOLDER%\dist\DEXBot-gui.exe'
+
+# Visual studio configuration
+configuration:
+- Release
+platform: x86
+build:
+ verbosity: normal
+
+after_build:
+ - ps: Rename-Item -Path ".\installer\windows\bundle\bin\$env:CONFIGURATION\DEXBot-installer.exe" -NewName "DEXBot-installer-$env:ApplicationVersion.exe"
# @TODO: Run tests..
test_script:
- "echo tests..."
+# Artifacts as relative path to the build folder C:\projects\dexbot
artifacts:
- - path: DEXBot-gui-win64.zip
- name: DEXBot-gui-win64.zip
+ - path: DEXBot-gui-win64-%ApplicationVersion%.zip
+ name: DEXBot-gui-win64-%ApplicationVersion%.zip
+ - path: installer\windows\bundle\bin\%CONFIGURATION%\DEXBot-installer-%ApplicationVersion%.exe
+ name: DEXBot-installer-%ApplicationVersion%.exe
#---------------------------------#
# Deployment #
@@ -50,7 +64,7 @@ deploy:
auth_token:
secure: 9qvwlVUHFBV4GwMz1Gu2HSnqU8Ex2nv5dsY4mVNCurrb+6ULIoHPgbvJPWTo3qV6
on:
- appveyor_repo_tag: true # deploy on tag push only
+ appveyor_repo_tag: true # Deploy on tag push only
#---------------------------------#
# Notifications #
diff --git a/dexbot/resources/img/dexbot-icon.ico b/dexbot/resources/img/dexbot-icon.ico
new file mode 100644
index 000000000..4a3d12e64
Binary files /dev/null and b/dexbot/resources/img/dexbot-icon.ico differ
diff --git a/dexbot/resources/img/dexbot-icon.jpg b/dexbot/resources/img/dexbot-icon.jpg
new file mode 100644
index 000000000..bee70fac8
Binary files /dev/null and b/dexbot/resources/img/dexbot-icon.jpg differ
diff --git a/dexbot/resources/svg/dexbot-logo.svg b/dexbot/resources/svg/dexbot-logo.svg
new file mode 100644
index 000000000..6c1cc14d0
--- /dev/null
+++ b/dexbot/resources/svg/dexbot-logo.svg
@@ -0,0 +1,145 @@
+
+
\ No newline at end of file
diff --git a/gui.spec b/gui.spec
index eaaa482ce..457c76515 100644
--- a/gui.spec
+++ b/gui.spec
@@ -49,7 +49,7 @@ exe = EXE(pyz,
name=os.path.join('dist', 'DEXBot-gui' + ('.exe' if sys.platform == 'win32' else '')),
debug=True,
strip=False,
- icon=None,
+ icon='.\\installer\\windows\\msi\\assets\\dexbot-icon.ico',
upx=True,
runtime_tmpdir=None,
console=True)
@@ -57,5 +57,5 @@ exe = EXE(pyz,
if sys.platform == 'darwin':
app = BUNDLE(exe,
name='DEXBot-gui.app',
- icon=None)
+ icon='./installer/windows/msi/assets/dexbot-icon.ico')
diff --git a/installer/windows/.gitignore b/installer/windows/.gitignore
new file mode 100644
index 000000000..078486f70
--- /dev/null
+++ b/installer/windows/.gitignore
@@ -0,0 +1,64 @@
+
+DexbotInstallerBootstrapper/bin/Debug
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+DEXBot.exe
+python-3.*.*.exe
diff --git a/installer/windows/bundle/assets/dexbot-icon.ico b/installer/windows/bundle/assets/dexbot-icon.ico
new file mode 100644
index 000000000..4a3d12e64
Binary files /dev/null and b/installer/windows/bundle/assets/dexbot-icon.ico differ
diff --git a/installer/windows/bundle/assets/dexbot-icon.jpg b/installer/windows/bundle/assets/dexbot-icon.jpg
new file mode 100644
index 000000000..bee70fac8
Binary files /dev/null and b/installer/windows/bundle/assets/dexbot-icon.jpg differ
diff --git a/installer/windows/bundle/bundle.wixproj b/installer/windows/bundle/bundle.wixproj
new file mode 100644
index 000000000..f3d5cd6ec
--- /dev/null
+++ b/installer/windows/bundle/bundle.wixproj
@@ -0,0 +1,73 @@
+
+
+
+ Debug
+ x86
+ 3.10
+ 0a6fa202-7443-4f18-a462-f77c543bf921
+ 2.0
+
+
+ DEXBot-installer
+ Bundle
+ bundle
+
+
+ bin\$(Configuration)\
+ obj\$(Configuration)\
+ ApplicationVersion=$(ApplicationVersion);Build=$(Configuration)
+
+
+
+
+ bin\$(Configuration)\
+ obj\$(Configuration)\
+ ApplicationVersion=$(ApplicationVersion);Build=$(Configuration)
+
+
+
+
+
+
+
+
+ $(WixExtDir)\WixBalExtension.dll
+ WixBalExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/installer/windows/bundle/bundle.wxs b/installer/windows/bundle/bundle.wxs
new file mode 100644
index 000000000..218609d98
--- /dev/null
+++ b/installer/windows/bundle/bundle.wxs
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/installer/windows/bundle/prerequisites/uptick.bat b/installer/windows/bundle/prerequisites/uptick.bat
new file mode 100644
index 000000000..68a2d47d1
--- /dev/null
+++ b/installer/windows/bundle/prerequisites/uptick.bat
@@ -0,0 +1,6 @@
+SET python36=%LocalAppData%\Programs\Python\Python36\python.exe
+SET python36_32=%LocalAppData%\Programs\Python\Python36-32\python.exe
+if exist %python36% %python36% -m pip install uptick
+if exist %python36_32% %python36_32% -m pip install uptick
+rem If both paths are not found try to use pip to install uptick
+if not exist %python36_32% & %python36% pip install uptick
\ No newline at end of file
diff --git a/installer/windows/bundle/resources/classic_theme.wxl b/installer/windows/bundle/resources/classic_theme.wxl
new file mode 100644
index 000000000..f35162c2c
--- /dev/null
+++ b/installer/windows/bundle/resources/classic_theme.wxl
@@ -0,0 +1,56 @@
+
+
+ [WixBundleName] Setup
+ [WixBundleName]
+ Are you sure you want to cancel?
+ Setup Help
+
+ /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or
+ creates a complete local copy of the bundle in directory. Install is the default.
+
+ /passive | /quiet - displays minimal UI with no prompts or displays no UI and
+ no prompts. By default UI and all prompts are displayed.
+
+ /norestart - suppress any attempts to restart. By default UI will prompt before restart.
+ /log log.txt - logs to a specific file. By default a log file is created in %TEMP%.
+
+ &Close
+ I &agree to the license terms and conditions
+ &Options
+ &Install
+ &Close
+ Setup Options
+ Install location:
+ &Browse
+ &OK
+ &Cancel
+
+
+ Setup Progress
+ Please wait until the setup is completed...
+ Processing:
+ Initializing...
+ &Cancel
+ Repair/Uninstall DEXBot
+ Please click Repair to restore all files and shortcuts or click Uninstall to remove DEXBot v[WixBundleVersion].
+ &Repair
+ &Uninstall
+ &Close
+ Setup Successful
+ DEXBot v[WixBundleVersion] successfully installed. Click Launch to run DEXBot or Close to run it at a later time.
+ DEXBot v[WixBundleVersion] successfully removed from your computer.
+ DEXBot v[WixBundleVersion] successfuly repaired. Click Launch to run DEXBot or Close to run in at a later time.
+ Setup successfully installed. Click Launch to run DEXBot or click Close to run it later.
+ &Launch
+ You must restart your computer before you can use the software.
+ &Restart
+ &Close
+ Setup Failed
+ For more information see the <a href="#">log file</a>.
+ You must restart your computer to complete the rollback of the software.
+ &Restart
+ &Close
+ [WixBundleName] Installation
+ Click Install to install [WixBundleName] v[WixBundleVersion] on your computer.
+ By installing you accept these <a href="#">license terms</a>
+
\ No newline at end of file
diff --git a/installer/windows/bundle/resources/classic_theme.xml b/installer/windows/bundle/resources/classic_theme.xml
new file mode 100644
index 000000000..9df3457bf
--- /dev/null
+++ b/installer/windows/bundle/resources/classic_theme.xml
@@ -0,0 +1,59 @@
+
+
+ #(loc.Caption)
+ Segoe UI
+ Segoe UI
+ Segoe UI
+ Segoe UI
+ Segoe UI
+ Segoe UI
+ Segoe UI
+
+
+
+ #(loc.HelpHeader)
+ #(loc.HelpText)
+
+
+
+ #(loc.WillInstall)
+ #(loc.WillInstallDescription)
+ #(loc.InstallLicenseLinkText)
+
+
+
+
+
+
+ #(loc.ProgressHeader)
+ #(loc.ProgressDescription)
+ #(loc.OverallProgressPackageText)
+
+
+
+
+ #(loc.ModifyHeader)
+ #(loc.ModifyDescription)
+
+
+
+
+
+ #(loc.SuccessHeader)
+ #(loc.SuccessInstallHeader)
+ #(loc.SuccessUninstallHeader)
+ #(loc.SuccessRepairHeader)
+
+ #(loc.SuccessRestartText)
+
+
+
+
+ #(loc.FailureHeader)
+ #(loc.FailureHyperlinkLogText)
+
+ #(loc.FailureRestartText)
+
+
+
+
\ No newline at end of file
diff --git a/installer/windows/bundle/resources/license.rtf b/installer/windows/bundle/resources/license.rtf
new file mode 100644
index 000000000..e85d2f0d4
--- /dev/null
+++ b/installer/windows/bundle/resources/license.rtf
@@ -0,0 +1,41 @@
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------------------------------------------------------
+
+Furthermore, the install wizard will install Python, Pip and Uptick on your machine.
+
+----------------------------------------------------------------
+
+Python License:
+
+https://docs.python.org/3/license.html
+
+----------------------------------------------------------------
+
+Pip License:
+
+https://github.com/pypa/pip/blob/master/LICENSE.txt
+
+----------------------------------------------------------------
+
+Uptick License:
+
+The MIT License (MIT)
+
+Copyright (c) 2017-2018 ChainSquad GmbH
+Copyright (c) 2015-2016 Fabian Schuh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------------------------------------------------------
diff --git a/installer/windows/bundle/resources/variables.wxi b/installer/windows/bundle/resources/variables.wxi
new file mode 100644
index 000000000..7a0550248
--- /dev/null
+++ b/installer/windows/bundle/resources/variables.wxi
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/installer/windows/dexbot_installer.sln b/installer/windows/dexbot_installer.sln
new file mode 100644
index 000000000..b5f4d45e2
--- /dev/null
+++ b/installer/windows/dexbot_installer.sln
@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.572
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "msi", "msi\msi.wixproj", "{95B3AE56-37CC-4CDF-813C-6566698D5709}"
+EndProject
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "bundle", "bundle\bundle.wixproj", "{0A6FA202-7443-4F18-A462-F77C543BF921}"
+ ProjectSection(ProjectDependencies) = postProject
+ {95B3AE56-37CC-4CDF-813C-6566698D5709} = {95B3AE56-37CC-4CDF-813C-6566698D5709}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {95B3AE56-37CC-4CDF-813C-6566698D5709}.Debug|x86.ActiveCfg = Debug|x86
+ {95B3AE56-37CC-4CDF-813C-6566698D5709}.Debug|x86.Build.0 = Debug|x86
+ {95B3AE56-37CC-4CDF-813C-6566698D5709}.Release|x86.ActiveCfg = Release|x86
+ {95B3AE56-37CC-4CDF-813C-6566698D5709}.Release|x86.Build.0 = Release|x86
+ {0A6FA202-7443-4F18-A462-F77C543BF921}.Debug|x86.ActiveCfg = Debug|x86
+ {0A6FA202-7443-4F18-A462-F77C543BF921}.Debug|x86.Build.0 = Debug|x86
+ {0A6FA202-7443-4F18-A462-F77C543BF921}.Release|x86.ActiveCfg = Release|x86
+ {0A6FA202-7443-4F18-A462-F77C543BF921}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {64E79EE7-3984-4CFD-8932-28A7BB3AF21D}
+ EndGlobalSection
+EndGlobal
diff --git a/installer/windows/msi/Product.wxs b/installer/windows/msi/Product.wxs
new file mode 100644
index 000000000..74dd75eff
--- /dev/null
+++ b/installer/windows/msi/Product.wxs
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/installer/windows/msi/README.txt b/installer/windows/msi/README.txt
new file mode 100644
index 000000000..342bd9cce
--- /dev/null
+++ b/installer/windows/msi/README.txt
@@ -0,0 +1,18 @@
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+You can have a look into the source code on Github.
+https://github.com/Codaone/DEXBot/
+
+If you have any trouble using DEXBot, please visit our telegram chat room or contact us via our website.
+
+Website:
+https://dexbot.info
+
+Telegram:
+https://t.me/DEXBOTbts
\ No newline at end of file
diff --git a/installer/windows/msi/assets/dexbot-icon.ico b/installer/windows/msi/assets/dexbot-icon.ico
new file mode 100644
index 000000000..4a3d12e64
Binary files /dev/null and b/installer/windows/msi/assets/dexbot-icon.ico differ
diff --git a/installer/windows/msi/assets/dexbot-icon.jpg b/installer/windows/msi/assets/dexbot-icon.jpg
new file mode 100644
index 000000000..bee70fac8
Binary files /dev/null and b/installer/windows/msi/assets/dexbot-icon.jpg differ
diff --git a/installer/windows/msi/msi.wixproj b/installer/windows/msi/msi.wixproj
new file mode 100644
index 000000000..ee290c915
--- /dev/null
+++ b/installer/windows/msi/msi.wixproj
@@ -0,0 +1,54 @@
+
+
+
+ Debug
+ x86
+ 3.10
+ 95b3ae56-37cc-4cdf-813c-6566698d5709
+ 2.0
+ DEXBotInstaller
+ Package
+ msi
+
+
+ bin\$(Configuration)\
+ obj\$(Configuration)\
+ ApplicationVersion=$(ApplicationVersion);Build=$(Configuration)
+
+
+ bin\$(Configuration)\
+ obj\$(Configuration)\
+ ApplicationVersion=$(ApplicationVersion);Build=$(Configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(WixExtDir)\WixUtilExtension.dll
+ WixUtilExtension
+
+
+
+
+
+
+
+
+
\ No newline at end of file