VSTOファイルのパスを取得する

レジストリに登録されている情報を利用して.vstoファイルのパスを取得する方法。

private const string REGKEY_ADDIN = @"Software\Microsoft\Office\PowerPoint\AddIns\MyPowerPointAddIn";

string GetVstoFilePath() {
    Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(REGKEY_ADDIN);
    if (regkey == null) { return null; }
    string manifest = regkey.GetValue("Manifest") as string;
    if (string.IsNullOrEmpty(manifest)) { return null; }
    int barIndex = manifest.LastIndexOf("|");
    return (barIndex == -1) ? manifest : manifest.Substring(0, barIndex);
}

上記はアドイン名がMyPowerPointAddInというアドインの場合です。使用する場合はREGKEY_ADDINの最後のアドイン名を適宜変更してください。