Docs/Hosts & resources/Publishing applications
DartRelay 2.1 documentation
Hosts & resources

Publishing applications

Publishing an application puts a single program from a host into the portal, where people open it in its own tab without seeing a whole Windows desktop. This page shows how to choose programs, what each setting does, and how the host is updated for you.

How published applications work

A published application opens as just that program's window, inside a tab in the portal. Several applications from the same host share one Windows session in the background, so they can copy and paste between each other and open each other's files, exactly as they would on a desktop. The person never has to manage that session; they open and close tabs.

Applications are published in app groups. An app group is a set of programs from one host, with one set of access rules and session settings. Each program in the group becomes its own card in the portal. You might have one app group for the accounts team's programs and another for the warehouse's, even if both live on the same host.

Note

The host must be added and ready before you publish from it. If you have not done that yet, start with Adding and preparing hosts.

There is no Publish button

A Windows Session Host keeps a list of programs that may be started remotely (the RemoteApp list). With that list enforced, anything not on it is refused with "Access is denied. This initial program cannot be started." That is a sensible default: nothing on the server runs remotely unless somebody allowed it.

DartRelay keeps that list up to date for you. When you save an app group, every program in it is registered on the host, using the host's management account. When you remove a program, delete the group, or move the group to a different host, the entries are removed from the old host. You never need to open Server Manager, and you never need to know the RemoteApp name a program was published under.

DartRelay only ever changes entries it created itself. Programs published on the host by hand, or by another app group, are left alone. It also does not switch list enforcement on or off: if a host has enforcement turned off, it stays off, and the browse dialog tells you the host's current state.

If registering fails (the host is switched off, or the management account is wrong), the group is still saved, and an amber message says what went wrong and which account was tried. Saving waits at most about 20 seconds for the host.

Create an app group

  1. Open the applications page. In the console, go to Catalog → Remote Apps.
  2. Start a new app group. Click Add.
  3. Name the group. The name is for administrators; each program keeps its own name in the portal.
  4. Choose the host. Pick it from the host list. The host's readiness verdict appears beneath it; if the host will refuse a third user, it says so here.
  5. Add programs. Click Browse / Add Apps. The dialog opens and immediately lists the programs it finds on the host, each with its real icon. Tick the ones you want and click Add Selected. See How DartRelay finds programs.
  6. Check each row. Each program appears as a row with its display name, program path and icon. Adjust the display name if you want a friendlier one, and fill in arguments or a working folder if the program needs them.
  7. Decide who may see the group. In Access Control, choose All Authenticated Users or Only Allowed, and add the users and groups. See Giving people access to resources.
  8. Choose how people sign in to the host. Pass-Through opens the session as the person's own Windows account. Fixed Credentials uses one saved Windows account for everybody. See Signing in to the host.
  9. File the group in categories if you use them. See Categories, folders and icons.
  10. Save. The editor opens with the message "App group created." The programs have been registered on the host, and the group appears in the portal for the people you allowed.

Icons are shown as soon as you pick a program. To replace one with a picture of your own, use the icon on the row in the editor after the first save (the group has to exist before it can hold a custom icon).

How DartRelay finds programs

When the browse dialog opens, it scans the host and lists what it finds, grouped by where it was found. No credentials are asked for; the host's management account is used.

SourceWhat it lists
Start MenuShortcuts in the all-users Start Menu and in each user profile's own Start Menu (up to 40 profiles), followed to the program they start.
WindowsBuilt-in programs such as Notepad, Paint and WordPad, each checked to exist on the host first.
InstalledPrograms listed in the host's installed-programs register.
RemoteAppPrograms already published on the host, for example through Server Manager.

A program found in several places is listed once. A program already in this group is shown dimmed and marked Already published (on a new group, Already added), so you can see the scan found it without adding it twice. Entries DartRelay published itself are not offered back to you.

Some things are deliberately left out:

Click Rescan after changing the host, or after a scan failed.

Browse the host's drives

A program that was installed by copying a folder onto the host has no shortcut and no installer entry, so no scan can see it. For these, click Browse the host's drives in the dialog. It shows the host's folders as a tree, like File Explorer, starting at C:\. Only folders and programs that can be published are shown; to go to another drive, type its path (for example D:\) and press Enter.

The tree shows each program's real icon (up to 60 per folder; beyond that a plain program symbol is drawn, and the folder says so). Pick a program to add it. Click ← Back to installed apps to return to the scanned list.

Add or change one row

Click + Add Manually to add an empty row and type a program path yourself. Each row also has its own Browse button, which opens the same dialog titled Choose an app: click a program and it fills that row. A display name or arguments you have already typed are kept.

Settings for each program

FieldWhat it doesDefault
Display NameThe name on the card in the portal.The name the scan found, or the file name without .exe
ProgramThe full path of the program on the host, such as C:\Program Files\Vendor\App\app.exe. It must be a full path (or a network path) ending in .exe, .bat, .cmd or .com. Machine-wide variables such as %ProgramFiles% and %SystemRoot% are understood; per-user ones such as %USERPROFILE% are refused, because they point somewhere different for every person.From the scan
ArgumentsCommand-line switches the program needs, such as /ini=\\server\config\app.ini. The host is told to accept exactly this command line and nothing else, so a published entry cannot be used to run something different.Empty, or the switches the host's own published entry used
Working folderThe folder the program starts in. Older programs (Delphi, Visual Basic 6, FoxPro and similar) often need this to find their data files.Empty
AccessoryOpens the program into the session the person already has, without a tab of its own. See Accessories.Ticked automatically for a few known Windows accessories
IconThe picture on the card. Read from the program automatically; on the editor you can replace it.The program's own icon

A row whose program is an older-style RemoteApp name (written ||Name) shows what that name actually runs once DartRelay has found out, with a use this instead button to switch the row to the real program path.

Settings for the whole group

SettingWhat it doesDefault
NameThe group's name in the console.—
HostThe host every program in the group runs on. Changing it moves all the programs: they are removed from the old host and registered on the new one at the next save.—
Access ControlWho sees the group's cards in the portal.All Authenticated Users
Sign-in to the hostPass-Through or Fixed Credentials.—
Width and HeightThe size of the Windows session. Leave both at 0 to fit the person's browser window, which gives the sharpest picture. Set both to pin a fixed size. See Display size.0 (fit the window)
CategoriesWhich portal folders the cards appear in.None
Printing and file transferWhether people can print from the session and move files in and out. See Printing and File transfer.As set globally

Signing in to the host

With Pass-Through, each person's session runs as their own Windows account, using the credentials they signed in to the portal with. Their files, mapped drives and settings are their own, and nobody sees anybody else's windows. Use this whenever people sign in with Active Directory or local Windows accounts.

With Fixed Credentials, everyone who opens the group uses one saved Windows account. This suits kiosks, guest access and shared stations. DartRelay recognises that such an account is shared and gives each device its own Windows session, so people do not see each other's work; see Shared Windows logins.

Opening the same program twice

Opening a program that is already open starts a second copy in a second tab, just as clicking it twice on a desktop would. The two tabs are grouped under one tab with a count; resting the pointer on it shows both, and its × closes every copy. Each tab controls its own copy.

A program that only ever allows one copy of itself (some line-of-business software does) will not start a second time. Its second tab stays empty; close it. Remote Desktop behaves the same way in Microsoft's own web client.

Accessories

A few programs are designed to float above whatever you are working in, and to hide rather than close when you press their close button. The Windows Math Input Panel is the clearest example. Given a tab of its own, such a program breaks what a tab promises: the tab will not close, and the program floats over every other tab in the session.

Tick Accessory on these programs. An accessory then opens into the session the person already has, appears over the application they are using, and gets no tab. A short message confirms it opened and reminds them to close it with its own close button.

DartRelay recognises the Windows accessories and ticks the box for you on a row you are adding:

ProgramRecognised as
mip.exeMath Input Panel
osk.exeOn-Screen Keyboard
magnify.exeMagnifier
tabtip.exeTouch Keyboard

It is a suggestion only: a row you have saved keeps whatever you chose. You can mark any other program, such as a dictation tool or a floating toolbar, as an accessory yourself.

Publish an accessory in the same app group as the applications it is used with. It can only open into a session belonging to the same group on the same host. If someone opens it with nothing open to appear over, it is not started, and they are told to start the application they want to use it with first. If they have something open from a different group, they are told it is published separately and that you can publish them together. A group that holds nothing but accessories opens them in ordinary tabs.

An accessory hides rather than exits, so it keeps running in the Windows session until that session ends. No remote client can change that; it is the program's own behaviour.

Example: publishing an older accounts package

A company runs a Delphi accounts program copied to D:\Ledger\ledger.exe on its host. It needs /db=\\fs01\ledger\data.ini on the command line and must start in D:\Ledger. Staff also use the On-Screen Keyboard on touch-screen tills.

  1. Create the group. Catalog → Remote Apps → Add, name "Ledger", host "Accounts server".
  2. Find the program. The scan does not list it (it has no shortcut), so in the dialog click Browse the host's drives, type D:\, press Enter, open Ledger and pick ledger.exe.
  3. Fill in the details. Display name "Ledger", arguments /db=\\fs01\ledger\data.ini, working folder D:\Ledger.
  4. Add the keyboard. From the scanned list's Windows group, add On-Screen Keyboard. Accessory is ticked for it automatically.
  5. Restrict and save. Only Allowed with the "Accounts" group, Pass-Through, then save. Staff in the Accounts group see two cards; the keyboard opens over Ledger when they need it.

If something goes wrong

SymptomLikely cause and fix
An amber message after savingThe programs could not be registered on the host. The message names the account that was tried. Check the host's management account on its page, then save the group again.
The scan finds fewer programs than expectedThe program has no shortcut (use Browse the host's drives), the host is a Server Core installation with no Start Menu, or the program is installed for one user only.
A program has no iconSome programs carry no icon of their own. Choose one from the icon library in the editor. See Icons.
The session opens and closes at onceThe program starts something else and exits. Publish the program that stays running instead.

See Troubleshooting for problems opening applications in the portal.

Still stuck? Email support@dartinnovations.com with what you were doing, what you expected and what you saw. A screenshot helps.