With the release of Windows 8.1 last month, one question we keep hearing from developers is, “After I update my app for Windows 8.1, what happens for customers running Windows 8?” This is a great question. And it’s important because, as a developer, you want to make sure you can reach the broadest set of customers. This post looks to answer that question and give you some recommendations on the different approaches available for your apps.
Windows 8.1 is the future for Windows Store apps
If you couldn’t tell from our previous blog posts and all the new Dev Center documentation, we’re really excited about Windows 8.1 from an app development perspective. We’ve invested in great new features and improvements to existing features based on customer and developer feedback. If you’ve already upgraded your app to Windows 8.1 or are working on the upgrade, you probably know all about how our latest platform helps make your apps better than ever. In case you haven’t started yet, the Migrating your Windows Store app to Windows 8.1 whitepaper covers the upgrade process.
Getting Windows 8.1 is easy for customers – it’s a free and simple upgrade from the store. Shortly after a customer upgrades to Windows 8.1, the Store detects which of their installed apps have Windows 8.1 packages available. Apps automatically get updated to the newest version, with settings, data, and in-app purchase history preserved. If a Windows 8.1 package isn’t yet available, the 8 package continues to run on Windows 8.1, though of course, the app won’t be able to use any new Windows 8.1 features.
At the same time we’ve created a straightforward path for you to continue working on your app targeted at Windows 8.1 while still supporting your Windows 8 customers. You simply update your Windows 8.1 package, and the Store makes both versions available, targeting each one at the appropriate version of Windows.
After you publish your Windows 8.1 packages, you’ll still want to support your app for Windows 8 customers as needed with targeted bug fixes and minor updates. Submitting further updates to your Windows 8 packages isn’t required by the Store, but it’s a good way for you to keep your entire customer base happy. For example if a 3rd party service you’re using makes an API change that breaks your app’s experience, you want to make sure users running your app on Windows 8 have a way to get the app working again. That might mean releasing an update that includes the fix for the API change. Or alternatively you might decide to release an update that notifies the user of the situation and encourages them to upgrade to Windows 8.1 to get the latest version. It’s up to you to choose the approach that is right for your app and your customers.
Another option you might be considering is to onboard your Windows 8.1 app as an entirely new app. We don’t recommend this approach because customers won’t get the update automatically and you lose your reviews, ratings, and rankings. If you have new features you want to charge for, look at enabling these with in-app purchases instead.
Retargeting your app for Windows 8.1
After you’ve decided how you’ll manage and support your app on Windows 8 and Windows 8.1 you’ll need to go through the process of retargeting your app. To retarget an existing app for Windows 8.1, you’ll need to follow these steps:
- Copy/fork your solution so you have separate solutions targeted for Windows 8 and
- Retarget each of your projects in your Windows 8.1 solution.
- Fix any errors that crop up due to file paths and extension SDKs.
- Update your code to take advantage of new Windows 8.1 APIs and features.
- Optionally, make any changes/fixes you need in the solution targeted for Windows 8.
These steps are explained in much more detail in Retarget your Windows Store app to Windows 8.1 and you can also see them in action in this One dev minute video.
Managing your packages in the Store
After you’ve retargeted your app for Windows 8.1, you’ll need to submit your packages to the Store. You can also submit any updates for your Window 8 packages. (For a new app submission targeting Windows 8.1 only, simply go through the app submission process.)
After you’ve created your packages in Visual Studio, you’ll be able to upload your packages in the Windows Store Dashboard as a new release for your app. The listing details from your current app listing will be copied over to the new listing to help you get started. You can review these and make changes as needed for your Windows 8.1 listing. You can also change the Windows 8 listing as needed (for example, to let customers know about features only available after they upgrade to Windows 8.1.)
Important: Your Windows 8.1 package must have a higher version number than your current and future Windows 8 packages. There’s no work for you if you use Visual Studio 2013. It automatically increments the version in a way that allows you to make some additional updates to your app targeting Windows 8 if you need to do that later. If you build your app package manually, we recommend that you increase your package’s minor version number in the Windows 8.1 package. This way you’ll have plenty of version numbers left over if you decide to continue submitting updates to your Windows 8 packages.
Keep in mind that even if you don’t submit a package targeted at Windows 8, when you submit your Windows 8.1 app, your previous Windows 8 package will still be available to users running Windows 8. You can’t completely remove support for Windows 8 users at this time, even if you choose to no longer provide updates.
For more details on the Store submission process, check out Adding Windows 8.1 packages for an existing app on the Dev Center.
Windows 8.1 offers new opportunities for you to improve your existing apps and create brand new ones. And because the Store supports apps for both Windows 8 and Windows 8.1 customers, you have the flexibility to choose the update path that is best for your customers. Check out our updated samples and have fun building. I can’t wait to see your new and updated apps!
-Ian LeGrow, Group Program Manager, Windows
Jump to original: