> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/it/knowledge-base/how-to-articles/bootstrap-portable-remote-desktop-manager-version.md).

# Bootstrap della versione portatile di Remote Desktop Manager

A volte gli utenti non dispongono dei privilegi necessari per installare Remote Desktop Manager sulla propria macchina. Questo ostacolo può essere aggirato installando una versione portatile di Remote Desktop Manager e affidandosi a una variabile d'ambiente per impostare il percorso del runtime .NET richiesto.

{% hint style="warning" %}
Si noti che questo metodo non è stato testato completamente e potrebbe pertanto risultare instabile.
{% endhint %}

Ecco i passaggi:

1. Scarichi il runtime .NET e il runtime .NET Windows Desktop in formato compresso. Non sono disponibili nella pagina di download di Microsoft, ma devono essere scaricati tramite le [release ufficiali del progetto](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/8.0/releases.json).
2. Estragga gli archivi dei runtime nella stessa directory.
3. Imposti la variabile d'ambiente `DOTNET_ROOT` in modo che punti alla directory del runtime .NET estratto.
4. Avvii RemoteDesktopManager.exe con la variabile d'ambiente correttamente impostata (dallo stesso terminale/prompt).

Ecco un semplice script per configurarlo automaticamente: occorre fornire solo il runtime .NET, il runtime .NET Windows Desktop e la cartella di destinazione:

```powershell
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 @args
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/rdm/it/knowledge-base/how-to-articles/bootstrap-portable-remote-desktop-manager-version.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
