-
Notifications
You must be signed in to change notification settings - Fork 218
Redistribution
The license of the MIEngine project allows for redistribution, but certain changes must be made in order to ensure different distributions do not conflict with Microsoft's. The VSIX package produced by the build is named MIDebugEngine.DoNotInstall.vsix because it will corrupt the MIEngine that ships with Visual Studio if installed directly. With the correct changes, you can produce a VSIX that is installable side by side with the official MIEngine distributed by Microsoft.
Multiple GUIDs need to be replaced in order to redistribute.
- The COM Registration GUID must be replaced in AD7Engine.cs and two places in Microsoft.MIDebugEngine.pkgdef.
- The EngineId GUID must be replaced in EngineConstants.cs and Microsoft.MIDebugEngine.pkgdef.
- If redistributing the iOS or Android Launcher binaries, their COM Registration GUIDs must be changed on both their Launcher classes and their pkgdef files. Unless you actually want to support Android/iOS we would suggest deleting or disabling these projects.
- All GUIDs in the MIDebugPackage project must change. GUIDs are located in Guids.cs, MIDebugPackage.vsct, and source.extension.vsixmanifext.
You will need to strong name sign your redistributable binaries with your own private key. The development key is checked in the Keys directory as ExternalKey.snk. This key is referenced by miengine.settings.targets. For more information on signing binaries with your own key, see MSDN.
In addition to updating the GUIDs in source.extension.vsixmanifext, you will need to update all other pertinent information in the manifest to reflect your distribution.
It is fine to use the MIEngine name in redistributions, we expect that 'Microsoft' would be removed from all binaries being redistributed. For example Microsoft.MIEngine.dll -> YourNameHere.MIEngine.dll.
The easiest way to get this correct is to Find/Replace-In-Files (Ctrl+Shift+F and Ctrl+Shift+H) on the MIEngine directory.
The Microsoft version of the MIEngine will register the Debug.MIDebugLaunch and Debug.MIDebugExec command window commands. You will either need to rename these commands (easy way) or remove the MIDebugPackage from the vsix (harder way) if you don't care about command window integration.
After completing these steps, please test your VSIX on a copy of Visual Studio that has the Microsoft MIEngine installed (in Visual Studio setup, 'Cross Platform Mobile Development -> Visual C++ Mobile Development' is checked). Make sure that your version of the MIEngine isn't being used for Android scenarios and that the Android debugger still works.
If you would like to redistribute MIEngine and have additional questions, please contact us at vsmiengine@microsoft.com.