Using Frame for Continuous Deployment

Bill At Frame
Speaking of the Cloud…
4 min readFeb 5, 2018

When was the last time you wondered what version of Facebook, Twitter, or even Medium you were using? The whole idea seems strange for websites. We expect websites to use “Continuous Deployment,” a practice where every change is automatically tested, then deployed to production. It’s also a key part of what “Software-as-a-Service” (SaaS) really means.

Continuous Deployment for Windows Apps?

That’s great for a website or a SaaS app, but what if your application is a multi-gigabyte classic Windows application that needs a desktop or powerful workstation to run? Do you really want all of your customers downloading your application every time they start? Besides being expensive, updates and installs are where most customer support requests tend to occur for Windows apps. Besides, no one wants to wait for a big download before they can get to work. This is why classic Windows software is typically just updated for end users once a year (or less).

Photo by Igor Son on Unsplash

Skip a rewrite and run on Frame

You could try to rewrite your Windows application as a web app, but unless you spend a lot of money and time (e.g. years) and then have unusually good luck, the result won’t match your original application in stability, features, or user experience. The best of both worlds would be to just run your Windows application in a browser. Frame allows you to install the app on one server, support only that OS and configuration, and stream it to anyone who wants to run it, anywhere.

Any device with a browser can run full Windows applications with Frame

Pretty neat, right? Frame allows your business critical Windows applications to leap straight onto the web without a rewrite. Continuous Deployment (aka CD) allows your customers to forget about versions and releases and just use your software. Even better, you can now charge a subscription instead of waiting for new releases to unlock new revenue. From Windows to Web in no time.

You can literally have a pilot up and running in a day, just:

  1. Create a Frame account
  2. Install and onboard your application in the Frame Sandbox
  3. Test and configure the app
  4. Set the capacity (number of simultaneous users) you want to support
  5. Publish the app (just one click: “Publish”)

That’s it!

Enabling Continuous Deployment

When you’re ready to move from manually installing software to automating the process of updates, Frame has you covered. The process is similar whether you want to set up Continuous Deployment for your end user’s benefit — or if you just need a way to roll out daily builds to your internal QA teams as a part of your development process.

  1. Upgrade to a Frame Platform Ultimate account or higher to enable your Super Admin user.
  2. Check out the Frame Continuous Deployment Solution Guide.
  3. Work with your Frame Solution Architect to provide any scripts or setup needed to pull down the latest updates for your app and automatically deploy it. We have examples and experience working with all sorts of applications.
  4. Tie the simple Frame REST API into your existing build and test system in a way that works best for you.
  5. Celebrate!

Essentially, it all boils down to automating the process of starting the Frame Sandbox, running scripts on the Sandbox that check for software updates, running the updates, and then publishing them.

An Example

Let’s assume you already have an application installed on a Frame Platform Ultimate account. Let’s also assume your users are happily using it every day, (whether they are end-users, your internal QA team, or a group of beta testers).

Contact your Frame support representative and ask that the “Enable API access” feature be added to your account and also that the “Sandbox Start” server customization script be enabled for your account.

The next step will be to start your Frame Sandbox and create a Windows Powershell script named:

c:\disp\misc\on-event\sandbox-start.ps1

This script will be responsible for checking to see if there is a new version of your application available, then downloading and installing the latest version if appropriate. The script will run every time the Sandbox starts. You can add any other checks or authentication that you want, but here is an example to give you the idea

After testing this manually by “powering off” the Sandbox then powering it back on, it’s time to tie the update into your existing build automation. The details will be specific to your organization, but here is another example showing the Frame APIs that will allow your automation to start the Sandbox, and publish the latest changes. This script might run on your organization’s build server as a final step after your latest changes pass automated testing.

With a little configuration and two, simple scripts, you can have all of the benefits of Continuous Deployment for your classic Windows applications.

If you want to learn more, see Frame’s Continuous Deployment Solution Guide or Schedule a Demo with us to free your customers from thinking about versions today.

--

--