14 Mar Case Study: Microsoft Power BI Desktop
Microsoft-one of the biggest computer software and consumer electronics company in the world.
Microsoft developed an application which is called Power BI Desktop that can be installed on a local computer and lets users to connect to, transform, and visualize data. Power BI Desktop allows to connect to multiple different sources of data, and combine them into a data model that allows to build visuals, and collections of visuals that can be shared as reports with other people. Power BI Desktop supports both platforms – x64 and x86 and 42 languages.
MS needed 2 installers (one per platform) with all localizations included instead of 84 installers (one per language per platform) they have had. MS contacted to Akvelon to design and implement the solution that can be integrated in their current build system.
Akvelon updated the build system to create only 2 EXE files (one for x86 and another for x64) containing all language resources inside instead of 84 MSI files previously distributed through Download Center. The team implemented scripts that generated all necessary language transformations in advance and included them into new installers. The team also implemented a language selection screen to the installer UI so the user can select the preferred language (by default new installer uses system language) as soon as the installer is run and the rest of installer UI is immediately translated to the selected language. Also some work with registry was done to store user selection and run recovery or uninstall with appropriate localization.
Benefits and Results
Pre-generated language transformations and packing language selection inside the installer, reduced number of resulting installers from 84 to 2 and that significantly decreased product build time (by 6 times) and product sign time (signing 2 files instead of 84). Customers got all available localizations within one installer – no need to download several files if several languages are needed. IT Administrators got an opportunity to set the product silently via network setting the required language as a param.
C#, MS SQL, T-SQL, Azure PowerShell, DAX, Wix Toolset / XML, Azure Web Portal, Azure PowerShell, SQL Server Management Studio, Git, Kusto, Hyper-V