Office アドイン本体はF12ツール等を使ってデバッグすることができますが、マニフェストファイルのデバッグで使えるツールは「Office App Compatibility Kit」くらいしかなく、記述にミスがあるとアドインが認識すらしないことがよくありました。
しかし、Office 2016(16.0.7019以降)でついにマニフェストファイルのデバッグ機能が追加されました。
機能の有効化
- レジストリエディタを起動します。
- 「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\Developer\RuntimeLogging」キー(キーがない場合は自分で追加)の既定値に、ログファイルのフルパスを記述します(例:C:\log\manifest.log)。
RuntimeLoggingキーを設定した後、下記のような記述に誤り(IconUrl要素のDefaultValue属性の値が不正)があるマニフェストファイルを読み込むと、
<?xml version="1.0" encoding="utf-8"?> <OfficeApp xmlns= "http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp"> <Id>bed2652a-7c2e-4c25-950a-0eb94fa763ca</Id> <Version>1.0.0.0</Version> <ProviderName>kinuasa</ProviderName> <DefaultLocale>ja-JP</DefaultLocale> <DisplayName DefaultValue="Sample App" /> <Description DefaultValue="Sample App" /> <IconUrl DefaultValue="http://localhost/apps/icon.XYZ" /> <Hosts> <Host Name="Document" /> </Hosts> <DefaultSettings> <SourceLocation DefaultValue="http://localhost/apps/sample.html" /> </DefaultSettings> <Permissions>ReadWriteDocument</Permissions> </OfficeApp>
アプリケーションではもちろんアドインが読み込まれませんが、RuntimeLoggingキーで指定したログファイルにはマニフェストファイルを読み込んだ時のログが記録されています。
2016/07/27 9:33:52 Medium Web Add-In Runtime Logging Session Started 2016/07/27 9:33:52 Unexpected Failed to parse manifest for add-in ID : bed2652a-7c2e-4c25-950a-0eb94fa763ca Error at element "IconUrl" : Unsupported image file format: http://localhost/apps/icon.XYZ Line 12 Char Pos 4 2016/07/27 9:33:55 Unexpected Failed to parse manifest for add-in ID : bed2652a-7c2e-4c25-950a-0eb94fa763ca Error at element "IconUrl" : Unsupported image file format: http://localhost/apps/icon.XYZ Line 12 Char Pos 4
これを見るとマニフェストファイルのどの部分で躓いたのかが一目瞭然、すぐに修正することができます。
これまでマニフェストファイルの設定で苦労されたOffice アドイン開発者の方は是非お試しください。
ちなみに、上記ログ機能はパフォーマンスに影響を及ぼすらしいので、不要な時はRuntimeLoggingキーを削除、必要な時だけキー設定して機能を有効化するようにしてください。
参考Webサイト
- Use runtime logging to debug the manifest for your Office Add-in
- https://github.com/OfficeDev/Office-Add-in-Commands-Samples/blob/master/Tools/RuntimeLogging.md
2017/4/19 追記:
マニフェストの検証ツール「Office Add-in Manifest Validator」についても記事を書きました。
この記事へのコメントはありません。