Difference between revisions of "Retina Scan Identd"
From WPKG | Open Source Software Deployment and Distribution
Link2Twenty (Talk | contribs) |
|||
Line 32: | Line 32: | ||
xsi:schemaLocation="http://www.wpkg.org/packages xsd/packages.xsd"> | xsi:schemaLocation="http://www.wpkg.org/packages xsd/packages.xsd"> | ||
− | + | <package | |
− | + | id="identd" | |
− | + | name="Retina Scan identd" | |
− | + | revision="0.3.2" | |
− | + | priority="10" | |
− | + | reboot="false"> <!-- package version updated to force out new code --> | |
− | + | <variable name="version" value="0.3.0" /> <!-- for easier upgrading --> | |
+ | <variable name="PKG_DESTINATION" value="%PROGRAMFILES%\Nockmaar\Retina Scan" /> | ||
+ | <variable name="PKG_DESTINATION" value="%PROGRAMFILES(x86)%\Nockmaar\Retina Scan" architecture="x64"/> | ||
− | + | <check type="uninstall" condition="exists" path="Retina Scan Version %version%" /> | |
− | + | ||
− | + | <!-- install the software, fail 5: can't update the file (because it's in use) --> | |
+ | <install cmd='"%SOFTWARE%\identd\retina-scan-%version%.exe" /verysilent /suppressmsgboxes /norestart' > | ||
+ | <exit code="5" /> | ||
+ | <exit code="0" /> | ||
+ | </install> | ||
− | + | <!-- add service, on upgrade will fail 1073: The specified service already exists --> | |
− | + | <install cmd='sc create ident DisplayName= "Ident Server" binpath= "%PKG_DESTINATION%\identd.exe" start= auto' > | |
− | + | <exit code="1073" /> | |
− | + | <exit code="0" /> | |
− | + | </install> | |
− | + | <!-- on x64 we need to add this key as well, otherwise manual uninstall will appear to fail --> | |
− | + | <install cmd='reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ident /v WOW64 /t REG_DWORD /d 1 /f' architecture="x64" /> | |
− | + | <!-- add identd to the firewall, delete any rule first --> | |
+ | <install cmd='netsh advfirewall firewall delete rule name="ident"'> | ||
+ | <exit code="any" /> | ||
+ | </install> | ||
+ | <install cmd='netsh advfirewall firewall add rule name="ident" dir=in action=allow program="%PKG_DESTINATION%\identd.exe" profile=private,domain enable=yes' /> | ||
+ | <!-- start service, may fail 1056: running already--> | ||
+ | <install cmd='sc start ident' > | ||
+ | <exit code="1056" /> | ||
+ | <exit code="0" /> | ||
+ | </install> | ||
− | + | <!-- upgrade = run install --> | |
+ | <upgrade include="install" /> | ||
− | + | <!-- even "%PKG_DESTINATION%\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART doesn't SUPPRESSMSGBOXES, so we have to remove the long way --> | |
+ | <!-- stop service, might fail 1062: The service has not been started --> | ||
+ | <remove cmd='sc stop ident' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <!-- and delete it, might fail 1072: The specified service has been marked for deletion --> | ||
+ | <remove cmd='sc delete ident' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <!-- empty the registry --> | ||
+ | <remove cmd='reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Retina Scan_is1" /f' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <remove cmd='reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Retina Scan_is1" /f' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <!-- remove the firewall rule --> | ||
+ | <remove cmd='netsh advfirewall firewall delete rule name="ident"' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <!-- remove the start menu items --> | ||
+ | <remove cmd='rmdir /s /q "%ALLUSERSPROFILE%\microsoft\windows\start menu\Programs\Retina Scan"' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
+ | <!-- and empty the folder, might fail because the folder cannot be emptied, if so we'll get it next time --> | ||
+ | <remove cmd='rmdir /s /q "%PKG_DESTINATION%"' > | ||
+ | <exit code="any" /> | ||
+ | </remove> | ||
− | + | </package> | |
</packages:packages> | </packages:packages> | ||
Revision as of 08:49, 5 December 2014
This is a silent installer and uninstaller for Retina Scan Identd.
Retina Scan Identd is a RFC 1413 Ident Server for Windows XP. You may use it with Dansguardian, Squid, IRC, etc.
You may have to manually configure Windows firewall (not tested).
<package id="retina_scan_identd" name="retina_scan_identd" revision="1" priority="0" reboot="false">
<check type="uninstall" condition="exists" path="Retina Scan Version 0.3.0" />
<install cmd='"%SOFTWARE%\retina-scan-0.3.0.exe" /sp- /silent' />
<upgrade cmd='"%SOFTWARE%\retina-scan-0.3.0.exe" /sp- /silent' />
<remove cmd='"%PROGRAMFILES%\Nockmaar\Retina Scan\unins000.exe" /sp- /silent /norestart' />
</package>
Windows 7 Silent install
For windows 7 installs, we have written the following code. It will add the software to the firewall and make an autostart service (it should not need restarting after first install either)
<?xml version="1.0" encoding="UTF-8"?>
<!--
DATE USER EDIT
-->
<packages:packages xmlns:packages="http://www.wpkg.org/packages"
xmlns:wpkg="http://www.wpkg.org/wpkg" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wpkg.org/packages xsd/packages.xsd">
<package
id="identd"
name="Retina Scan identd"
revision="0.3.2"
priority="10"
reboot="false"> <!-- package version updated to force out new code -->
<variable name="version" value="0.3.0" /> <!-- for easier upgrading -->
<variable name="PKG_DESTINATION" value="%PROGRAMFILES%\Nockmaar\Retina Scan" />
<variable name="PKG_DESTINATION" value="%PROGRAMFILES(x86)%\Nockmaar\Retina Scan" architecture="x64"/>
<check type="uninstall" condition="exists" path="Retina Scan Version %version%" />
<!-- install the software, fail 5: can't update the file (because it's in use) -->
<install cmd='"%SOFTWARE%\identd\retina-scan-%version%.exe" /verysilent /suppressmsgboxes /norestart' >
<exit code="5" />
<exit code="0" />
</install>
<!-- add service, on upgrade will fail 1073: The specified service already exists -->
<install cmd='sc create ident DisplayName= "Ident Server" binpath= "%PKG_DESTINATION%\identd.exe" start= auto' >
<exit code="1073" />
<exit code="0" />
</install>
<!-- on x64 we need to add this key as well, otherwise manual uninstall will appear to fail -->
<install cmd='reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ident /v WOW64 /t REG_DWORD /d 1 /f' architecture="x64" />
<!-- add identd to the firewall, delete any rule first -->
<install cmd='netsh advfirewall firewall delete rule name="ident"'>
<exit code="any" />
</install>
<install cmd='netsh advfirewall firewall add rule name="ident" dir=in action=allow program="%PKG_DESTINATION%\identd.exe" profile=private,domain enable=yes' />
<!-- start service, may fail 1056: running already-->
<install cmd='sc start ident' >
<exit code="1056" />
<exit code="0" />
</install>
<!-- upgrade = run install -->
<upgrade include="install" />
<!-- even "%PKG_DESTINATION%\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART doesn't SUPPRESSMSGBOXES, so we have to remove the long way -->
<!-- stop service, might fail 1062: The service has not been started -->
<remove cmd='sc stop ident' >
<exit code="any" />
</remove>
<!-- and delete it, might fail 1072: The specified service has been marked for deletion -->
<remove cmd='sc delete ident' >
<exit code="any" />
</remove>
<!-- empty the registry -->
<remove cmd='reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Retina Scan_is1" /f' >
<exit code="any" />
</remove>
<remove cmd='reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Retina Scan_is1" /f' >
<exit code="any" />
</remove>
<!-- remove the firewall rule -->
<remove cmd='netsh advfirewall firewall delete rule name="ident"' >
<exit code="any" />
</remove>
<!-- remove the start menu items -->
<remove cmd='rmdir /s /q "%ALLUSERSPROFILE%\microsoft\windows\start menu\Programs\Retina Scan"' >
<exit code="any" />
</remove>
<!-- and empty the folder, might fail because the folder cannot be emptied, if so we'll get it next time -->
<remove cmd='rmdir /s /q "%PKG_DESTINATION%"' >
<exit code="any" />
</remove>
</package>
</packages:packages>
If a new version of retina scan is ever released (not holding our breath) simply replace the install and update the version variable.