I am trying to create a SSMS 2008 add in using the Visual Studio Add In project template with VS.NET 13. I have followed the instructions in this tutorial from CodeProject. However, this tutorial is for SSMS 2012 and the folder structure is very different from SSMS 2008's folder structure. My question is: Where should i put the .addin file to make SSMS 2008 use it?
Also, this is the registry key i have created
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Shell\Addins\AddInName.Connect
Connect is the name of the class that provides logic for the addins connection with the host application. Is this correct?
Thanks in advance!
.addin file in not needed for SSMS 2008. The proper registry key you created and the corresponding CLSID registration should be enough.
This is what I used in my Tabs Studio add-in (msi, wix, current user installer):
<Component Id="TabsStudioSSMS2008Component" Guid="986C2BFA-4C21-42e4-96B3-7C0178B841DC">
<RegistryKey Root="HKCU" Key="Software\Sergey Vlasov\Tabs Studio\Installer">
<RegistryValue Type="integer" Name="SSMS2008" Value="1" KeyPath="yes"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\Addins\TabsStudio.Connect">
<!--<RegistryValue Type="integer" Name="LoadBehavior" Value="3"/>-->
<RegistryValue Type="string" Name="LoadBehavior" Value="[SSMS2008LOADBEHAVIOR]"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU"
Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}"
Action="createAndRemoveOnUninstall">
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\InprocServer32">
<RegistryValue Type="string" Value="mscoree.dll"/>
<RegistryValue Type="string" Name="ThreadingModel" Value="Both"/>
<RegistryValue Type="string" Name="Class" Value="TabsStudio.Connect"/>
<RegistryValue Type="string" Name="Assembly" Value="TabsStudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<RegistryValue Type="string" Name="RuntimeVersion" Value="v2.0.50727"/>
<RegistryValue Type="string" Name="CodeBase" Value="[PersonalFolder]Visual Studio 2008\Addins\TabsStudio.dll"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\InprocServer32\1.0.0.0">
<RegistryValue Type="string" Name="Class" Value="TabsStudio.Connect"/>
<RegistryValue Type="string" Name="Assembly" Value="TabsStudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<RegistryValue Type="string" Name="RuntimeVersion" Value="v2.0.50727"/>
<RegistryValue Type="string" Name="CodeBase" Value="[PersonalFolder]Visual Studio 2008\Addins\TabsStudio.dll"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\ProgId">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\TabsStudio.Connect">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\TabsStudio.Connect\CLSID">
<RegistryValue Type="string" Value="{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}"/>
</RegistryKey>
</Component>