Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
userspace:citrix_online_plugin_made_with_citrix_receiver [2013/12/02 21:59] SisterOfMercy created |
userspace:citrix_online_plugin_made_with_citrix_receiver [2014/05/28 23:29] (current) SisterOfMercy |
||
---|---|---|---|
Line 8: | Line 8: | ||
We need the ICAWebWrapper.msi file, this is the .msi of the Online Plugin.\\ | We need the ICAWebWrapper.msi file, this is the .msi of the Online Plugin.\\ | ||
- | What can be an useful tool is InstEd!: http://www.instedit.com/download.html\\ | + | An useful tool is InstEd!: http://www.instedit.com/download.html\\ |
With this we make an msi transform to change the title that is shown in the add/remove programs interface in windows. "Online Plugin" doesn't say very much, does it?\\ | With this we make an msi transform to change the title that is shown in the add/remove programs interface in windows. "Online Plugin" doesn't say very much, does it?\\ | ||
In InstEd! we choose Tables -> Property, change ProductName to Citrix Online Plug-in 14.1.0.0 (or the version that you are installing).\\ | In InstEd! we choose Tables -> Property, change ProductName to Citrix Online Plug-in 14.1.0.0 (or the version that you are installing).\\ | ||
More information about MSI transforms: http://www.instedit.com/workingwithtransforms.html\\ | More information about MSI transforms: http://www.instedit.com/workingwithtransforms.html\\ | ||
- | |||
- | NOTE: have to fix the rest of this wiki entry... some time soon!\\ | ||
- | But this might already help somebody.. \\ | ||
This is a different version than the one already on here, this includes adding a website to the trusted zone in Internet Settings, and creating a few shortcuts. Only tested this as script, not as complete package. The mozilla-firefox package is not finished yet.\\ | This is a different version than the one already on here, this includes adding a website to the trusted zone in Internet Settings, and creating a few shortcuts. Only tested this as script, not as complete package. The mozilla-firefox package is not finished yet.\\ | ||
Shortcuts are made for the https://subdomain.your-mom.com site, which of course doesn't really exist.\\ | Shortcuts are made for the https://subdomain.your-mom.com site, which of course doesn't really exist.\\ | ||
+ | |||
+ | So we have :\\ | ||
+ | %scriptpath%\files\Citrix_ICAWebWrapper_14.1.0.0.mst\\ | ||
+ | %scriptpath%\files\Citrix_ICAWebWrapper_14.1.0.0.msi\\ | ||
==== control file ==== | ==== control file ==== | ||
Line 30: | Line 31: | ||
[Product] | [Product] | ||
type: localboot | type: localboot | ||
- | id: citrix-plugin | + | id: citrix-ica-plugin |
- | name: Citrix Online Plugin | + | name: Citrix ICA client web plugin |
- | description: Citrix ICA Client Plugin | + | description: The Citrix ICA client provides connectivity to remote applications. |
- | advice: | + | advice: Install this application if you need to connect to the your-cunt environment. |
version: 14.1.0.0 | version: 14.1.0.0 | ||
- | priority: -50 | + | priority: 0 |
licenseRequired: False | licenseRequired: False | ||
productClasses: | productClasses: | ||
- | setupScript: setup.ins | + | setupScript: setup3264.ins |
- | uninstallScript: uninstall.ins | + | uninstallScript: uninstall3264.ins |
updateScript: | updateScript: | ||
alwaysScript: | alwaysScript: | ||
Line 52: | Line 53: | ||
[Changelog] | [Changelog] | ||
- | citrix-plugin (14.1.0.0-1) testing; urgency=low | + | citrix-ica-plugin (14.1.0.0-1) testing; urgency=low |
* Initial package | * Initial package | ||
+ | -- ICT <ict@gcecad-service.nl> Wed, 07 May 2014 21:13:00 +0000 | ||
</code> | </code> | ||
- | ==== setup.ins ==== | + | ==== setup3264.ins ==== |
<code winst> | <code winst> | ||
+ | ; Copyright (c) uib gmbh (www.uib.de) | ||
+ | ; This sourcecode is owned by uib | ||
+ | ; and published under the Terms of the General Public License. | ||
+ | ; credits: http://www.opsi.org/en/credits/ | ||
+ | ; | ||
+ | ; License Management removed | ||
+ | |||
+ | |||
[Actions] | [Actions] | ||
- | requiredWinstVersion >= "4.11.2.1" | + | requiredWinstVersion >= "4.10.8.6" |
- | DefVar $MsiId$ | + | ;DefVar $MsiId32$ |
- | DefVar $UninstallProgram$ | + | ;DefVar $UninstallProgram32$ |
+ | ;DefVar $MsiId64$ | ||
+ | ;DefVar $UninstallProgram64$ | ||
DefVar $LogDir$ | DefVar $LogDir$ | ||
DefVar $ProductId$ | DefVar $ProductId$ | ||
DefVar $MinimumSpace$ | DefVar $MinimumSpace$ | ||
- | DefVar $InstallDir$ | + | DefVar $InstallDir32$ |
+ | ;DefVar $InstallDir64$ | ||
DefVar $ExitCode$ | DefVar $ExitCode$ | ||
+ | DefVar $INST_SystemType$ | ||
+ | ;DefVar $INST_architecture$ | ||
+ | DefVar $INST_MsVersion$ | ||
+ | set $INST_MsVersion$ = GetMsVersionInfo | ||
+ | Set $INST_SystemType$ = GetSystemType | ||
+ | ;set $INST_architecture$ = GetProductProperty("install_architecture","system specific") | ||
Set $LogDir$ = "%SystemDrive%\tmp" | Set $LogDir$ = "%SystemDrive%\tmp" | ||
Line 81: | Line 100: | ||
; therefore please: only lower letters, no umlauts, | ; therefore please: only lower letters, no umlauts, | ||
; no white space use '-' as a seperator | ; no white space use '-' as a seperator | ||
- | Set $ProductId$ = "citrix-plugin" | + | Set $ProductId$ = "citrix-ica-plugin" |
- | Set $MinimumSpace$ = "100 MB" | + | Set $MinimumSpace$ = "250 MB" |
- | Set $MsiId$ = 'CitrixOnlinePluginPackWeb' | + | ; the path were we find the product after the installation |
- | Set $InstallDir$ = "%ProgramFiles32Dir%\Citrix" | + | Set $InstallDir32$ = "%ProgramFiles32Dir%\Citrix\ICA Client" |
+ | ;Set $InstallDir64$ = "%ProgramFiles64Dir%\<path to the product>" | ||
; ---------------------------------------------------------------- | ; ---------------------------------------------------------------- | ||
Line 91: | Line 111: | ||
isFatalError | isFatalError | ||
; Stop process and set installation status to failed | ; Stop process and set installation status to failed | ||
- | else | + | endif |
- | comment "Show product picture" | + | if $INST_MsVersion$ < "5.1" |
- | ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ | + | LogError "Windows XP or newer is required for " + $ProductId$ |
+ | isFatalError | ||
+ | endif | ||
- | if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "") | + | comment "Show product picture" |
- | comment "MSI id " + $MsiId$ + " found in registry, starting uninstall" | + | ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ |
- | Winbatch_uninstall | + | |
- | sub_check_exitcode | + | |
- | + | ||
- | comment "Cleanup registry" | + | |
- | Registry_uninstall_all /AllNTUserDats | + | |
- | Registry_uninstall | + | |
- | comment "Delete program shortcuts" | + | if FileExists("%ScriptPath%\delsub3264.ins") |
- | LinkFolder_uninstall | + | comment "Start uninstall sub section" |
+ | Sub "%ScriptPath%\delsub3264.ins" | ||
endif | endif | ||
- | Message "Installing " + $ProductId$ + " ..." | + | comment "installing" |
+ | if ($INST_SystemType$ = "x86 System") | ||
+ | ;and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") | ||
+ | Message "Installing " + $ProductId$ + "..." | ||
comment "Start setup program" | comment "Start setup program" | ||
- | Winbatch_install | + | killtask "redirector.exe" |
+ | killtask "concentr.exe" | ||
+ | killtask "wfcrun32.exe" | ||
+ | Winbatch_install_32 | ||
Sub_check_exitcode | Sub_check_exitcode | ||
- | + | comment "Copy files" | |
+ | Files_install_32 /32Bit | ||
comment "Patch Registry" | comment "Patch Registry" | ||
- | Registry_install_all /AllNTUserDats | + | Registry_install /32Bit |
- | Registry_install | + | Registry_install_AllProfiles /AllNTUserDats |
- | + | ||
comment "Create shortcuts" | comment "Create shortcuts" | ||
LinkFolder_install | LinkFolder_install | ||
- | |||
endif | endif | ||
- | [Winbatch_install] | + | if ($INST_SystemType$ = "64 Bit System") |
- | msiexec.exe /qn /i "%ScriptPath%\files\Citrix_ICAWebWrapper_14.1.0.0.msi" TRANSFORMS="%ScriptPath%\files\Citrix_ICAWebWrapper_14.1.0.0.mst" | + | ;and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) |
- | ; Let's unregister the redirector plugin for all browsers.. Somehow I don't think this works yet. Blame citrix. | + | Message "Installing " + $ProductId$ + "..." |
- | "$InstallDir$\ICA Client\redirector.exe" /unregAll | + | comment "Start setup program" |
+ | killtask "redirector.exe" | ||
+ | killtask "concentr.exe" | ||
+ | killtask "wfcrun32.exe" | ||
+ | Winbatch_install_32 | ||
+ | Sub_check_exitcode | ||
+ | comment "Copy files" | ||
+ | Files_install_32 /64Bit | ||
+ | comment "Patch Registry" | ||
+ | Registry_install /64Bit | ||
+ | Registry_install /32Bit | ||
+ | Registry_install_AllProfiles /AllNTUserDats | ||
+ | comment "Create shortcuts" | ||
+ | LinkFolder_install | ||
+ | endif | ||
+ | |||
- | [Registry_install_all] | + | [Winbatch_install_32] |
- | openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\your-mom.com\subdomain] | + | "%SystemRoot%\system32\msiexec.exe" /qb! /package "%ScriptPath%\files\Citrix_ICAWebWrapper_14.1.0.0.msi" TRANSFORMS="%ScriptPath%\files\Citrix_ICAWebWrapper_14.1.0.0.mst" ADDLOCAL=ALL |
- | set "https" = REG_DWORD:0002 | + | |
+ | [Files_install_32] | ||
+ | delete -f "$InstallDir32$\IEInterceptor.dll" | ||
+ | delete -f "$InstallDir32$\npURLInterceptorPlugin.dll" | ||
+ | delete -sf "$InstallDir32$\Firefox_Extension\" | ||
+ | delete -sf "$InstallDir32$\Chrome_Extension\" | ||
+ | |||
+ | [Winbatch_install_64] | ||
+ | ; Choose one of the following examples as basis for your installation | ||
+ | ; You can use $LicenseKey$ var to pass a license key to the installer | ||
+ | ; | ||
+ | ; === Nullsoft Scriptable Install System ================================================================ | ||
+ | ; "%ScriptPath%\Setup.exe" /S | ||
+ | ; | ||
+ | ; === MSI package ======================================================================================= | ||
+ | ; You may use the parameter PIDKEY=$Licensekey$ | ||
+ | ; msiexec /i "%ScriptPath%\some.msi" /l* "$LogDir$\$ProductId$.install_log.txt" /qb! ALLUSERS=2 REBOOT=ReallySuppress | ||
+ | ; | ||
+ | ; === InstallShield + MSI===================================================================================== | ||
+ | ; Attention: The path to the log file should not contain any whitespaces | ||
+ | ; "%ScriptPath%\setup.exe" /s /v" /l* $LogDir$\$ProductId$.install_log.txt /qb! ALLUSERS=2 REBOOT=ReallySuppress" | ||
+ | ; "%ScriptPath%\setup.exe" /s /v" /qb! ALLUSERS=2 REBOOT=ReallySuppress" | ||
+ | ; | ||
+ | ; === InstallShield ===================================================================================== | ||
+ | ; Create setup.iss answer file by running: setup.exe /r /f1"c:\setup.iss" | ||
+ | ; "%ScriptPath%\setup.exe" /s /sms /f1"%ScriptPath%\setup.iss" /f2"$LogDir$\$ProductId$.install_log.txt" | ||
+ | ; | ||
+ | ; === Inno Setup ======================================================================================== | ||
+ | ; http://unattended.sourceforge.net/InnoSetup_Switches_ExitCodes.html | ||
+ | ; You may create setup answer file by: setup.exe /SAVEINF="filename" | ||
+ | ; You may use an answer file by the parameter /LOADINF="filename" | ||
+ | ; "%ScriptPath%\setup.exe" /sp- /silent /norestart /nocancel /SUPPRESSMSGBOXES | ||
+ | |||
+ | [Files_install_64] | ||
+ | ; Example of recursively copying some files into the installation directory: | ||
+ | ; | ||
+ | ; copy -s "%ScriptPath%\files\*.*" "$InstallDir64$" | ||
[Registry_install] | [Registry_install] | ||
openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix] | openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix] | ||
- | set "IcaEnableKeepAlive"=REG_DWORD:00000001 | + | set "IcaEnableKeepAlive" = REG_DWORD:00000001 |
- | set "IcaKeepAliveInternal"=REG_DWORD:00000060 | + | set "IcaKeepAliveInternal" = REG_DWORD:00000060 |
openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] | openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] | ||
- | set "TcpMaxDataRetransmissions"=REG_DWORD:00000010 | + | set "TcpMaxDataRetransmissions" = REG_DWORD:00000010 |
- | ; Let's get rid of that citrix redirector plugin! | + | openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] |
- | deletekey [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MozillaPlugins\@Citrix.com/npURLInterceptor] | + | |
- | openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\Run] | + | |
deletevar "Redirector" | deletevar "Redirector" | ||
+ | |||
+ | [Registry_install_AllProfiles] | ||
+ | ; Add gisportal2.eneco.nl to Trusted Sites in IE | ||
+ | openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\your-mom.com\subdomain] | ||
+ | set "https" = REG_DWORD:0002 | ||
+ | |||
+ | ; Remove stored start menu order | ||
+ | deletekey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu] | ||
[LinkFolder_install] | [LinkFolder_install] | ||
Line 149: | Line 228: | ||
set_subfolder Citrix | set_subfolder Citrix | ||
set_link | set_link | ||
- | name: This space available (Mozilla Firefox) | + | name: YOURCUNT (Mozilla Firefox) |
target: "%ProgramFiles32Dir%\Mozilla Firefox\firefox.exe" | target: "%ProgramFiles32Dir%\Mozilla Firefox\firefox.exe" | ||
parameters: https://subdomain.your-mom.com | parameters: https://subdomain.your-mom.com | ||
working_dir: "%ProgramFiles32Dir%\Mozilla Firefox" | working_dir: "%ProgramFiles32Dir%\Mozilla Firefox" | ||
- | icon_file: "$InstallDir$\wfica32.exe" | + | icon_file: "$InstallDir32$\wfica32.exe" |
icon_index: 0 | icon_index: 0 | ||
end_link | end_link | ||
set_link | set_link | ||
- | name: Your name here (Internet Explorer) | + | name: YOURCUNT (Internet Explorer) |
target: "%ProgramFiles32Dir%\Internet Explorer\iexplore.exe" | target: "%ProgramFiles32Dir%\Internet Explorer\iexplore.exe" | ||
parameters: https://subdomain.your-mom.com | parameters: https://subdomain.your-mom.com | ||
working_dir: "%ProgramFiles32Dir%\Internet Explorer\" | working_dir: "%ProgramFiles32Dir%\Internet Explorer\" | ||
- | icon_file: "$InstallDir$\wfica32.exe" | + | icon_file: "$InstallDir32$\wfica32.exe" |
icon_index: 0 | icon_index: 0 | ||
end_link | end_link | ||
Line 168: | Line 247: | ||
set_subfolder "" | set_subfolder "" | ||
set_link | set_link | ||
- | name: Do not click me | + | name: YOURCUNT |
target: "%ProgramFiles32Dir%\Mozilla Firefox\firefox.exe" | target: "%ProgramFiles32Dir%\Mozilla Firefox\firefox.exe" | ||
parameters: https://subdomain.your-mom.com | parameters: https://subdomain.your-mom.com | ||
working_dir: "%ProgramFiles32Dir%\Mozilla Firefox" | working_dir: "%ProgramFiles32Dir%\Mozilla Firefox" | ||
- | icon_file: "$InstallDir$\wfica32.exe" | + | icon_file: "$InstallDir32$\wfica32.exe" |
icon_index: 0 | icon_index: 0 | ||
end_link | end_link | ||
- | [Winbatch_uninstall] | + | [Sub_check_exitcode] |
- | "%ScriptPath%\files\CitrixOnlinePluginWeb_14.1.0.0.exe" /silent /noreboot /uninstall | + | comment "Test for installation success via exit code" |
+ | set $ExitCode$ = getLastExitCode | ||
+ | ; informations to exit codes see | ||
+ | ; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx | ||
+ | ; http://msdn.microsoft.com/en-us/library/aa368542.aspx | ||
+ | if ($ExitCode$ = "0") | ||
+ | comment "Looks good: setup program gives exitcode zero" | ||
+ | else | ||
+ | comment "Setup program gives a exitcode unequal zero: " + $ExitCode$ | ||
+ | if ($ExitCode$ = "1605") | ||
+ | comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed." | ||
+ | comment "Uninstall of a not installed product failed - no problem" | ||
+ | else | ||
+ | if ($ExitCode$ = "1641") | ||
+ | comment "looks good: setup program gives exitcode 1641" | ||
+ | comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success." | ||
+ | else | ||
+ | if ($ExitCode$ = "3010") | ||
+ | comment "looks good: setup program gives exitcode 3010" | ||
+ | comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success." | ||
+ | else | ||
+ | logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$ | ||
+ | isFatalError | ||
+ | endif | ||
+ | endif | ||
+ | endif | ||
+ | endif | ||
+ | </code> | ||
+ | |||
+ | ==== uninstall3264.ins ==== | ||
+ | |||
+ | <code winst> | ||
+ | ; Copyright (c) uib gmbh (www.uib.de) | ||
+ | ; This sourcecode is owned by uib gmbh | ||
+ | ; and published under the Terms of the General Public License. | ||
+ | ; credits: http://www.opsi.org/en/credits/ | ||
+ | ; | ||
+ | ; License Management removed | ||
+ | |||
+ | [Actions] | ||
+ | requiredWinstVersion >= "4.10.8.6" | ||
+ | |||
+ | ;DefVar $MsiId32$ | ||
+ | ;DefVar $UninstallProgram32$ | ||
+ | ;DefVar $MsiId64$ | ||
+ | ;DefVar $UninstallProgram64$ | ||
+ | DefVar $LogDir$ | ||
+ | DefVar $ExitCode$ | ||
+ | DefVar $ProductId$ | ||
+ | DefVar $InstallDir32$ | ||
+ | ;DefVar $InstallDir64$ | ||
+ | DefVar $INST_SystemType$ | ||
+ | ;DefVar $INST_architecture$ | ||
+ | |||
+ | Set $INST_SystemType$ = GetSystemType | ||
+ | ;set $INST_architecture$ = GetProductProperty("install_architecture","system specific") | ||
+ | |||
+ | |||
+ | Set $LogDir$ = "%SystemDrive%\tmp" | ||
+ | |||
+ | ; ---------------------------------------------------------------- | ||
+ | ; - Please edit the following values - | ||
+ | ; ---------------------------------------------------------------- | ||
+ | Set $ProductId$ = "citrix-ica-plugin" | ||
+ | Set $InstallDir32$ = "%ProgramFiles32Dir%\Citrix\ICA Client" | ||
+ | ;Set $InstallDir64$ = "%ProgramFiles64Dir%\<path to the product>" | ||
+ | ; ---------------------------------------------------------------- | ||
+ | |||
+ | |||
+ | comment "Show product picture" | ||
+ | ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ | ||
+ | |||
+ | Message "Uninstalling " + $ProductId$ + " ..." | ||
+ | |||
+ | if FileExists("%ScriptPath%\delsub3264.ins") | ||
+ | comment "Start uninstall sub section" | ||
+ | Sub "%ScriptPath%\delsub3264.ins" | ||
+ | endif | ||
+ | </code> | ||
+ | |||
+ | ==== delsub3264.ins ==== | ||
+ | |||
+ | <code winst> | ||
+ | ; Copyright (c) uib gmbh (www.uib.de) | ||
+ | ; This sourcecode is owned by uib gmbh | ||
+ | ; and published under the Terms of the General Public License. | ||
+ | ; credits: http://www.opsi.org/en/credits/ | ||
+ | ; | ||
+ | ; License Management removed | ||
+ | |||
+ | |||
+ | DefStringList $result$ | ||
+ | DefStringList $result1$ | ||
+ | DefVar $appKey$ | ||
+ | DefVar $UninstallCommandList$ | ||
+ | DefVar $appString$ | ||
+ | DefVar $appKeyString$ | ||
+ | DefVar $testName$ | ||
+ | ;DefVar $exeString$ | ||
+ | |||
+ | Set $appKeyString$ = "DisplayName" | ||
+ | Set $appString$ = "Citrix Online" | ||
+ | |||
+ | ;Set $MsiId32$ = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}' | ||
+ | ;Set $UninstallProgram32$ = $InstallDir32$ + "\uninstall.exe" | ||
+ | |||
+ | ;Set $MsiId64$ = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}' | ||
+ | ;Set $UninstallProgram64$ = $InstallDir64$ + "\uninstall.exe" | ||
+ | |||
+ | if ($INST_SystemType$ = "x86 System") | ||
+ | ;and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") | ||
+ | Message "Uninstalling " + $ProductId$ + "..." | ||
+ | |||
+ | Set $result$ = getRegistryKeyList32("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") | ||
+ | for $app$ in $result$ do Sub_searchApp32 | ||
+ | if not ($UninstallCommandList$ = "") | ||
+ | set $result1$ = splitString($UninstallCommandList$,"::") | ||
+ | killtask "redirector.exe" | ||
+ | killtask "concentr.exe" | ||
+ | killtask "wfcrun32.exe" | ||
+ | for $UninstallCommand$ in $result1$ do Winbatch_uninstall_32 /32Bit | ||
+ | sub_check_exitcode | ||
+ | endif | ||
+ | |||
+ | |||
+ | ; if FileExists($UninstallProgram32$) | ||
+ | ; comment "Uninstall program found, starting uninstall" | ||
+ | ; Winbatch_uninstall_32 | ||
+ | ; sub_check_exitcode | ||
+ | ; endif | ||
+ | |||
+ | ; if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId32$ + "] DisplayName") = "") | ||
+ | ; comment "MSI id " + $MsiId32$ + " found in registry, starting msiexec to uninstall" | ||
+ | ; Winbatch_uninstall_msi_32 | ||
+ | ; sub_check_exitcode | ||
+ | ; endif | ||
+ | |||
+ | comment "Delete files" | ||
+ | Files_uninstall_32 /32Bit | ||
+ | Files_uninstall_AllProfiles /AllNtUserProfiles | ||
+ | comment "Cleanup registry" | ||
+ | Registry_uninstall /32Bit | ||
+ | Registry_uninstall_AllProfiles /AllNTUserDats | ||
+ | endif | ||
+ | |||
+ | if ($INST_SystemType$ = "64 Bit System") | ||
+ | ;and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) | ||
+ | Message "Uninstalling " + $ProductId$ + "..." | ||
+ | |||
+ | ; Set $result$ = getRegistryKeyList64("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") | ||
+ | ; for $app$ in $result$ do Sub_searchApp64 | ||
+ | ; if not ($UninstallCommandList$ = "") | ||
+ | ; set $result1$ = splitString($UninstallCommandList$,"::") | ||
+ | ; for $UninstallCommand$ in $result1$ do Winbatch_uninstall_64 /64Bit | ||
+ | ; sub_check_exitcode | ||
+ | ; endif | ||
+ | |||
+ | Set $result$ = getRegistryKeyList32("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") | ||
+ | for $app$ in $result$ do Sub_searchApp32 | ||
+ | if not ($UninstallCommandList$ = "") | ||
+ | set $result1$ = splitString($UninstallCommandList$,"::") | ||
+ | killtask "redirector.exe" | ||
+ | killtask "concentr.exe" | ||
+ | killtask "wfcrun32.exe" | ||
+ | for $UninstallCommand$ in $result1$ do Winbatch_uninstall_32 /32Bit | ||
+ | sub_check_exitcode | ||
+ | endif | ||
+ | |||
+ | ; if FileExists($UninstallProgram64$) | ||
+ | ; comment "Uninstall program found, starting uninstall" | ||
+ | ; Winbatch_uninstall_64 | ||
+ | ; sub_check_exitcode | ||
+ | ; endif | ||
+ | |||
+ | ; if not (GetRegistryStringValue64("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId64$ + "] DisplayName") = "") | ||
+ | ; comment "MSI id " + $MsiId64$ + " found in registry, starting msiexec to uninstall" | ||
+ | ; Winbatch_uninstall_msi_64 | ||
+ | ; sub_check_exitcode | ||
+ | ; endif | ||
+ | |||
+ | comment "Delete files" | ||
+ | Files_uninstall_32 /64Bit | ||
+ | Files_uninstall_AllProfiles /AllNtUserProfiles | ||
+ | comment "Cleanup registry" | ||
+ | Registry_uninstall /64Bit | ||
+ | Registry_uninstall_AllProfiles /AllNTUserDats | ||
+ | endif | ||
+ | |||
+ | comment "Delete program shortcuts" | ||
+ | LinkFolder_uninstall | ||
+ | |||
+ | [Winbatch_uninstall_32] | ||
+ | $UninstallCommand$ | ||
+ | |||
+ | [Files_uninstall_32] | ||
+ | ;delete -sf "$InstallDir32$\" | ||
+ | delete -sf "%ProgramFiles32Dir%\Citrix\" | ||
+ | |||
+ | [Winbatch_uninstall_64] | ||
+ | $UninstallCommand$ | ||
+ | |||
+ | [Files_uninstall_64] | ||
+ | ; Example for recursively deleting the installation directory (don't forget the trailing backslash): | ||
+ | ; | ||
+ | ; delete -sf "$InstallDir64$\" | ||
- | [Registry_uninstall_all] | + | [Files_uninstall_AllProfiles] |
- | deletekey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\your-mom.com\subdomain] | + | delete -sf "%UserProfileDir%\Application Data\ICAClient\" |
[Registry_uninstall] | [Registry_uninstall] | ||
deletekey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix] | deletekey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix] | ||
- | openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] | + | |
- | deletevar "TcpMaxDataRetransmissions" | + | [Registry_uninstall_AllProfiles] |
[LinkFolder_uninstall] | [LinkFolder_uninstall] | ||
Line 193: | Line 476: | ||
set_basefolder common_desktopdirectory | set_basefolder common_desktopdirectory | ||
set_subfolder "" | set_subfolder "" | ||
- | delete_element Do not click me | + | delete_element Stedin - E-GIS |
[Sub_check_exitcode] | [Sub_check_exitcode] | ||
Line 223: | Line 505: | ||
endif | endif | ||
endif | endif | ||
+ | endif | ||
+ | |||
+ | [Sub_searchApp32] | ||
+ | set $appKey$ = "[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + "$app$" + "] " + $appKeyString$ | ||
+ | Set $testName$ = GetRegistryStringValue32($appKey$) | ||
+ | if contains($testName$,$appString$) | ||
+ | ; set $appKey$ = "[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + "$app$" + "] UninstallString" | ||
+ | ; Set $testName$ = GetRegistryStringValue32($appKey$) | ||
+ | ;if contains(lower($testName$),lower("MsiExec.exe")) | ||
+ | set $UninstallCommandList$ = $UninstallCommandList$ + "MsiExec.exe /x " + "$app$" + " /qb-! REBOOT=ReallySuppress::" | ||
+ | ;else | ||
+ | ; Set $testName$ = unquote($testName$,'"') | ||
+ | ; Set $testName$ = unquote($testName$,"'") | ||
+ | ; Set $exeString$ = takeString(0, splitString ($testName$, "exe")) | ||
+ | ; set $UninstallCommandList$ = $UninstallCommandList$ + $exeString$ + "exe /S::" | ||
+ | ;endif | ||
+ | endif | ||
+ | |||
+ | [Sub_searchApp64] | ||
+ | set $appKey$ = "[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + "$app$" + "] " + $appKeyString$ | ||
+ | Set $testName$ = GetRegistryStringValue64($appKey$) | ||
+ | if contains($testName$,$appString$) | ||
+ | ; set $appKey$ = "[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + "$app$" + "] UninstallString" | ||
+ | ; Set $testName$ = GetRegistryStringValue64($appKey$) | ||
+ | ;if contains(lower($testName$),lower("MsiExec.exe")) | ||
+ | set $UninstallCommandList$ = $UninstallCommandList$ + "MsiExec.exe /x " + "$app$" + " /qb-! REBOOT=ReallySuppress::" | ||
+ | ;else | ||
+ | ; Set $testName$ = unquote($testName$,'"') | ||
+ | ; Set $testName$ = unquote($testName$,"'") | ||
+ | ; Set $exeString$ = takeString(0, splitString ($testName$, "exe")) | ||
+ | ; set $UninstallCommandList$ = $UninstallCommandList$ + '"' + $exeString$ + 'exe /S"::' | ||
+ | ;endif | ||
endif | endif | ||
</code> | </code> |