[X2Go-Commits] [pyhoca-gui] 01/01: Windows: Numerous improvements to installer
git-admin at x2go.org
git-admin at x2go.org
Mon Jul 7 01:05:39 CEST 2014
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository pyhoca-gui.
commit dd8b65b7fdb73fed793ffa3a5e96b1e14c0b63ff
Author: Mike DePaulo <mikedep333 at gmail.com>
Date: Sun Jul 6 19:05:34 2014 -0400
Windows: Numerous improvements to installer
---
debian/changelog | 4 ++++
nsis_template.py | 24 +++++++++++++++++-------
setup.py | 25 ++++++++++++++++++++++---
3 files changed, 43 insertions(+), 10 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 9eaead3..5035a46 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -73,6 +73,10 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low
[ Mike DePaulo ]
* New upstream version (0.5.0.0):
+ - Windows: List as "X2Go PyHoca-GUI" instead of "PyHoca-GUI" in
+ add/remove programs
+ - Windows: Numerous other improvements to installer.
+ add version string, add icon, etc.
- Windows: Upgrade PulseAudio from 1.1 to 5.0-rev18 from OBS.
Fixes choppy sound in Adobe Flash Player (Fixes: #533)
- Windows: Upgrade from VcXsrv 1.14.2.0 to VcXsrv-xp 1.14.3.2
diff --git a/nsis_template.py b/nsis_template.py
index 5574e95..b4391c7 100644
--- a/nsis_template.py
+++ b/nsis_template.py
@@ -24,13 +24,15 @@ NSIS_SCRIPT_TEMPLATE = """
!define VERSION {program_version}
+!define UNINSTALL_REGKEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}"
+
;--------------------------------
; The name of the installer
Name "{program_name}"
-; Sets the title bar text (although NSIS seems to append "Installer")
-Caption "{program_desc}"
+; Sets the title bar text
+Caption "{program_desc_short}"
!define distOutputDirectory '{output_dir}'
@@ -257,10 +259,18 @@ Section "{program_name} ($REQUIRED)"
WriteRegStr HKLM SOFTWARE\\{program_name} "Install_Dir" "$INSTDIR"
; Write the uninstall keys for Windows
- WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "DisplayName" "{program_name}"
- WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "UninstallString" '"$INSTDIR\\uninstall.exe"'
- WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "NoModify" 1
- WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "NoRepair" 1
+
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "InstallLocation" "$INSTDIR"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "UninstallString" "$INSTDIR\\uninstall.exe"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayIcon" "$INSTDIR\\{icon_location}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayName" "{uninstall_name}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayVersion" "{program_version}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "Publisher" "{publisher}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "HelpLink" "{url}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "URLInfoAbout" "{url}"
+ WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "URLUpdateInfo" "{url}"
+ WriteRegDWORD HKLM ${{UNINSTALL_REGKEY}} "NoModify" 1
+ WriteRegDWORD HKLM ${{UNINSTALL_REGKEY}} "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
@@ -294,7 +304,7 @@ SectionEnd
Section "Uninstall"
; Remove registry keys
- DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}"
+ DeleteRegKey HKLM ${{UNINSTALL_REGKEY}}
DeleteRegKey HKLM SOFTWARE\\{program_name}
; Remove files and uninstaller
diff --git a/setup.py b/setup.py
index 1e0bb71..eb78221 100755
--- a/setup.py
+++ b/setup.py
@@ -24,15 +24,21 @@ import os
import platform
PROGRAM_NAME = 'PyHoca-GUI'
+# Windows: UNINSTALL_NAME is for add/remove programs
+UNINSTALL_NAME = 'X2Go PyHoca-GUI'
SCRIPT_NAME = 'pyhoca-gui'
PROGRAM_DESC = '%s is a cross-platform (Windows, MacOS X, Linux) graphical X2Go client.' % PROGRAM_NAME
+PROGRAM_DESC_SHORT = '%s is a graphical X2Go client.' % PROGRAM_NAME
for line in file(os.path.join('pyhoca', 'wxgui', '__init__.py')).readlines():
if (line.startswith('__VERSION__')):
exec(line.strip())
PROGRAM_VERSION = __VERSION__
PROGRAM_ICON = "pixmaps/pyhoca_x2go-logo-ubuntu.ico"
+# Windows: UNINSTALL_ICON is for add/remove programs.
+UNINSTALL_ICON = "icons\\pyhoca-gui.ico"
LICENSE = 'AGPLv3+'
AUTHOR = 'Mike Gabriel, Dick Kniep'
+PUBLISHER = 'X2Go Project'
URL = 'http://www.x2go.org'
LIBRARY_ZIP = r"lib\shardlib.zip"
@@ -101,10 +107,14 @@ def datafilelist(installbase, sourcebase):
class NSISScript(object):
- def __init__(self, program_name, program_desc, program_version, dist_dir, icon_loc):
+ def __init__(self, program_name, uninstall_name, program_desc, program_desc_short, program_version, publisher, url, dist_dir, icon_loc):
self.program_name = program_name
+ self.uninstall_name = uninstall_name
self.program_desc = program_desc
+ self.program_desc_short = program_desc_short
self.program_version = program_version
+ self.publisher = publisher
+ self.url = url
self.dist_dir = dist_dir
self.icon_loc = icon_loc
self.pathname = "setup_%s.nsi" % self.program_name
@@ -112,10 +122,14 @@ class NSISScript(object):
def create(self):
contents = NSIS_SCRIPT_TEMPLATE.format(
program_name = self.program_name,
+ uninstall_name = self.uninstall_name,
program_version = self.program_version,
program_desc = self.program_desc,
+ program_desc_short = self.program_desc_short,
+ publisher = self.publisher,
+ url = self.url,
output_dir = self.dist_dir,
- icon_location = os.path.join(self.dist_dir, self.icon_loc)
+ icon_location = self.icon_loc
)
with open(self.pathname, "w") as outfile:
@@ -158,10 +172,14 @@ class build_installer(object):
# Create the installer, using the files py2exe has created.
script = NSISScript(
PROGRAM_NAME,
+ UNINSTALL_NAME,
PROGRAM_DESC,
+ PROGRAM_DESC_SHORT,
PROGRAM_VERSION,
+ PUBLISHER,
+ URL,
self.dist_dir,
- os.path.normpath(PROGRAM_ICON)
+ UNINSTALL_ICON
)
print "*** creating the NSIS setup script***"
script.create()
@@ -250,6 +268,7 @@ if platform.system() == 'Windows':
i18n_files = datafilelist('mo', r'build\\mo')
data_files.extend([ ('icons', ["pixmaps\\pyhoca-gui.ico"]), ] +
+ [ ('icons', ["pixmaps\\pyhoca_x2go-logo-ubuntu.ico"]), ] +
dll_data_files +
icon_files +
img_files +
--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
More information about the x2go-commits
mailing list