====== 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