Change project preferences
The first thing you should do is to tell your IDE (like Visual Studio) not to embed manifest into executables. Instead of a native one, you need a custom manifest with SDK DLLs listed.
Go to [ProjectName] / Properties / Application and set the "Manifest" drop-down option to "Create application without a manifest".
Copy the files
Copy your application to some folder and create a subfolder named "DLLs". Place required SDK components (DLLs files) into the "DLLs" folder.
All DLLs should locate in the same folder. You don't need to create extra folders for Aja etc.
You can use the "Redistribution Maker" application to simplify the process of collecting the DLLs. This application locates in the "Utilities" folder.
MPlatform.
"...\Medialooks\MPlatform SDK\Utilities\Redistribution Maker MPlatform SDK.exe"
MFormats.
"...\MFormats SDK\Utilities\Redistribution Maker MFormats SDK.exe"
Note: the "Redistribution Maker" needs to run in administrator mode.
Check Redistribution Guidelines to find out what DLLs you should redistribute with your application.
Place MServer.exe.manifest (located in /bin/Manifests folder of your SDK directory) file near the MServer.exe.
It should be located in all subfolders where MServer.exe is placed. The required files are listed in Redistribution Guidelines.
Create a manifest file
Take a prototype manifest file:
..\Bin\Manifests\[Target Build Configuration]\[YourApplicationExeFile].exe.manifest
Rename it according to your application's .exe file name (Network Playback Sample.exe.manifest, for instance).
Place this manifest file in a folder where your application EXE file is located. And start your application - it should run without DLLs registration.
Visual Basic project
1) Open your VB solution - right button on your project - Add new item - search for "manifest" - add (as a result you'll get app.manifest file in the main folder of your solution)
2) Replace app.manifest file by ..\Bin\Manifests\[Target Build Configuration]\[YourApplicationExeFile].exe.manifest but save the app.manifest name (or just copy the contents from one file to another)
3) Rebuild your solution for your target build configuration
4) Copy the files the same way as it is shown in "Copy the files" paragraph above
5) Try to start your .exe
C++ project
When it's needed to redistribute C++ application, the main idea is the same - copy all the necessary DLLs, create the manifest file and specify the path to this manifest file in the settings of your C++ project. The following steps must be performed:
1) Paste the folder with all the necessary DLLs in the same folder where your .exe is located.
2) Paste the properly named manifest file in the same folder where your project file (not the compiled .exe) is located.
3) Open your C++ project - right button on your project (not the entire solution) - Properties - Configuration Properties - Manifest Tool - Input and Output.
4) Paste the path to your manifest file into Additional Manifest Files field.
5) Rebuild your solution for your target build configuration.
6) Try to start your .exe.
Notice the field called Embed Manifest. If the field is "No", the compiled .exe file searches all the necessary DLLs according to the content of the manifest file you put. If the field is "Yes", all the paths to the DLLs will be in-built into the .exe itself.
Delphi project
In case of using a platform other than .NET, it's not enough to just place a .manifest file next to your .exe file.
You should also embed this manifest in your Delphi application - https://stackoverflow.com/questions/5074563/registration-free-com-dll/
After this, you will get a standalone application that can run without DLL registration, for example:
https://drive.medialooks.com/index.php/s/BsfQ5pfY2C4FJWG
(only x64 dlls and corresponding manifest are included)