Jaa


Bringing the Dr. Tax for Windows Application to the Microsoft Store using the Desktop App Converter

dr_tax_blog

Each Swiss citizen must provide a tax declaration once per year. Today most people rely on software to produce their taxation form. Ringler Informatik AG is the leading provider of such a software, thus making Dr.Tax one of the most deployed desktop applications on PCs in Switzerland.

drtaxlogo

Thanks to the Microsoft Switzerland DX Team, with the support of the Microsoft AppConsult team, Ringler Informatik was able to bring the Dr.Tax Java based application to the Windows Store by using the Desktop App Converter tool.

The core team included:

  • Marcel K.Ringler, Managing Director, Ringler Informatik AG
  • Yuri Nadestin, Software Architect, Ringler Informatik AG
  • Ken Casada, Technical Evangelist, Microsoft
  • Matteo Pagani, Windows AppConsult Engineer, Microsoft

Customer Profile

Ringler Informatik develops standard software and customized solutions for electronic forms and form-based business processes. The company, which was founded in 1976, combines business expertise with long standing competence in application development for practice-oriented and user-friendly products and solutions. Ringler provides Dr.Tax, the leading Swiss taxation software solution for private users, public authorities and SME as well as multi-national groups both foreign and domestic.

Problem Statement

Dr.Tax is available as a standard installer on the official product website. A typical win application is not the best experience for Windows 10 users, but of course Ringler Informatik didn’t want to rewrite all the code in order to create a new Universal Windows Platform (UWP) app to leverage Windows Store capabilities. That’s the reason why Ringler Informatik decided to work with the Microsoft Switzerland DX Team in order to accelerate the conversion process. From the customer perspective, Desktop App Converter was the best choice in terms of the effort-to-outcome ratio.

By having Dr.Tax published to a trusted Store like the Windows 10 Store, a better installation and purchase experience to Windows 10 users is being offered.

Last but not least, although Dr.Tax is very well known, the store publication could also provide even more visibility.

Solution, Steps, and Delivery

Dr.Tax is a typical Java based application. In order to convert it to a Windows Store app we used the Desktop App Converter tool. In order to use the tool we had to setup the developer machine by following the instructions highlighted in the following blog post. Once the developer machine was ready and up to date with at least the Windows 10 Anniversary update, we started the Desktop App Converter tool with administrative rights and we run the following commands (note that the Desktop App Converter tool it's a simply PowerShell command prompt, since it's the technology that empowers the Desktop App Converter):

a) Set-ExecutionPolicy bypass

b) DesktopAppConverter.exe -Setup -BaseImage "C:\BaseImage\BaseImage-15063.wim"

c) DesktopAppConverter.exe -Installer "C:\ConvertedApps\DrTax\2016_16_3_WindowsStore_de.exe" -Destination "C:\ConvertedApps\output" -PackageName "DrTax2016" -Publisher "CN=Ringler Informatik AG" -Version 1.0.0.0 -MakeAppx -Verbose -Sign -InstallerArguments "-q" –Verify

Note: our goal was to convert the installer (.exe) into an AppX package. In order to do that, the installer has to support a silent installation mode, without user interaction; that's the reason why we explicitly added the "-q" parameter to the third command: to trigger a silent installation.

After the first installation attempts of the converted app (through the newly generated AppX package), we find out the following:

  • the content of an AppX package is uncompressed and installed into the "C:\Program Files\WindowsApps" folder, which, by default, is hidden and it's not accessible by any user.
  • data can only be written into the User folder "C:\Users<username>" , which is different for each user and it's stored in the same folder where native UWP applications handle the local storage.

All this was clearly a problem for us. In fact the original installer was creating a database as part of the installation process and since everything that gets packaged in an AppX file is automatically installed inside the "C:\Program Files\WindowsApps" folder, there is no way to specify that some files (in our case the database) should be deployed in the local storage of the app (usually "C:\Users<username>\AppData" ), so that the user can have immediately read and write access to it.

The workaround we implemented was clearly highlighted in the following blog post, but unfortunately it required Ringler Informatik to do some code changes to their original app:

  1. Include the database we want the user to be able to modify inside the package
  2. At the first launch of the application, copy it to the "C:\Users<username>" folder. Initially we wanted to store it inside the "C:\Users<username>\AppData" folder, but then we realized that in our case was better to store it within the "C:\Users<username>\Documents" folder. Why? Because when the user uninstalls the app, all the content inside the AppData folder will also disappear, and for our specific scenario we didn't want this to happen.
  3. Perform any operation against the copy of the file in the Documents folder.

Here below an image of the converted app highlighting the data storage folder used by the app:

image

Conclusion

Thanks to the Desktop App Converter, Ringler Informatik achieved two main goals:

  • Drive Windows 10 users to the Windows Store in order to offer them the best available installation and purchase experience.
  • Gaining more visibility by offering Dr.Tax through a new distribution channel and leveraging Windows Store capabilities.

In Mr. Ringler’s own words:

"The Desktop Bridge set of technologies enabled us to migrate our popular Java based app to the Windows Store. Distributing our app through this channel clearly enhanced our users’ installation and updating experience. Moreover, in the future, as soon as a paid version of the app will be available, we may leverage the out of the box billing system provided by store, providing our customers even a better experience."

Additional Resources