<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="CPPOEMAddIn" version="1.0.0.0" /> <clrClass clsid="{89003b1d-548e-4508-a054-42ce772163b0}" progid="CppOEMAddIn.CppOEMAddInAddInServer" threadingModel="Both" name="CppOEMAddIn.CppOEMAddInAddInServer" runtimeVersion="" /> <file name="CppOEMAddIn.dll" hashalg="SHA1" />
The name of the assemblyIdentity element is the name of the project, as highlighted in the following image.
The clsid is the class ID for your add-in and it is located in the .idl file associated with your add-in, as shown in the following image. The braces are required in the manifest file.
The name attribute of the clrClass element consists of two parts, separated by periods. The first part is the name of your project. In this example, it is CppOEMAddIn. The second part is the name of the class that implements the ApplicationAddInServer interface, which is "CppOEMAddInAddInServer":
To verify that the manifest is correctly embedded, drag the add-in .dll into Visual Studio. The "RT_MANIFEST" folder displays, as shown in the following image. Double click the "2" icon to display a window with the actual manifest data.
<?xml version="1.0" encoding="utf-16"?> <Addin Type="Standard"> <ClassId>{2bf59d73-5170-4524-b0e1-391760aaffa5}</ClassId> <ClientId>{2bf59d73-5170-4524-b0e1-391760aaffa5}</ClientId> <DisplayName>MyOEMApp</DisplayName> <Description>Inventor OEM Sample App</Description> <Assembly>MyOEMApp\MyOEMApp.dll</Assembly> <Hidden>0</Hidden> </Addin>
Descriptions of elements in the addin file example:
There can be other elements that are defined for other add-ins that either do not apply, or are ignored for an OEM primary add-in.
Copy the add-in .dll to the new folder.