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@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