How to install a desktop application / desktop app in Windows 8
A total new visual experience with Windows 8
The new Windows 8 from Microsoft is the successor to the popular Windows 7 operating system. The visual user interface in Windows 8 differs a lot from Windows 7 and previous Windows versions, but if you create and distribute a traditional desktop application (desktop app) you will find that very much is alike; especially from a technical point of view. Microsoft has worked hard to ensure that programs that can be run in Windows 7 also can be run in Windows 8. Normally there will be no compatibility problems with software that is run in Windows 8 desktop mode.
But there are some things to consider. The security level has been raised compared to Windows 7 and previous Windows versions. And shortcuts to installed files are shown in a completely different way compared with Windows 7 and earlier. The familiar Start button / Start menu, which has been a part of Windows since 1995, has for example been removed.
SmartScreen is technology from Microsoft that helps users protect their computers against threats from the Internet, for example against malware and phishing attempts. SmartScreen was first introduced in Internet Explorer 8, and is also a part of Internet Explorer 9 and Internet Explorer 10. One new SmartScreen feature that was added to Internet Explorer 9 is the reputation check, which is made on all files downloaded from the Internet.
With the release of Windows 8, the SmartScreen filtering now also operates on desktop level. The SmartScreen technology in Windows 8 is named Windows SmartScreen and it makes a reputation check on any file or application that is downloaded from the Internet. The reason why SmartScreen now functions on desktop level is that users nowadays often use other web browsers than Internet Explorer (for example Google Chrome or Mozilla Firefox) and by operating on desktop level SmartScreen can protect the computer also when Internet Explorer is not used.
How Windows SmartScreen in Windows 8 can affect your software
If you are a software developer and distribute your software to other users via the Internet, Windows SmartScreen can affect what happens the first time your user starts your application or starts the installation of your application. SmartScreen will make a reputation check and if the trust is not high enough, Windows 8 will notify the user in this way:
If the user presses the More info link, an information message like the below will be shown on the screen:
Here the user can choose to run the application or cancel the operation. If the user presses the Run anyway button, the application will be run and if the user presses the Don't run button, the application will not be run.
Code sign / digitally sign your desktop application and the setup file that you distribute
You can come around the warning messages above if you code sign (digitally sign) your desktop application and the setup file that you distribute. So it is more important than ever that you code sign your software. The Microsoft Authenticode technology should be used to code sign the files.
However, there is no guarantee that the messages above will not be shown in Windows 8 if you use the traditional way to code sign your software because SmartScreen is a reputation based technology, and if your software is unknown for SmartScreen the warnings screen may be shown the first times your software is run, before it's reputation has been built up. Although, one difference will be that your company name will be displayed to the right of the Publisher text field (as shown in the picture below):
This will increase users' trust of your software but the rest of the message window will look the same. However, there is a method to avoid these warning messages in Windows 8 also the first times your software is run, and below we will describe how.
Extended Validation (EV) Code Signing
The traditional way of code signing software (by using the Microsoft Authenticode technology) was considered as very safe for a long period of time, but lately there have been reports on that stolen code signing certificates have been used to code sign malware. One famous malware that was code signed in this way was the Stuxnet computer worm. Stuxnet was code signed by using keys of two certificates that were stolen from two well-known companies in Taiwan.
There is now a new method to code sign software that is named Extended Validation (EV) Code Signing and that is considered to be safer. This new code signing method co-operates with SmartScreen in Windows 8 and Internet Explorer 9/10. Programs signed with an EV Code Signing certificate can immediately establish a good reputation with SmartScreen reputation services (in Windows 8 and IE9 / IE10). This means that the warning messages described above will not likely be shown at all when a program is launched in Windows 8, not even the first time the program is run.
Shortcuts in Windows 8
Shortcuts to application and document files are presented in a very different way in Windows 8. The Start button / Start menu, that has been a familiar part of Microsoft Windows for more than 15 years, has for example been removed. Instead users must start an application or open a document via the new Start screen in Windows 8.
The picture to the right shows how shortcuts to applications are presented in the Start Screen of Windows 8. With one click on the square the application is launched. If the application is a traditional desktop application, also Windows desktop is shown in the background (behind the application) when the application starts.
All installed shortcuts are not automatically shown
If you have a setup program that adds lots of shortcuts to Windows, you will discover that not all of them are shown as default in Windows 8. Especially shortcuts to documents etc. are not shown. Shortcuts to applications are usually shown, but shortcuts to other files types are not. The user can search for these shortcuts if he/she knows any word in the shortcut title, or open the All Apps list and select them manually, and then pin the shortcuts. They will then be added to the Start Screen. But you should try to have an alternative way to open documents etc. directly from your software, if it is possible; it will increase the chance that the files are opened by the user.
Application folders in Windows 8
Desktop applications (desktop apps) should always be installed to the Program Files folder in Windows (in the same way Windows applications were installed in Windows XP, Windows Vista, and Windows 7). The exact folder path to the Program Files folder can differ dependent of the bitness (32 or 64 bit) of the application and Windows. More information is available in the The 'Program Files (x86)' & 'SysWOW64' folders article.
Windows Store apps (former "Metro-Style apps") are also stored in the Program Files folder. They are all stored in a hidden sub-folder with the name \Program Files\WindowsApps. As default this folder is not visible, but if you enable showing of hidden items (for example via File Explorer in Windows 8) this folder will be visible. More information is available in the The 'WindowsApps' folder in Windows 8 article.
Never save data to the Program Files folder
User settings and runtime data can never be saved in the Program Files folder because of the security permissions configured for this folder (information can only be read). So you should never install a data file or settings file to this folder, if the information need to be updated when the application is running. Instead you should use specific locations in the file system that Windows provides for these purposes, for example: Users\<user>\AppData\Roaming.
If you have a Visual Basic 6.0 application - always include the VB6 runtime
Your application and installer must be able to run on a 64-bit Windows
A system with Windows 8 is very likely a 64 bit computer with a 64 Windows installed. So make sure that your software can be run on a 64-bit system. You application don't need to be compiled to 64-bit, it can be compiled to 32-bit, but the application must be able to run in a 64-bit system. The WoW64 virtualization technology is used to allow 32-bit software run on 64-bit systems.
More articles are available from the article index page.
|Article written by: Mika Larramo|