Cytoscape is an open source software platform for visualizing molecular interaction networks and biological pathways and integrating these networks with annotations, gene expression profiles and other state data. Although Cytoscape was originally designed for biological research, now it is a general platform for complex network analysis and visualization. The installer executable (.exe) Supports a silent installation command line switch (-q). It requires Java 17 and will automatically install Adoptium OpenJDK Java 17 if no Java environment is detected.
Uninstaller Script as
# Begin the transcript
Start-Transcript -Path $LogDir\$LogFile -Append -Force -IncludeInvocationHeader
$uninstallFile = "C:\Program Files\Cytoscape_v3.10.2\uninstall.exe"
$args = " -q"
#Install
Start-Process $PSScriptRoot\Cytoscape_3_10_2_windows_64bit.exe -ArgumentList " -q" -Wait -NoNewWindow
if(Test-Path -Path "$env:SystemDrive\program files\cytoscape_v3.10.2\cytoscape.exe"){
WriteLog "Install success, adding firewall rules"
#set firewall rules TCP and UDP C:\program files\cytoscape_v3.10.2\cytoscape.exe
if(Get-NetFirewallRule -DisplayName "CytoScape 3.10.2" -ErrorAction SilentlyContinue){
WriteLog "Firewall Rule already there for CytoScape 3.10.2.exe"}
Else {$FWRule1=New-NetFirewallRule -DisplayName "CytoScape 3.10.2" -Direction Inbound -Program "$env:SystemDrive\Program Files\cytoscape_v3.10.2\cytoscape.exe" -Protocol TCP -Action Allow -Profile Domain
$FWRule2=New-NetFirewallRule -DisplayName "CytoScape 3.10.2" -Direction Inbound -Program "$env:SystemDrive\Program Files\cytoscape_v3.10.2\cytoscape.exe" -Protocol UDP -Action Allow -Profile Domain
if(($FWRule1.Status -like "*successful*") -and ($FWRule2.Status -like "*successful*")){
WriteLog "TCP and UDP IN Firewall Rules added for CytopScape 3.10.2.exe"}
else{WriteLog "TCP and UDP IN Firewall Rules failed to add for CytopScape 3.10.2.exe"}
}
# Define the path to the shortcut found in "C:\Users\Public\Desktop\Cytoscape.lnk"
$shortcutPath = "C:\Users\Public\Desktop\Cytoscape.lnk"
# Check if the shortcut exists before attempting to remove it
if (Test-Path -Path $shortcutPath) {
# Remove the shortcut
Remove-Item -Path $shortcutPath -Force
Write-Host "Shortcut removed successfully."
} else {
Write-Host "Shortcut does not exist."
}
# Define the path to the Uninstall Icon found in "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Cytoscape_3.10.2\Cytoscape Uninstaller.lnk"
$shortcutPath = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Cytoscape_3.10.2\Cytoscape Uninstaller.lnk"
# Check if the shortcut exists before attempting to remove it
if (Test-Path -Path $shortcutPath) {
# Remove the shortcut
Remove-Item -Path $shortcutPath -Force
Write-Host "Shortcut removed successfully."
} else {
Write-Host "Shortcut does not exist."
}
WriteLog "Install finished"