Search code examples
c#side-by-sideregfreecom

side-by-side assembly - how to develop with - Philips SpeechMike


I have searched the internet, but I am not able to understand how to build my app with a side-by-side dll. I am integrating with a device, the device manufacturer has given me two dlls, one is registered dll and the other side-by-side. I used the registered dll to register the dll and was able to develop the application. However, I really want to use the side-by-side dll for development so it is easy to deploy. I deregistered the dll and try to add the reference to the side-by-side dll, I cannot add a reference, VS says "please make sure the file is accessible and that it is a valid assembly or COM component. So Wondering how do you build an app using a side-by-side dll?

EDIT: Following the two comments, thanks for the comments. The device I am adding the Philips Speech Mike. I have looked around their website and cannot seem to find the right document. I think they are assuming you know this. There is a document on how to deploy it, still sketchy, but I get the process that I need to create a folder and manifest etc. What I am not sure is how do I compile my project with this side-by-side dll. I hope I am asking the right question. Here is the list of files they give in their sdk. enter image description here


Solution

  • After a long struggle and search, here is how I resolved it. It turns out it is not that hard. I was under the impression that I need to develop it in some "side-by-side mode", that is not the case. When developing, I believe, you still have to register the dll and add to your reference so it gets resolved while compiling. The side-by-side stuff comes in for deployment, which makes sense. Next, I could not find where the application manifest is so I can modify it, I did not want to write one by hand!! So this link helped me out this link. You set the "IsIsolated" flag to true and visual studio dumps the default application manifest. Now you add that manifest to your project. Then you can modify it to look for your dlls. In my case, I created a folder called "Philips.SpeechMike" and placed the dlls and mentioned that folder in the manifest like this.

      <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Philips.SpeechMike' version='4.1.410.31' processorArchitecture='x86'></assemblyIdentity>
    </dependentAssembly>
    

    Compile and you can side-by-side deploy the application.