Difference between revisions of "Retina Scan Identd"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m
 
Line 1: Line 1:
 
This is a silent installer and uninstaller for Retina Scan Identd.
 
This is a silent installer and uninstaller for Retina Scan Identd.
  
[https://sourceforge.net/projects/retinascan Retina Scan Identd] is a RFC 1413 Ident Server for Windows XP.  You may use it with Dansguardian, Squid, IRC, etc.
+
[https://sourceforge.net/projects/retinascan Retina Scan Identd] is an 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).
+
You may have to manually configure Windows Firewall (not tested).
  
 
<source lang="xml">
 
<source lang="xml">
Line 15: Line 15:
  
  
'''Windows 7 Silent install'''
+
'''Windows 7/10 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)
+
For Windows 7/10 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)
  
 
<source lang="xml">
 
<source lang="xml">
 +
<package
 +
  id="identd"
 +
  name="Retina Scan identd"
 +
  revision=%version% 
 +
  priority="10"
 +
  reboot="false">
  
<?xml version="1.0" encoding="UTF-8"?>
+
  <variable name="version"          value="0.3.0" />
<package
+
  <variable name="PKG_DESTINATION"   value="%PROGRAMFILES%\Nockmaar\Retina Scan" />
id="identd"  
+
  <variable name="PKG_DESTINATION"  value="%PROGRAMFILES(x86)%\Nockmaar\Retina Scan" architecture="x64"/>
name="Retina Scan identd"  
+
revision=%version%
+
priority="10"
+
reboot="false">
+
  
<variable name="version"           value="0.3.0" />
+
  <check type="uninstall" condition="exists" path="Retina Scan Version %version%" />
        <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>
  
<!-- install the software, fail 5: can't update the file (because it's in use) -->
+
  <!-- add service, on upgrade will fail 1073: The specified service already exists -->
<install cmd='"%SOFTWARE%\identd\retina-scan-%version%.exe" /verysilent /suppressmsgboxes /norestart' >
+
  <install cmd='sc create ident DisplayName= "Ident Server" binpath= "%PKG_DESTINATION%\identd.exe" start= auto' >
            <exit code="5" />  
+
    <exit code="1073" />
            <exit code="0" />  
+
    <exit code="0" />
        </install>
+
  </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>
  
<!-- add service, on upgrade will fail 1073: The specified service already exists -->
+
  <!-- upgrade = run install -->
<install cmd='sc create ident DisplayName= "Ident Server" binpath= "%PKG_DESTINATION%\identd.exe" start= auto' >
+
  <upgrade include="install"  />
            <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>
+
  
 +
  <!-- 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>
 
</source>
 
</source>
  

Latest revision as of 11:45, 22 June 2017

This is a silent installer and uninstaller for Retina Scan Identd.

Retina Scan Identd is an 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/10 Silent install


For Windows 7/10 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)

<package 
  id="identd" 
  name="Retina Scan identd" 
  revision=%version%  
  priority="10" 
  reboot="false">

  <variable name="version"           value="0.3.0" />
  <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>

If a new version of retina scan is ever released (not holding our breath) simply replace the install and update the version variable.