By using AWS re:Post, you agree to the Terms of Use

Appstream Elastic Fleet - Application Not Launching

0

I have an application being deployed on the "Microsoft Windows Server 2019 Base" platform as an Elastic Fleet deployment. Unfortunately, the application does not launch, it just gives a black screen.

I have confirmed that the VHD, deployment script, and icon file are all accessible to the instance from S3. I did this by launching as a Desktop Stream View and downloading the files via S3 pre-signed URL and the file did download.

What is odd, is that when I launch the fleet in Desktop-Stream-View, and then click on "Desktop" it takes me to the Windows desktop and I can see the VHD mounted both on the folder path and as a drive. I can navigate to the executable and launch it. But while in this view, if I click on the "4 boxes" icon on the top-left and try to launch my application from it's AppStream catalog link, nothing happens.

After logging out and then back in, while still in Desktop-Stream-View, I then clicked directly on the app's AppStream catalog icon (not the "Desktop" icon). It still takes me to the Windows desktop, but the VHD is not mounted! Naturally, the app link in the "4 boxes" icon to load the Catalog still does not work.

Now, when launching the fleet in "App-Stream-View", I only get the AppStream catalog icon, so I click on it and it just loads to a black screen, probably since it did not load the VHD nor set everything up.

I cannot understand why I can see the mounted VHD and my application files in one instance but not in the other. And no setup has a working AppStream catalog link.

Here are my relevant customizations to the "mount-vhd.ps1" script

# Specify a folder path to mount to. When specified, the script will check to see if the folder exists, and is empty, before mounting. If the folder doesn't exist, the folder will be created. If the folder exists, and isn't empty, the folder mounting will fail.
$MountFolder = "C:\myApps"

# Specify a drive letter to mount to. Specify the colon after specifying the drive letter. Note: A-E are reserved for AppStream 2.0. You will need to choose a different drive letter. 
$MountDriveLetter = "F:"

#If $PathToVHD isn't specified, the script will automatically search for the VHDX file in the same directory to mount.
$PathToVHD = ""

For the "Application" setup, I have the following:

Application executable launch path: C:\myApps\TestApp\TestApp.exe

Application working directory: C:\myApps\TestApp\

Any assistance would be greatly appreciated, thank you!

asked 4 months ago73 views
2 Answers
1
Accepted Answer

What is odd, is that when I launch the fleet in Desktop-Stream-View, and then click on "Desktop" it takes me to the Windows desktop and I can see the VHD mounted both on the folder path and as a drive. I can navigate to the executable and launch it. But while in this view, if I click on the "4 boxes" icon on the top-left and try to launch my application from it's AppStream catalog link, nothing happens.

This implies that the path to the launch executable that's been specified as the Application resource to AppStream 2.0 is incorrect in some way. Basically since you've validated that 1/ the setup script is successful (since the VHD mounted), and 2/ you can launch the app directly from the VHD mounts, then the issue is that AppStream 2.0 is having an issue with launching the application. This is most likely because either the path to the application executable or the launch is invalid in some way - or has invalid characters.

Hope that helps!

EXPERT
answered 4 months ago
  • One other thing I thought of - some applications don't like the way AppStream 2.0 launches applications. You can try using Powershell to launch it by specifying "C:\windows\system32\powershell.exe" as your executable, and then "C:\myApps\TestApp\TestApp.exe" as the launch parameter.

  • It looks like this was it. I first added Putty.exe as another application on the VHD and associated it to the Elastic Fleet and it loaded just fine. I then took your suggestion to load the original application via powershell, so my application setup became:

    Application executable launch path: C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe Application working directory: C:\myApps\TestApp Application launch parameters: Start-Process -FilePath "C:\myApps\TestApp\TestApp.exe"

    This got the application loaded! I was able to load it by clicking the AppStream catalog link in Desktop-Stream-View as well as via App-Stream-View (which is our target view).

    I did; however, experience two instances where black screen happened again, even when loading Putty. I assume that maybe the AppStream internals were not done setting up behind the scenes, or possibly a random bad instance deployment. Our VHD is very simple and our target application small as well (110mb).

    Now that we have it set up, we will continue to test and monitor our experiences. I very much appreciate your help!

0

We have a workshop that walks through all the steps to create your first Elastic fleet. It sounds like you are really close. You can use this to check your app block / application configuration.

profile picture
answered 4 months ago
  • Thank you for this. I was able to verify that we have set everything up similar to the guidance given in the workshop link. MuraliAtAWS's suggestion of loading the application via Powershell did the trick. We will continue to monitor to see if we get the black screen again.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions