1) レジストリに正しい CLSID が登録されていることを確認する必要があります。そのため、インストーラーは次の (偽の) 値を挿入します。
(これは、 issue-tracker-plugins.txtファイルの下部に詳述されているように、RegASM を実行することと同等であると思います。
インストーラー レジストリの変更画像 http://img291.imageshack.us/img291/1618/registryinstaller.png
開始するには、このレジストリ ファイルをインポートできるはずです。
(おそらく、dll がインストールされている場所に基づいて、CodeBase の場所を動的に更新する必要があります)
Windows レジストリ エディタ バージョン 5.00
[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}] @="FogBugzPlugin.MyPlugin"
[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ]
[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ{3494FA92-B139-4730-9591-01135D5E7831}]
[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="FogBugzPlugin.MyPlugin" "Assembly"="MyAssemblyName, Version= 1.0.0.0、カルチャ = ニュートラル、PublicKeyToken = 31286c9d1d5aa00a" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/folder/AAAAAAAAAAAAA/MyAssemblyName.dll"
[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\InprocServer32\1.0.0.0] "Class"="FogBugzPlugin.MyPlugin" "Assembly"="MyAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken= 31286c9d1d5aa00a" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/folder/AAAAAAAAAAAAA/MyAssemblyName.dll"
[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\ProgId] @="FogBugzPlugin.MyPlugin"
2) ユーザーが BugTraq 関連付けをレジストリに追加されていることを確認する必要があります。
[HKEY_CURRENT_USER\Software\TortoiseSVN\BugTraq Associations\0] "プロバイダー"="{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}" "WorkingCopy"="c:\" "パラメーター"=""
(これは、TSVN -> 設定 -> フック スクリプト -> 課題トラッカー統合 -> 追加に移動して、ユーザーが手動で行うこともできます。
"{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}" は、作成したプロバイダーの GUID です。
すべて順調に進んでおり、ユーザーはプラグインを使用できるようになっているはずです。コミットダイアログを開いたとき。
アップデート:
上記の「プロバイダーが GUID として表示される」問題のトラブルシューティング...
わかりました...プロバイダーのGUIDが
{0DA7E319-1DCE-4A94-65555B5B6CE5}
以下を確認する必要があります。
プラグインは IBugTraqProvider と IBugTraqProvider2 を実装し、GUID が適用されています。
namespace FogBugzPlugin
{
[ComVisible(true),
Guid("0DA7E319-1DCE-4A94-65555B5B6CE5"),
ClassInterface(ClassInterfaceType.None)]
public class MyPlugin : IBugTraqProvider, IBugTraqProvider2
GUID: 0DA7E319-1DCE-4A94-65555B5B6CE5 PluginName: FogBugzPlugin.MyPlugin
regedit に移動して、レジストリの内容を確認してください。それは次の行に沿っている必要があります。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}]
@="FogBugzPlugin.MyPlugin"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories\{3494FA92-B139-4730-9591-01135D5E7831}]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="FogBugzPlugin.MyPlugin"
"Assembly"="FogBugz2Tortoise, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31286c9d1d5aa00a"
"RuntimeVersion"="v2.0.50727"
"CodeBase"="file:///C:/Program Files/folder/FogBugz2Tortoise/FogBugz2Tortoise.dll"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\InprocServer32\1.0.0.0]
"Class"="FogBugzPlugin.MyPlugin"
"Assembly"="FogBugz2Tortoise, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31286c9d1d5aa00a"
"RuntimeVersion"="v2.0.50727"
"CodeBase"="file:///C:/Program Files/folder/FogBugz2Tortoise/FogBugz2Tortoise.dll"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\ProgId]
@="FogBugzPlugin.MyPlugin"
また、HKCR の直下に ProgID / CLSID エントリが必要です。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin]
@="FogBugzPlugin.MyPlugin"
[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin\CLSID]
@="{0DA7E319-1DCE-4A94-65555B5B6CE5}"
これが役立つことを願っています-最初に最後のポイントを確認します.