Difference between revisions of "Putty"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (Style tweaks)
(Section headers and better uninstall)
Line 1: Line 1:
 
This is a silent installer and uninstaller for [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty].<br>
 
This is a silent installer and uninstaller for [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty].<br>
 
[http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty] is an [http://www.openssh.org SSH] (and other secure protocol) client which allows you to open a terminal to your Unix server from Windows.
 
[http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty] is an [http://www.openssh.org SSH] (and other secure protocol) client which allows you to open a terminal to your Unix server from Windows.
 +
 +
== Installer ==
  
 
<source lang="xml">
 
<source lang="xml">
Line 18: Line 20:
 
   <upgrade cmd='%SOFTWARE%\putty\putty-%version%-installer.exe /sp- /verysilent' />
 
   <upgrade cmd='%SOFTWARE%\putty\putty-%version%-installer.exe /sp- /verysilent' />
  
   <remove cmd='"%PROGRAMFILES%\PuTTY\unins000.exe" /sp- /verysilent /norestart' />
+
  <remove cmd='%COMSPEC% /c copy "%SYSTEMROOT%\system32\print.exe" "%PROGRAMFILES%\PuTTY\putty.exe"' />
 +
   <remove cmd='"%PROGRAMFILES%\PuTTY\unins000.exe" /sp- /verysilent /norestart' >
 +
    <exit code="1" />
 +
  </remove>
 +
  <remove cmd='%COMSPEC% /c rmdir /s /q "%PROGRAMFILES%\PuTTY"' />
 
</package>
 
</package>
 
</source>
 
</source>
  
''Note that the above causes a popup during uninstall. This is caused by putty 0.58+ uninstallers calling 'putty -cleanup-during-uninstall'. A (lame, and not properly tested) fix for this is to simply add the following extra line before the current <remove> line: ''
+
PuTTY 0.58+ uninstallers call 'putty -cleanup-during-uninstall' during uninstall. This causes a pop-up to appear which breaks the silent uninstall. As shown above, a fix for this is to copy simple program that always returns over putty.exe. The entire program folder is also removed so that any leftover unins000.exe files from failed uninstalls are removed.
<source lang="xml">
+
 
<remove cmd='%COMSPEC% /c copy "%WINDIR%\system32\print.exe" "%PROGRAMFILES%\PuTTY\putty.exe"' />
+
== Standalone ==
</source>
+
  
 
Here's a package.xml for distributing the putty.exe without the installer.
 
Here's a package.xml for distributing the putty.exe without the installer.

Revision as of 21:13, 3 September 2010

This is a silent installer and uninstaller for Putty.
Putty is an SSH (and other secure protocol) client which allows you to open a terminal to your Unix server from Windows.

Installer

<package
  id="putty"
  name="PuTTY"
  revision="%version%"
  priority="0"
  reboot="false">

  <variable name="%version%" value="0.60" />

  <check type="uninstall" condition="exists" path="PuTTY version %version%" />

  <install cmd='%SOFTWARE%\putty\putty-%version%-installer.exe /sp- /verysilent' />

  <upgrade cmd='%SOFTWARE%\putty\putty-%version%-installer.exe /sp- /verysilent' />

  <remove cmd='%COMSPEC% /c copy "%SYSTEMROOT%\system32\print.exe" "%PROGRAMFILES%\PuTTY\putty.exe"' />
  <remove cmd='"%PROGRAMFILES%\PuTTY\unins000.exe" /sp- /verysilent /norestart' >
    <exit code="1" />
  </remove>
  <remove cmd='%COMSPEC% /c rmdir /s /q "%PROGRAMFILES%\PuTTY"' />
</package>

PuTTY 0.58+ uninstallers call 'putty -cleanup-during-uninstall' during uninstall. This causes a pop-up to appear which breaks the silent uninstall. As shown above, a fix for this is to copy simple program that always returns over putty.exe. The entire program folder is also removed so that any leftover unins000.exe files from failed uninstalls are removed.

Standalone

Here's a package.xml for distributing the putty.exe without the installer. It installs to the System32 folder in %SYSTEMROOT% (often c:\windows\system32) for quick Start/Run access.

<?xml version="1.0" encoding="UTF-8"?>

<packages>
  <package
    id="putty"
    name="Putty"
    revision="0"
    reboot="false"
    priority="0">

    <check type="file" condition="exists" path="%SYSTEMROOT%\system32\putty.exe"/>

    <install cmd='cmd.exe /C copy /y %SOFTWARE%\putty\putty.exe %SYSTEMROOT%\system32\'/>

    <remove cmd='cmd.exe /C del %SYSTEMROOT%\system32\putty.exe'/>

    <upgrade cmd='cmd.exe /C copy /y %SOFTWARE%\putty\putty.exe %SYSTEMROOT%\system32\'/>

  </package>
</packages>