====== XenServer Client Issues ====== **Citrix Tools (Windows)**: https://www.xenserver.com/downloads **Open Source Drivers**: https://github.com/xcp-ng/win-pv-drivers/releases **Read this before Server VM creation!** https://xcp-ng.org/docs/guests.html#windows This may not be necessary by installing latest Citrix XenServer Tools for Windows. For **Windows Server 2022**: https://github.com/xcp-ng/xcp/issues/547 This may not be necessary by installing latest Citrix XenServer Tools for Windows. ===== Disable Windows Update ===== https://techoverflow.net/2022/06/07/how-to-disable-xcp-ng-windows-update-pcie-device-on-the-command-line/ ===== Guest Tools Removal ===== **XCP-ng Management Agent**: https://xcp-ng.org/docs/guests.html#windows **Tool**: https://github.com/siodor/win-tools-cleanup **Citrix**: https://support.citrix.com/article/CTX225911 Uninstall tools as a local admin (''.\administrator'') and do it from the server console rather than a remote session! ===== Install XenServer Tools ===== Citrix Hypervisor Guest Tools are no longer included with the hypervisor and must be downloaded separately: https://www.citrix.com/downloads/citrix-hypervisor/product-software/hypervisor-82-express-edition.html **Latest**: https://support.citrix.com/article/CTX235403 :!: Don't bother installing the Tools on a Linux guest if you don't have a Xen kernel. dmesg | grep -i xen :!: In XenCenter, mount the ''guest-tools.iso'' in the guest DVD drive. ==== FreePBX Distro ==== mount /dev/sr0 /mnt mv /etc/redhat-release /etc/redhat-release-fpbx #echo "CentOS release 6.6 (Final)" > /etc/redhat-release echo "CentOS Linux release 7.1.1503 (Core)" > /etc/redhat-release /mnt/Linux/install.sh mv /etc/redhat-release /etc/redhat-release-centos mv /etc/redhat-release-fpbx /etc/redhat-release umount /dev/sr0 /etc/init.d/xe-linux-distribution start ==== Ubuntu/Debian ==== mount /dev/xvdd /mnt /mnt/Linux/install.sh wget -q http://updates.vmd.citrix.com/XenServer/5.6.0/GPG-KEY -O- | apt-key add - /etc/init.d/xe-linux-distribution start ==== SME Server 8 ==== mount /dev/xvdd /mnt mv /etc/redhat-release /etc/redhat-release-sme echo "CentOS release 5 (Final)" > /etc/redhat-release /mnt/Linux/install.sh /etc/init.d/xe-linux-distribution start ln -s /etc/rc.d/init.d/xe-linux-distribution /etc/rc7.d/S26xe-linux-distribution ==== Windows ==== :!: This script does **not** run on Windows older than 10. https://xenappblog.com/2018/download-and-install-latest-citrix-xenserver-tools/ If you run this script in a Windows Server VM, it will download and install the Citrix Tools (drivers and management agent). If you run it on a standalone Windows PC, it will just download the MSI installer file. The download destination is the ''.\'' directory as shown in the prompt after the script executes in PowerShell. If you use PowerShell ISE, look here: ''C:\Windows\System32\7.2.0.1537'' (the version number) {{ :virtualization:xenserver:xenserver_download_win_tools.png?600 |Download Tools}} === Script to Download === Run this PowerShell script to download the latest tools installer: Write-Verbose "Loading Functions" -Verbose function get-latestVersion { $uri = "https://pvupdates.vmd.citrix.com/updates.latest.tsv" $results = @() $temp = New-TemporaryFile wget $uri -OutFile $temp $raw = get-content $temp foreach ($line in $raw) { $parts = $line.split("`t") $result = @{ "URL"=$parts[0]; "Version"=[version]$parts[1]; "Size"=$parts[2]; "Architecture"=$parts[3] } $results += $result } Write-Output $results } Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $Vendor = "Citrix" $Product = "XenServer" $PackageName = "managementagentx64" $Latest = get-latestVersion | ? architecture -eq "x64" $Version = $Latest.version $InstallerType = "msi" $Source = "$PackageName" + "." + "$InstallerType" $LogPS = "C:\Windows\Temp\$Vendor $Product $Version PS Wrapper.log" $LogApp = "C:\Windows\Temp\XS65FP1.log" $UnattendedArgs = "/i $PackageName.$InstallerType ALLUSERS=1 /Lv $LogApp /quiet /norestart" $URL = $Latest.url Start-Transcript $LogPS if( -Not (Test-Path -Path $Version ) ) { New-Item -ItemType directory -Path $Version } CD $Version Write-Verbose "Downloading $Vendor $Product $Version" -Verbose If (!(Test-Path -Path $Source)) { Invoke-WebRequest -Uri $url -OutFile $Source } Else { Write-Verbose "File exists. Skipping Download." -Verbose } Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose (Start-Process msiexec.exe -ArgumentList $UnattendedArgs -Wait -Passthru).ExitCode Write-Verbose "Customization" -Verbose Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript