Announcement

Collapse
No announcement yet.

Automatically registering Addins with StreetDeck

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Automatically registering Addins with StreetDeck

    About addins in StreetDeck
    StreetDeck will attempt to load an addin if it is in the Addin sub folder of a script project using the filename of the addin as the Prog ID. i.e. suppose you have a script project created in the StreetDeck development enviornment that is refereneced by the GUID {A42819EF-8B34-48C2-80CF-3B8754FD7F1B}. This script project hosts a .Net addin that compiles to a dll file in the Addins sub folder and has a Prog Id of Test.Addin. The path to the addin should be something like <My Documents>\StreetDeck\Scripts\{A42819EF-8B34-48C2-80CF-3B8754FD7F1B}\Addins\Test.Addin.dll

    StreetDeck will attempt to create the addin using
    CComPtr<IDualStreetDeckAddin> pController;
    pController.CoCreateInstance(L"Test.Addin");

    Auto Registration of Addins in StreetDeck
    When StreetDeck starts up, it will check every GUID based script sub folder in the <My Documents>\StreetDeck\Scripts path for an addin sub folder. If the folder exists, it will enumerate all .dll files that do not contain the word "Interop." in it. For each dll in this list, it will check to see if the dll is registered by calling the windows API function CLSIDFromProgID. If this function returns any result other the S_OK, it will attempt to register the dll using regsvr32.exe and wait for a result. If the registration fails, StreetDeck will then attempt to register the dll using regasm.exe

    Preventing StreetDeck from auto registering a DLL
    Sometimes it is necessary to place a dll in the addins sub folder for support of the addin that is not actually a StreetDeck addin. For example, .Net based interop libraries. To prevent StreetDeck from attempting to register these files, they can be renamed so they don't have a .dll extension, they can be renamed so they contain Interop. (Case Sensitive) in the file name, or they can be moved from the Addins directory, any of which will prevent StreetDeck from attempting to register the dll.
Working...
X