Recently updated from a plugin using the MIPS 2014 SDK to the MIPS 2018 SDK, and it fails at the start when we try to call
VideoOS.Platform.SDK.Environment.Initialize();
the error message talks about an InstanceGuid missing…but the Initialize method doesn’t take any parameters. so I have no idea why its missing or what has changed from the 2014 MIPS sdk…
I’m updating from an existing 2014 MIPS SDK integration that was working before with milestone 2014. The same initialize method was there before.
the new 2018 MIPS SDK compiles fine, but calling that initialize function no longer works. I didn’t get new sample projects for 2018 so once I get those I will hopefully be able to figure out what’s different now.
I did see a line in the 2018 documentation that says something about how in the past the initialization was being handled automatically but now its not. So that makes me think that’s related to this…but it doesn’t say how or what else you need to set up before calling initialize.
We can’t go to 2020 yet because according to the documentation, 2018 is the last version that still has the ImageViewer activeX control that we’re still using…so eventually I’ll update to 2020 but that would require more work to replace that control.
In previous versions, if an environment that is needed was not initialized by the integration, the standalone SDK would attempt to automatically load and initialize the required environments.
Due to security reasons, this has been removed. Therefore, an integration that is not itself doing all the necessary initializations will now get an exception, whereby in previous versions of the SDK, it would have run without problems.
So that sounds like my problem, but there’s no information on what additional steps we need to take now that the old way of simply calling Initialize doesn’t work anymore.
I am going to ask Milestone Development but I am sorry, many developers are out of office due to vacation. We will get back to you as soon as we have a news from them.
Also let me ask you once more, can you please tell us which version and edition of XProtect (not SDK version but VMS) are you using? XProtect 2014? Corporate? Professional or something else?
Please note that it is recommended to always use the newest MIP SDK. To upgrade to MIP SDK 2018R2 is not recommended when you might as well upgrade to MIP SDK 2020R2.
I notice that you write that you have made a plugin and at the same time you are calling VideoOS.Platform.SDK.Initialize, but in general VideoOS.Platform.SDK functionality is for standalone (component) integrations only and should not be used in a plugin. What is it you are doing that requries using VideoOS.Platform.SDK functionality from the plugin?
I was writing a video plugin for our access control client application. I needed to display live video and historical video inside our application window. Its working now. What made it work was simply copying all the dll files from the 32bit folder into the same folder as the executable. In the past, I was able to have the dll files in a subfolder, but for some reason since 2014 they have to be in the same folder as the exe file using the sdk library files.
I will be writing a MIP plugin next. I started reading the documentation for that today.