studio
2023.4
false
UiPath logo, featuring letters U and I in white

Guide de l’utilisateur de Studio

Dernière mise à jour 17 déc. 2024

Configurer le plug-in distant UiPath pour les applications distantes personnalisées

Vue d'ensemble (Overview)

Avec l’extension pour le bureau à distance Windows, vous pouvez générer de manière native des sélecteurs sur des connexions RDP gérées par des applications distantes personnalisées qui utilisent le contrôle Microsoft RDP ActiveX.

Par exemple, lorsqu'une application personnalisée ouvre l'application Calculatrice (Calculator) à partir du serveur, le sélecteur est :

<wnd app='customapp.exe' cls='RAIL_WINDOW' title='Calculator (Remote)' />

Une fois les étapes décrites ci-dessous terminées, le sélecteur devient :

<wnd app='win32calc.exe' cls='CalcFrame' isremoteapp='1' title='Calculator' />

Cela vous permet d'automatiser l'application distante.

Installer l’extension UiPath pour le bureau à distance et les applications Microsoft

  1. Tout d'abord, suivez les étapes décrites via Extension pour le bureau à distance et les applications Microsoft (Extension for Microsoft Remote Desktop and Apps) pour installer l'extension.
  2. L'extension met à jour le registre Software\Microsoft\Terminal Server Client\Default\AddIns à partir de :
    • LocalMachine : si l'extension a été installée pour l'ensemble du système
    • CurrentUser : si l'extension a été installée pour un seul utilisateur
  3. Vérifiez l'éditeur du registre pour vous assurer que l'extension a bien modifié le registre. Voici à quoi cela devrait ressembler :


Mettez à jour la configuration des DLL des plug-ins dans votre application personnalisée

  1. Obtenez une référence à la configuration des DLL des plug-ins.
  2. Obtenez les chemins d'accès aux DLL de l’extension UiPath pour le bureau à distance Windows à partir de la sous-clé Nom (Nom) de la clé de registre Software\Microsoft\Terminal Server Client\Default\AddIns, à partir de :
    • LocalMachine : si l'extension a été installée pour l'ensemble du système
    • CurrentUser : si l'extension a été installée pour un seul utilisateur
  3. Créez une chaîne séparée par des virgules avec les chemins d'accès aux DLL obtenus à l'étape ci-dessus.
  4. Mettez à jour la configuration des DLL des plug-ins avec la chaîne nouvellement calculée.

Consultez la documentation du contrôle ActiveX du bureau à distance de Microsoft pour plus de détails.

Dans l'extrait de code ci-dessous, vous pouvez voir un exemple de la façon de définir la configuration des DLL des plug-ins avec des valeurs lues à partir du registre :

// Setting the PluginDlls configuration
mstscActiveX.AdvancedSettings7.PluginDlls = GetInstalledPluginDlls();// Getting the DLL paths from the Registry
private string GetInstalledPluginDlls()
{
    List<string> pluginDllsPerMachine = GetInstalledPluginDllsFromKey(Registry.LocalMachine);
    List<string> pluginDllsPerUser = GetInstalledPluginDllsFromKey(Registry.CurrentUser);
    
    var allPlugins = pluginDllsPerMachine.Concat(pluginDllsPerUser).ToList();
    return string.Join(",", allPlugins);
}
private List<string> GetInstalledPluginDllsFromKey(RegistryKey key)
{
    List<string> pluginDlls = new List<string>();
    try
    {
        using var regAddIns = key.OpenSubKey(@"Software\Microsoft\Terminal Server Client\Default\AddIns", false);
        if (regAddIns != null)
        {
            foreach (var regAddIn in regAddIns.GetSubKeyNames())
            {
                using var regAddin = regAddIns.OpenSubKey(regAddIn, false);
                var addInName = regAddin.GetValue("Name");
                if (addInName != null && addInName.ToString().ToLower().EndsWith(".dll"))
                {
                    pluginDlls.Add(addInName.ToString());
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    return pluginDlls;
}…
// Setting the PluginDlls configuration
mstscActiveX.AdvancedSettings7.PluginDlls = GetInstalledPluginDlls();
…
// Getting the DLL paths from the Registry
private string GetInstalledPluginDlls()
{
    List<string> pluginDllsPerMachine = GetInstalledPluginDllsFromKey(Registry.LocalMachine);
    List<string> pluginDllsPerUser = GetInstalledPluginDllsFromKey(Registry.CurrentUser);
    
    var allPlugins = pluginDllsPerMachine.Concat(pluginDllsPerUser).ToList();
    return string.Join(",", allPlugins);
}
private List<string> GetInstalledPluginDllsFromKey(RegistryKey key)
{
    List<string> pluginDlls = new List<string>();
    try
    {
        using var regAddIns = key.OpenSubKey(@"Software\Microsoft\Terminal Server Client\Default\AddIns", false);
        if (regAddIns != null)
        {
            foreach (var regAddIn in regAddIns.GetSubKeyNames())
            {
                using var regAddin = regAddIns.OpenSubKey(regAddIn, false);
                var addInName = regAddin.GetValue("Name");
                if (addInName != null && addInName.ToString().ToLower().EndsWith(".dll"))
                {
                    pluginDlls.Add(addInName.ToString());
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    return pluginDlls;
}
Remarque : Pour générer les sélecteurs natifs sur les connexions RDP, vous devez également déployer le composant UiPath Remote Runtime sur la machine distante, comme expliqué sur la page À propos de UiPath Remote Runtime (About UiPath Remote Runtime).
Le programme d'installation UiPathRemoteRuntime.msi peut être téléchargé à partir de :
  • Téléchargements de produits (Product Downloads) via le UiPath Customer Portal
  • Centre de ressources via UiPath Automation Cloud. Pour accéder au centre de ressources, vous devez vous connecter à votre organisation Automation Cloud et cliquer sur le bouton Aide (Help) dans la barre de navigation de gauche.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.