Vivi

Vivi is a custom-built, cross platform solution that overcomes the frustration of clunky, unreliable screen sharing tools in schools, universities and workplaces.

Vivi provides a low latency, high quality and low bandwidth streaming experience. It includes Active Directory/SAML integration and a cloud administration portal that makes bulk updates simple.

The client application runs on Apple, Android or Windows, however a majority of Vivi’s users are on the Windows platform. The introduction of Windows S which will become prominent in education verticals has motivated Vivi.io to make contact with Microsoft to discuss converting their existing desktop application to a Windows Store distributed offerring. The motivation for this is that Windows S will only support execution of applications installed via the Windows Store and Vivi.io want to ensure they are ahead of the curve when it comes to Windows S adoption and support.

Microsoft worked with a team of VIVI.io developers to convert their app to Windows UWP, using Desktop Bridge.

The core team:

  • Simon Probert – Technical Director, Vivi.io
  • Simon Lamb – Technical Evangelist, Microsoft Australia

Customer profile

Vivi.io focus on building collaborative learning tools that enables teachers and students to share, display, annotate, capture and save information in real time, from any device in the classroom. Built exclusively for the education sector, Vivi allows today’s tech savvy students to learn more efficiently, engage more actively and collaborate more effectively.

Vivi.io began their journey in 2013 to build a wireless presentation solution that was compatible across all devices and platforms.

Vivi team

Officially launched in February 2016, Vivi is taking the education and corporate worlds by storm – in Australia and overseas.

Problem statement

For Windows, Vivi.io only provided a classic desktop application that was deployed using an .msi installer. While the application is fully functional in this state, the Windows Store provides a much better experience for deployment. With the release of Windows S which only allows apps to be installed from the Windows Store, it was a natural progression to see how a UWP application could be created. Rewriting their application would be a costly exercise so the team at Microsoft were engaged to help Vivi migrate their existing application using the Desktop Bridge.

Vivi Devices

The UWP platform also provides some interesting features including toast notifications, tiles and Cortana integration.

The Desktop Bridge was a natural choice when looking at the amount of effort that was required to convert their application versus developing a new UWP app.

Solution, steps, and delivery

Microsoft performed the following steps on-site with VIVI.io to convert their existing application.

System requirements

  • Windows 10 Anniversary Update (10.0.14393.0 and later) Pro or Enterprise edition.
  • 64 bit (x64) processor
  • Hardware-assisted virtualization
  • Second Level Address Translation (SLAT)
  • Windows Software Development Kit (SDK) for Windows 10.

Installed the Desktop App Converter

  1. Downloaded and installed the Desktop App Converter (DAC) from the Windows Store.

  2. Identified the version number the operating system using the System Information app on the computer. The machine being utilised for converting VIVI had the OS version of 10.0.14393 Build 14393 (Anniversary Update).

Windows version

  1. Downloaded the appropriate Desktop app Converter base image. As we had discovered the system was running Anniversary Update, the base image BaseImage-14393.wim was downloaded.

    Needed to make sure that the version number that appears in the name of the file matches the version number of your Windows build or you will get an error: error 'E_NO_COMPATIBLE_EXPANDED_BASE_IMAGE'

  2. Ran the Desktop App Converter as an administrator. Right clicked on the Desktop App Converter in the Start menu and selected Run as administrator.

  3. We set up the converter by installing the appropriate image that was downloaded previosuly.

         PS C:\> .\DesktopAppConverter.exe -Setup -BaseImage BaseImage-14393.wim -Verbose
    

    A restart was required before we could continue.

Ran the Desktop App Converter

After installing and configuring the Desktop App Converter, we moved on to the actual conversion.

Ran the DesktopAppConverter.exe as administrator.

Running converter


The actual command we ran:

    PS C:\WINDOWS\System32> DesktopAppConverter.exe -Installer C:\temp\Bridge\ViviSetup.msi `
            -Destination C:\temp\Bridge\out `
            -PackageName "Vivi" `
            -Publisher "CN=Vivi.io" `
            -Version 2.9.1.0 `
            -MakeAppx `
            -Sign `
            -Verbose `
            -Verify


Some guidance on the required switches that were used:

    DesktopAppConverter.exe
    -Installer // The msi or exe (Vivi uses an msi) you would like to convert
    -Destination // The output path where the converted app will be stored
    -PackageName // Use the package name from dev center
    -Publisher // Use the published specified in the dev center
    -Version // Vivi matched this to the current version of their desktop app
    -AppId // We didn't specify this as the convertor will use the PackageName for this value
    -AppDisplayName // This wasn't specificed and therefore the convertor will use the PackageName for this value
    -MakeAppx // This is required to so the converter will call MakeAppx on the output
    -Sign // Tells the converter to sign the output Windows app package by using a generated certificate for testing purposes.
    -Verify // This switch tells the converter to validate the app package against Desktop Bridge and Windows Store requirements and produce a validation report "VerifyReport.xml"


For a complete listing of the parameters that are available when executing the Desktop App Converter, refer to the Parameter Reference in the Package an app using the Desktop App Converter (Desktop Bridge) documentation.

Deployed the app on a local device

The resulting output from the converter looked like the following:


Converter output


The file Vivi.appx was the converted UWP application that was ready for testing. It had been signed by the certificate included in the output directory and before installing the app we needed to register that certificate as a trusted authority.

  1. Double-click the .pfx file, and the Certificate Import Wizard opens. Choose Local Machine as the store location.


    Certificate Import Wizard Welcome page


  2. Add your .pfx file to Trusted Root Certification Authorities.


    Certificate Import Wizard Certificate Store page


  3. Double-click the .appx file and clicked Install to continue.


    Install Appx


After confirming the app was running as expected, we next attempted to submit the resulting .appx file to the store. When validating the package we received the following error:

Submit Error

The guidance included directed us to the registration page for Desktop Bridge converted applications. Once we filled out this form we were contacted by the appropriate department so we could provide extra details to apply for the required store permissions.

Once the appropriate permission had been granted we could successfully submit the application to the store. We initially configured the store listing as hidden until the customer was ready to perform the official release. Simply changing the setting below would instantly make it available via public search.

Store Visibility

Conclusion

With the Desktop App Converter, Vivi.io was able to achieve the following:

  • Provide a more advanced deployment method utilising the Windows Store
  • Leverage the increased trust provided by a store based deployment method
  • Ensure that their application could be installed on Windows S which will be used predominantly in their Education vertical.
  • Enable the use of new features made available by the UWP platform.

We published the app successfully to the Windows Store.

Additional resources