Amazon AppStream
Developer Guide

This documentation is for an older version of Amazon AppStream. For information about the latest version, see the Amazon AppStream 2.0 Developer Guide.

Deploying with the Advanced Deployment Wizard

You will need the following to deploy your streaming application using the advanced wizard:

  • A supported browser

  • An application that can be installed using a compatible silent installer (see Build an Application Installer)

  • An Amazon Simple Storage Service (Amazon S3) bucket that contains your application installer

  • Visual Studio 2010 or later to use the AWS Toolkit for Visual Studio

  • AWS Toolkit for Visual Studio to create a presigned URL to your application installer

You will do these three tasks:

Upload your application installer to Amazon S3

Before your can upload your application to an Amazon S3 bucket, you must first create the bucket. If you already have an Amazon S3 bucket, skip toTo Upload the Application Installer to Amazon S3.

To create an Amazon S3 bucket

  1. In the Amazon S3 console, click Create Bucket.

  2. In the Create a Bucket—Select a Bucket Name and Region dialog box, type a name in the Bucket Name box.

    The bucket name you choose must be unique across all existing bucket names in Amazon S3. Your bucket name must be between 3 and 63 characters long, composed of lowercase letters and numbers.


    After you create a bucket, you cannot change the bucket name.

  3. Click Create.

    When Amazon S3 successfully creates your bucket, the console displays the properties of your empty bucket. This is the bucket where you upload the application installer.

To Upload the Application Installer to Amazon S3

  1. On the Amazon S3 console, click your bucket name, and then click Upload.

  2. In the Upload—Select Files and Folders dialog box, click Add Files.

  3. In the File Upload dialog box, select the application installer that you downloaded and saved to your local drive.

  4. Click Open.

  5. Click Start Upload.

Generate a presigned URL to your Application Installer

After you have uploaded the application installer to Amazon S3, you need to create a presigned URL that points to the file in the bucket. A presigned URL is a special URL that allows Amazon AppStream to download and run your application installer without exposing any security credentials. This URL is valid for a specific time period only.

To generate a presigned URL, you need to create a user with the proper permissions in AWS Identity and Access Management.

After creating the user, you need to generate a presigned URL to the application installer. You can use AWS Toolkit for Visual Studio to generate the presigned URL.

To create the user

  1. Open the IAM console at

  2. In the navigation pane, click Users and then click Create New Users.

  3. For Enter User Names, type a name for the user that will install the streaming application. Select Generate an access key for each user and then click Create.

  4. In the Create User dialog box, click Download Credentials and then save the file to a safe place. The comma separated value file contains the access key and secret key that you will need to generate a presigned URL.


    Store user credentials in a secure place. This is the only time you can get the secret key. If you lose this information, you must create a new access key and secret key.

  5. Click Close.

  6. On the console, double-click your new user.

  7. Under Permissions, click Attach User Policy.

  8. In Set Permissions, select Policy Generator, and then click Select .

  9. In Edit Permissions, do the following:

    • For Effect, click Allow

    • For AWS Service, select Amazon S3.

    • For Actions, select ListAllMyBuckets.

    • For Amazon Resource Name (ARN), type an asterisk (*).

    • Click Add Statment and then click Next Step.

  10. In Set Permissions, click Apply Policy.

To install the AWS Toolkit for Visual Studio

  1. Go to AWS Toolkit for Visual Studio and click AWS Toolkit for Visual Studio.

  2. Run the installation wizard, which is packaged as an .msi file.

    • If your browser asks whether to save or run the msi, select Run.

    • If your browser automatically saves the .msi file to your system, navigate to the download directory and use Windows Explorer to launch the .msi.

    The MSI file name depends on the version, but it will look something like AWSToolsAndSDKForNet_sdk-

  3. Follow the installation wizard's instructions to install the toolkit.

To add a profile to the Toolkit for Visual Studio

  1. In Visual Studio, open AWS Explorer by clicking the View menu and selecting AWS Explorer.

  2. Select the region with your Amazon S3 bucket.

  3. Click the new account profile icon to the right of the Profile list.

  4. In the New Account Profile dialog box, do the following:

    • For Profile Name, type a name to identify the profile.

    • For Access Key ID, type the access key ID of the user with access to the Amazon S3 bucket with your application installer.

    • For Secret Access Key, type the secret key of the user with access to the Amazon S3 bucket with your application installer.

    • Click OK.

To generate a presigned URL

  1. Select the region with your Amazon S3 bucket.

  2. Expand the Amazon S3 node and click your bucket name.

  3. Right-click the application installer and then select Create Pre-Signed URL.

  4. In the Create Pre-Signed URL dialog box, set an expiration date and time for the URL or go to the next step if you want to use the default setting which is one hour from the current time.

  5. Click the Generate button.

  6. Click Copy to copy the presigned URL to the clipboard. Save this URL to a file.

Deploy your Streaming Application to Amazon AppStream

After uploading the application installer to Amazon S3 and then generating a presigned URL, you are ready to add your application to Amazon AppStream.

To deploy your streaming application, do the following:

  1. Open the Amazon AppStream console at

  2. From the region selector of the top navigation bar, select the region where you want to deploy your streaming application.

  3. Click Deploy an application.

  4. If you are using Google Chrome or Mozilla Firefox, switch to the advanced deployment wizard. For other browsers, skip to the next step.

  5. On the Build page, click Next step.

  6. On the Set up your application page, do the following and then click Next step:

    • For Application name, type the name of your streaming application. This text identifies your streaming application in the console.

    • For Application description, type a short description of the streaming application. This text appears in the application summary page.

    • For Pre-signed S3 URL to installer, type the URL you created in the previous step.

    • For Installer Parameters, enter any command-line parameters required to run the installer. Use the command line parameter to set the video resolution of the application to 720p.

    • For Path to launcher, type the absolute path to the executable file that starts your streaming application.

    • For Launcher parameters, enter any command-line parameters required to start your streaming application on Amazon AppStream.

  7. You can enable logging on the Log page in Application logs or click Next step to continue deploying your streaming application.

    If you want to enable logging on your streaming application, select Yes, save application logs. After you select the check box, a text box appears below so that you can optionally specify another path to a directory that contains other log files or a path to a log file that will be added to the other log files. You can specify more than one path or file by filling out the other text box that appears after you fill in the text box. For more information about logging, see Enabling Logging on a Streaming Application.

    After specifying the paths and log files, click Next step.

    The custom log files and paths must meet the following requirements:

    • Log files must be located in the C:\ directory.

    • Log paths must be fully qualified paths. Do not use relative paths. You can use wildcards.

    • Log paths must be less than the path length limits. See Naming Files, Paths, and Namespaces.

    • Log file names cannot contain Windows reserved characters. See Naming Conventions.

    • Your application must have read access to the paths.


    The total size of logs in the .zip file is subject to the Amazon S3 key size limits.

    For Save Location, you can choose to have Amazon AppStream create an Amazon S3 bucket. To use a bucket created by Amazon AppStream, click Create a default bucket. To use one of your existing Amazon S3 buckets, click the down arrow next to Create a default bucket and select one of your buckets.


    Your bucket must allow Amazon AppStream to use the PutObject method. You can allow this method by using a bucket policy similar to the following:

    { "Version": "2008-10-17", "Id": "Policy1396472828471", "Statement": [ { "Sid": "Stmt1396472820469", "Effect": "Allow", "Principal": {"AWS":"arn:aws:iam::990116983315:root"}, "Action": ["s3:PutObject"], "Resource": "arn:aws:s3:::your bucket name/*" } ] }

    For more information about modifying the Amazon S3 bucket policy, see Bucket Policy Examples in the Amazon S3 Developer Guide.

    The log files are saved to a .zip file which is then uploaded to the bucket. Logs are saved with the following filename:

    <bucketName>/AppStream/<region>/<Application ID>/yyyy-mm-dd/<log file name>.zip

  8. On the Review page, check that the values are correct. If the values are correct, then click Finish to add your streaming application to Amazon AppStream. If you need to change a value, click Previous until you return to page where you can change the value.

Wait while Amazon AppStream prepares your application. This may take 30 minutes or more while Amazon AppStream performs the following tasks:

  • Copies your application installer from your Amazon S3 bucket.

  • Prepares your Amazon AppStream environment.

  • Installs your streaming application on an Amazon AppStream.

  • Creates an Amazon Machine Image (AMI) of the server configuration that includes your installed application.

  • Starts your streaming application.

While Amazon AppStream is deploying your application, it displays the Application Summary page, which contains the metadata for your application. The Application ID line shows the identifier assigned to your application. Client applications specify this identifier when they call into your entitlement service to connect to your application.

When your deployment is finished, Amazon AppStream displays a message indicating whether the deployment succeeded or failed.