You need to create a S3 bucket to store the VHDX, the mount script and the image file. The "populate" feature of this page will look for a structure like this:
AppStream needs access to the bucket you created above. Inform the bucket name with folder here: to generate a policy here, so you can add it to your bucket.
To attach the policy, go to your bucket in the S3 console > Permissions tab > Bucket policy section > Click edit > and save the policy.
You can now create a VHD file as shown below. Then you need to mount > format as NTFS > and install your application to it.
You can refer to the documentation here IF you need further instructions
After you mount and format the volume as NTFS, you can install your self-contained application there as shown below.
If you don't have a layered application now, you can download a portable app like Notepad++ to test.
If you inform the path of your application (the way it's in the OS), I can populate the launch path on the next page for you.
Finally, after copying the apps, detach the vdisk and upload the .vhdx to your folder on S3.
Just upload the PNG or JPG files associated to the programs to your folder on S3.
You can download the icon above if you don't have one to use now.
Elastic Fleets need a mount script to mount your VHD to the fleet instance. You can create your own script or use my example below.
If you inform an AppBlock name: and the VHD name: you created above, I can populate the command below for you.
mkdir C:\EFApps\ $disk_number = Mount-DiskImage "C:\AppStream\AppBlocks\APPBLOCK_NAME\VHDX_NAME" -NoDriveLetter -Passthru | Get-Disk | Select -ExpandProperty Number $partition_number = Get-Partition $disk_number | where -Property Type -ne "Reserved" | select -ExpandProperty PartitionNumber Add-PartitionAccessPath -DiskNumber $disk_number -PartitionNumber $partition_number -AccessPath "C:\EFApps\"Download script
This script will:
Once you have the script, just upload the .ps1 file to your folder on S3 (remove the .txt extension before!).
At this point you should have:
You can now simply download the CloudFormation template with ALL the info you need to create a AppBlock/Application combo in AppStream :)
Ok, you prefer the CLI. You will need then to follow three more steps:
AND
aws --version
aws-cli/2.4.6 Python/3.8.8 # your version should be equal o higher than this
If the CLI version is below 2.4.6, you need to update it.
## If you downloaded the JSON files in the previous page, go to Downloads first cd $HOME\Downloads ## Then run the lines below aws appstream create-app-block --cli-input-json file://AppBlockConfig.json --region YOUR_REGION # creates an AppBlock aws appstream create-application --cli-input-json file://ApplicationConfig.json --region YOUR_REGION # creates an Application
You may get AccessDenied if your user doesn't have CreateAppBlock and CreateApplication permissions.
If you need to add, I can generate a policy for you to attach to your user.