Portable Remote Desktop Manager-Version bootstrappen
Manchmal fehlt Benutzern die Berechtigung, Remote Desktop Manager auf ihrem Computer zu installieren. Dieses Hindernis kann umgangen werden, indem eine portable Version von Remote Desktop Manager installiert und eine Umgebungsvariable verwendet wird, um den Pfad zur erforderlichen .NET-Runtime festzulegen.
Beachten Sie, dass diese Methode nicht vollständig getestet ist und daher instabil sein kann.
Hier sind die Schritte:
Laden Sie die gezippte .NET-Runtime und die .NET Windows Desktop-Runtime herunter. Diese sind nicht auf der Download-Seite von Microsoft verfügbar, sondern müssen über die offiziellen Projekt-Releases heruntergeladen werden.
Extrahieren Sie die Runtime-Archive in dasselbe Verzeichnis.
Setzen Sie die Umgebungsvariable
DOTNET_ROOTso, dass sie auf das extrahierte .NET-Runtime-Verzeichnis zeigt.Starten Sie RemoteDesktopManager.exe mit korrekt gesetzter Umgebungsvariable (aus demselben Terminal/derselben Eingabeaufforderung).
Hier ist ein einfaches Skript, um dies automatisch einzurichten; es müssen nur die .NET-Runtime, die .NET Windows Desktop-Runtime und der Zielordner angegeben werden:
function BootstrapPortableRDM {
<#
.SYNOPSIS
Bootstrap a portable installation of RDM 2025.x
.DESCRIPTION
You must provide the zipped .NET Runtime and .NET Windows Desktop Runtime. The
zip releases are not available on the Microsoft download page but can be found
in the project releases at https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/10.0/releases.json.
Additionally you must provide the zipped Remote Desktop Manager and a location to
create the portable package root.
A launch script will be generated in the packaged `RDM` directory.
.EXAMPLE
$PackageRoot=Join-Path $Env:USERPROFILE "portable"
./setup-environment.ps1 -DotNetRuntimeArchiveFilePath "dotnet-runtime-10.0.3-win-x64.zip" -DotNetDesktopRuntimeArchiveFilePath "windowsdesktop-runtime-10.0.3-win-x64.zip" -RemoteDesktopManagerArchiveFilePath "Devolutions.RemoteDesktopManager.Bin.2025.1.31.0.zip" -PackageRootDirectory $PackageRoot
& $(Join-Path $PackageRoot "RDM/launch-rdm.ps1")
#>
param(
[Parameter(Mandatory, HelpMessage="The .NET Runtime .zip archive")]
[string] $DotNetRuntimeArchiveFilePath,
[Parameter(Mandatory, HelpMessage="The .NET Windows Desktop Runtime .zip archive")]
[string] $DotNetDesktopRuntimeArchiveFilePath,
[Parameter(Mandatory, HelpMessage="The Remote Desktop Manager .zip archive")]
[string] $RemoteDesktopManagerArchiveFilePath,
[Parameter(Mandatory, HelpMessage="The root packaging folder")]
[string] $PackageRootDirectory
)
$ErrorActionPreference = "stop"
$DotNetRuntimeArchiveFilePath = Resolve-Path $DotNetRuntimeArchiveFilePath
$DotNetDesktopRuntimeArchiveFilePath= Resolve-Path $DotNetDesktopRuntimeArchiveFilePath
$RemoteDesktopManagerArchiveFilePath= Resolve-Path $RemoteDesktopManagerArchiveFilePath
New-Item -Path $PackageRootDirectory -Type Directory -Force
Push-Location $PackageRootDirectory
Expand-Archive $RemoteDesktopManagerArchiveFilePath -DestinationPath "RDM"
Expand-Archive $DotNetRuntimeArchiveFilePath -DestinationPath "dotnet"
Expand-Archive $DotNetDesktopRuntimeArchiveFilePath -DestinationPath "dotnet"
$LaunchScript = @'
$DotNetRoot = Join-Path $(Get-Item $PSScriptRoot).Parent.FullName "dotnet"
$Env:DOTNET_ROOT=$DotNetRoot
$RdmDir = Join-Path $(Get-Item $PSScriptRoot).Parent.FullName "RDM"
$Rdm = Join-Path $RdmDir "RemoteDesktopManager.exe"
& "$Rdm"
'@
$LaunchScript | Out-File $(Join-Path RDM "launch-rdm.ps1")
Pop-Location
}
BootstrapPortableRDM @argsZuletzt aktualisiert
War das hilfreich?