// Copyright (C) 2026 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

    /*!
    \page creator-developing-remote-windows.html

    \title Developing for remote Windows devices

    A remote Windows device is a Windows computer that \QC reaches over SSH and
    uses as a build device, a run device, or both. The sources, the build
    directory, and the tools stay on that computer, so you can develop for
    Windows from another operating system.

    \section1 Preparing the device

    Install the OpenSSH server on the Windows computer. It is an optional
    feature of Windows, which you can add in \uicontrol Settings >
    \uicontrol {Optional features}. Start the \uicontrol {OpenSSH SSH Server}
    service and allow it through the firewall.

    Copy your public key to \c {%ProgramData%\ssh\administrators_authorized_keys}
    or to \c {.ssh\authorized_keys} in the home directory of the user to connect
    as. \QC does not store passwords, so key-based authentication saves you from
    entering the password on every connection.

    \section1 Adding the device

    To add a remote Windows device:

    \list 1
        \li Go to \preferences > \uicontrol Devices > \uicontrol Devices.
        \li Select \uicontrol Add > \uicontrol {Remote Windows Device}.
        \li Enter the host name, the user name, and the private key file to
            connect with.
        \li Select \uicontrol {Test} to check the connection.
    \endlist

    To connect to the device when \QC starts, select
    \uicontrol {Auto-connect on startup}.

    \section1 Detecting the tools on the device

    Select \uicontrol {Run Auto-Detection Now} in the device settings to look
    for the tools that the device has. \QC detects Microsoft Visual C++ and
    clang-cl toolchains, the debuggers that come with them, the Qt versions and
    build tools that \QOI installs under \c {C:\Qt}, and creates kits for the
    combinations it finds.

    The kits build on the device. Both CMake and qmake projects are supported.

    \section1 Running and debugging

    An application runs on the device in the desktop session of the user that
    \QC connects as, so its windows are visible on the screen of that computer.
    When nobody is logged on, the application still runs, but without a desktop.

    Debugging uses the CDB debugger on the device. To debug, set
    \uicontrol {CDB extension directory} in the device settings to the \c lib
    directory of a \QC installed on the device.

    \QC reaches the debug port of the application through the SSH connection,
    which also applies to profiling and previewing QML.

    \sa {Developing for remote Linux devices}, {Add Docker devices},
    {Managing kits}
*/
