xsi:schemaLocation="http://www.wpkg.org/packages xsd/packages.xsd">
<package id="identd" name="retina_scan_identdRetina Scan identd" revision="%version%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"/>
<variable namecheck type="PKG_DESTINATIONuninstall" valuecondition="%PROGRAMFILES%\Nockmaar\Retina Scanexists" /> <variable name="PKG_DESTINATION" valuepath="Retina Scan Version %PROGRAMFILES(x86)version%\Nockmaar\Retina Scan" architecture="x64"/>
<check type!-- install the software, fail 5: can't update the file (because it's in use) --> <install cmd='"uninstall%SOFTWARE%\identd\retina-scan-%version%.exe" condition/verysilent /suppressmsgboxes /norestart' > <exit code="exists5" path/> <exit code="Retina Scan Version %version%0" /> </install>
<!-- install the software add service, on upgrade will fail 1073: The specified service already exists --> <install cmd='sc create ident DisplayName= "Ident Server" binpath= "%SOFTWAREPKG_DESTINATION%\identd\retina-scan-%version%.exe" start= auto' > <exit code="1073" /sp> <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 /silent v WOW64 /norestartt 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' /> <!-- add start service , may fail 1056: running already--> <install cmd='sc create identd binpathstart ident' > <exit code= "%PKG_DESTINATION%\identd.exe1056" start/> <exit code= auto' "0" /> </install cmd='net start identd' />
<!-- upgrade cmd='"%SOFTWARE%\identd\retinarun install -scan-%version%.exe> <upgrade include="install" /sp- /silent /norestart' />
<remove cmd='!-- even "%PKG_DESTINATION%\unins000.exe" /spVERYSILENT /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" /silent > </norestartremove> <!-- 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>