Using Desktop Bridge, SaitoKikaku converts Hiemaru Editor to a Windows UWP app
Hidemaru Editor is the leading shareware in Japan market. It is a text editor and provides variousprogramming features, such as macro, debugger and external commands.
- 1992: First version of Hidemaru Editor (16 bit) released for Windows 3.1.
- 1995: Hidemaru Editor v1.05 (32 bit) released for Windows 95. Hidemaru Editor v2.0 - released.
- 1999: Hidemaru Editor v3.0 released.
- 2003: Hidemaru Editor v4.0 released.
- 2005: Hidemaru Editor v5.0 released.
- 2006: Hidemaru Editor v6.0 released.
- 2007: Hidemaru Editor v7.0 released.
- 2010: Hidemaru Editor v8.0 released. Added 64 bit support.
- 2017: Latest version is v8.7.1.
Hidemaru Editor is a pioneer in a Japan shareware market, Many people love and keep using it. It also keep having an influence on many developer communities.
Microsoft worked with a team of Hidemaru Editor developers to convert their app to Windows UWP, using Desktop Bridge. Microsoft team did all tasks by remote support.
The core team:
- Takashi Yamamoto – Senior Developer, Saito Kikaku
- Hideo Saito – CEO, Saito Kikaku
- Shozo Arai – Technical Evangelist, Microsoft Japan
- Kazuki Tsuguma - App Consultant, Microsoft Japan
Saito Kikaku member
Saito Kikaku Ltd is a Japan-based company founded in 1993 by Hideo Saito, a famous developer of shareware in Japan. The flagship product of the company is “Hidemaru Editor”. It is a widely used text editor software in Japan. The software runs on Windows, has many sophisticated macro functions, commands that supports C and Java programming. This software is also famous for its great usability.
Hidemaru Editor has various distribution channels. It has two unique characteristics. First, as shareware, it permits durable use. And also has a paid (licensed) version. There has been a licensing problem because of casual hacking. Of course, Hidemaru Editor has so many users, so licensing change is difficult. Saito Kikaku is looking for new distribution channel. And, Saito Kikaku decided to distribute its editor on Windows Store.
There are multiple technical challenges discovered during the initial discussions:
- Licensing: coexistent dual license (Windows desktop and Windows Store).
- Settings information export and import feature.
- Macro feature.
Solution, steps, and delivery
To resolve these issues, we took the following steps:
- Discussed issues related to converting Hidemaru Editor to Appx package.
- Discussed issues related to running UWP App of Hidemaru Editor.
- Published a UWP app to the Windows Store.
1. Discussed issues related to converting Hidemaru Editor to Appx package.
Some questions and answers:
Can use coexistent dual license?
No, you can use the store licensing only. Please you consider changing app licensing. As result, Saito Kikaku decided to only support store licensing.
How do you create the Appx package?
To create the Appx package, it has two methodologies. One is using Desktop App Converter. Based on our investigation, they can create Appx package using “hmsetup” (Hidemaru Editor’s custom setup program). See information at Package an app using the Desktop App Converter.
DesktopAppConverter.exe -Installer ".Input\Hmsetup.exe" -InstallerArguments "/h" -InstallerValidExitCodes 1 -Destination "." -AppExecutable "C:\Program Files\Hidemaru\Hidemaru.exe" -PackageName "Hidemaru" -Publisher "CN=SAITO-KIKAKU" -Version 0.0.1.0" -MakeAppx -Verbose
Another is a manual methodology. See information at Package an app manually.
How do you use in-app purchase and trial?
How do you use registry?
Your app modifies HKEY_CURRENT_USER Hive, but cannot modify HKEY_LOCAL_MACHINE Hive. This behavior is described on this document. Saito Kikaku decided to create new export and import features, because original features used registry settings.
How do you use Windows Runtime API with minimum impact to existing code?
There are two methodologies. One is using another process, which is written in C# and co-works with the main program. This “C# program” encapsulates Windows Runtime API code. Another is using the win32 dynamic link library to encapsulate Windows Runtime API code, Here is the DLL sample.
2. Discussed issues related to running UWP App of Hidemaru Editor.
Some issues and solutions:
Issue: What is a countermeasure against casual hacking?
Hidemaru Editor is deployed using Xcopy and then launch a clone executable. There is a specific behavior for process type UWP App or Desktop App. How do you determine process type? We provided sample code.
Saito Kikaku implemented it and a new feature for coexistent Desktop App.
Issue: How to show same icon of desktop app on the taskbar?
Our investigation found this is related to the plated icon assets, because the taskbar use the un-plated icon assets. Hence, added un-plated icon assets worked well. See information at Guidelines for tile and icon assets. We provided information on how to use file extension settings include un-plated icon assets. Also, we provided information on how to create PRI resources.
Issue: Google IME was aborted.
This is an issues with Google IME. See information at Google IME Help forum.
3. Publish a UWP app to the Windows Store
Special thanks to Kazuki Tsuguma (Microsoft App Consultant), who helped to publish the Windows App. He was our teacher of publishing process. So, the package is now available on Windows Store. In publishing process, we received few questions about certificate criteria, then we gave an advice.
Opportunities going forward
Saito Kikaku now has the app ready for Windows Store, they have a new distribution channel now.
Saito kikaku participated in Windows 10 Compatibility Program, and got “Windows 10 Compatible Logo”.
And used Windows Store badge.
Saito Kikaku successfully converted Hidemaru Editor app. They are expecting to have broader customer reach with Windows Store, and enhanced usability with additional functions. Here is a quote from our customer.
I’m thankful for your polite support. I was reached to publish the app in Windows Store via your support. I could publish an app by your support. Hidemaru Editor has a few issues, such as app update mechanism and purchase mechanism. But these issues were resolved by Windows Store. I received deep support from Microsoft, such as “how to edit appxmanifest”, “testing our apps” and “how to use IAP API”. Microsoft team helped convert and put the app to Windows Store. Many thanks for Microsoft team.
Takashi Yamamoto – Saito Kikaku, Senior Developer