The client was facing difficulties in porting their product to MacOS due to lack of official support for non-Windows platforms.
On Windows, there are numerous ways of extending Office functionality, ranging from the good old VBA all the way up to the latest Javascript web add-ins. In contrast, on MacOS we are quite limited: only VBA and Javascript are supported by default.
Finding a way to run the C# add-in on MacOS, with minimal source code changes, was made possible by a year long of research and development of custom tools.
No challenge is too hard when using the right tools.
- Designed DTrace instrumentation scripts to reverse engineer Office internal function calls.
- Developed abstraction layer for Windows COM internals (VARIANT, SAFEARRAY).
- Developed custom Office PIA drop-in replacement.
- Integrated Avalonia render output into external NSWindow.
- Investigated inter-process communication bottlenecks, leading to 4x speedup on Windows.
Dtrace · AppKit · Objective-C · Systems Programming · COM · .NET Framework · C# · Avalonia · Reverse Engineering · Win32 API