dbExporter.IncludePlayer = true; but for Management Client plugin?

We tried in our MC plugin to include dbExporter.IncludePlayer = true; but we did not see the exe in the exported directory.

In the “[C:\Program](file:C:/Program) Files\Milestone\XProtect Smart Client” folder which would be the minimal set of files we would need in order to go along with the /Data/ folder and Project.scp file?

Is there a better way?

We will likely create a ViewTheEvidenceVideoData.exe which could open the project.scp file WITH the player.exe file that we hope to include with the export. Example: Imagine that a bookmark got exported to a USB drive with our MC plugin. We want the content and player to be together.

Management Client is not suitable for dbExporter.IncludePlayer. Actually, it cannot include the player when you use it on Management Client.

Please use it on Smart Client instead. It should work on Smart Client and dbExporter.IncludePlayer can work only on a Smart Client Plugin.

P.S. If you want to use it on a standalone application, you will need to copy the player from Smart Client because IncludePlayer is not suitable for standalone application either, it can only work on SC plugin.

We will NOT be making a smart client plugin. We stated we are making a Management Client plugin. We understand that dbExporter.IncludePlayer is not a parameter available for MC type plugin.

Specifically, we are asking for guidance on our original question: “In the “[C:\Program](file:C:/Program) Files\Milestone\XProtect Smart Client” folder which would be the minimal set of files we would need in order to go along with the /Data/ folder and Project.scp file?

We need to know WHICH files(smart client player) we need. Is it JUST player.exe? We tried that but I think there are other dlls needed for it to run. So exactly which files do we need to make the exported files with project.scp playable with the set of smart client file that we have manually copied to the export directory?

Can we then open the project.scp file WITH the exe from within this folder?

We are worried that you are implementing functionality is not suitable for the Management Client, Management Client should be configuration work only. This is intended design by Milestone. Of course, you are allowed to make your integration and workaround missing functionality.

If you want to run the player without XProtect installer, you will need to add all the files from Client folder when you export video from Smart Client.

Our plugin is suitable for the management client.

If you are talking about [C:\Program](file:C:/Program) Files\Milestone\XProtect Smart Client\ it is 772MB which is quite large.

What we really need is the list of files that are required for a more portable smart client. A long time ago we had something called the smart client player which I think we were able to use.

While I was working another feature of our software I was examining a folder which was exported from the smart client. The folder has a autorun.inf an ‘action=Start Video Playback’ line. This folder also has a ‘Client Files’ subdirectory, a ‘Client’ subsubdirectory, and an ‘Exported Project.scp’ file. Can we manually within our software take the Client folder, generate our own autorun.inf, rename the Project.scp file to ‘Exported Project.scp’, and place the SmartClient-Player.exe file in the root of the exported directory?

Will the above work?

When you mimic Smart Client, it is not possible to do it better than Smart Client.

Regarding the above work that you wrote, what happened you tried it?

We did not try it. Was looking for guidance. Is there any?

Today we did a test on an exported bookmark via our Management Client plugin and seemed to have some success.

  • copied ‘autorun.inf’
  • copied SmartClient-Player.exe
  • Created ‘Client Files’ sub directory
  • Copied the ‘Client’ subfolder(240 MB)
  • renamed ‘Project.scp’ to ‘Exported Project.scp’

We notice that the ‘Exported Project.scp’ file and the ‘Project.scp’ files are a bit different in their contents(but they’re different bookmark exports so maybe not a good example). The important xml tags within seems to be the contents of the tag.

We have concern that the ‘Project.scp’ xml may sometimes not be appropriate for this workaround we are testing with.

I need to test this on a system that never had any Milestone stuff installed on it as that would approximate the target user who would end up needing to view the evidence.

Also, in the original ‘Exported Project.scp’ file we noticed that there is a closing tag without any opening tag. . But this would have been exported by Milestone XProtect Corporate 2018r2(what our customer is using)

In order to run the Smart Client you cannot just copy an exe file. The minimum is the entire client folder as you see it when you export “including player” from the Smart Client. Basically, you will have to mimic the Smart Client and must supply the full folder content. The Smart Client is a very rich client and there is no smaller footprint version.

“In order to run the Smart Client you cannot just copy an exe file” The evidence from our test seems to suggest otherwise. If you follow the steps we have outlined within this post, you will see that we took the assets from a regular SC export. Then we used those assets to assemble our own portable export.

For the current request we have from our customer, it is evident that this is a critical feature needed from us. The customer we are working with has an end user who will not be able to perform any steps to load an export beyond a single double click.

This workaround that we have discovered is not ideal. We will likely add this to our code but we fear any environment changes or other unforeseeable changes to break our implementation of the workaround.

Is it possible to request a change to the Milestone API to have dbExporter.IncludePlayer=true work if env=“Administration” or even a non-plugin type integration? I am guessing that this may not be easily possible for all scenarios for Milestone. I bet that if I ran sysinternals procmon and monitoring how the SC is getting the smart client player I would see that it is getting those assets from the regular Programs Files folder where the SC lives.. And a MC plugin may be on a system where the SC is not installed.

So perhaps Millstone should document a KB with the steps of the workaround for our type of scenario.

We understood your situation and have talked to Milestone Development regarding your request (if it is possible to change to the MIP SDK to have dbExporter.IncludePlayer=true work other than Smart Client). However, we concluded that it is not going to happen and Milestone will not support it.