A New Deployment Option for Windows 8 Apps

Your applications must be deployed to be used. Deployment options have varied over the years. All have had advantages and disadvantages, and they have evolved to meet the needs of a given era.

Older deployment options are still available for applications based on .NET Framework 4.5, and you can continue to use those options for server and desktop applications. Those include xcopy deployment, ClickOnce, and creation of .msi files. There are also third-party products that package and install applications. Most experienced developers who use Microsoft technologies are familiar with one or more of these options.

Changes in the last few years have highlighted some disadvantages of these older options. In particular, the most common way to acquire applications has changed from inserting physical media into a computer to downloading applications straight from the Internet. While this certainly simplifies buying and installing applications, it also opens up computer users to a serious threat: having deployment mechanisms hijacked by malware.

Estimates of the cost of malware go into the billions, and the problem is rapidly getting worse. Malware authors have shifted to attempting to acquire information and credentials to manipulate financial accounts, which threatens to dramatically inflate the damages due to malware.

One model that has evolved over the last few years to address that problem is the “app store.” Many users will be familiar with app stores for other platforms, and Microsoft has made an app store a built-in and significant part of Windows 8.

In the app store model, applications are required to go through a central point of deployment. Applications can be vetted in several ways before being placed in the store. This raises the bar for distribution of malware, and offers a fast way to chop off the distribution of malware when it is discovered.

App stores have additional benefits. For line-of-business applications, app stores provide a secure, widely available deployment mechanism with minimal investment by the IT departments involved. For consumer applications, which are often written by small teams and organizations, app stores help monetize applications. The app store relieves small organizations of creating the infrastructure to sell their apps and collect the payments. The Windows 8 app store is called the Windows Store.

Deployment of WinRT Apps

The app store model and its associated technologies restricts the deployment of applications that will run on WinRT. There are currently two channels by which apps can be deployed:

1. The Windows Store
2. Side-loading

Windows Store

The online Windows Store is owned and managed by Microsoft. It provides a searchable catalog of apps. When a user chooses to acquire an app, if it has a purchase price, then Microsoft collects the money and deposits it (after taking a fee, of course) in the account for the organization that placed the app in the store.

The Windows Store also provides a mechanism to update apps to new versions and arrange to download those new versions to previous purchasers of the app.

The Windows Store includes some features for allowing businesses to distribute software through the app store to both internal and external users. However, this chapter concentrates on what developers need to know about the Windows Store in general, and does not discuss those features.

As mentioned earlier, applications must be approved before they can be placed in the store. The section “Requirements for Apps in the Windows Store” below goes into details. These requirements are not merely guidelines; apps uploaded to the store are subject to testing by human testers to see if each app meets the requirements for the store.

Side-loading

Applications can bypass the Windows Store and be directly installed on Windows 8 machines under some fairly restrictive conditions. This process is called side-loading. Apps to be side-loaded must be signed, and the certificate needed to validate the signing must be available on the machine where the app will run. Additional details on the process of side-loading are in the section below “Side-loading for LOB Apps in an organization.”

Developer License

It's not necessary to deploy an application through the Windows Store to test it during development. Instead, Visual Studio enables a special form of side-loading, which requires a special type of license.

When you begin using Visual Studio 2012 on Windows 8, you will automatically be offered an option to obtain what is called a developer license. This license is required to develop and test Windows 8 style applications. Without it, your installation of Visual Studio 2012 will be restricted to the development of applications for versions of the .NET Framework.

A developer license is free, and is created for a particular machine and for a limited time. As such, you can expect to acquire such licenses as necessary on various machines. Note that you can't install such a license when you are running a machine via remote desktop—you must be running directly on a machine to install it.

The dialog in Visual Studio 2012 to obtain a developer license comes up the first time you run it. You simply agree to the license terms, and give permission to install in the User Account Control dialog.

Visual Studio 2012 has a menu option to renew a developer license. It is at Project ⇒ Store ⇒ Acquire Developer License.

You can also get a dialog to obtain developer license with a command prompt, with the command Show-WindowsDeveloperLicenseRegistration. In the unlikely event that you need to remove a developer license, the command Unregister-WindowsDeveloperLicense will do that.

Working with the Windows Store

One of the protection layers of the Windows Store is that applications are associated with an account at the Windows Store. To place an application in the store, you must have such an account. Getting an account is a multistep process, and it is discussed in the next section.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset