<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Hi Jae,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>The traditional way of installing GME components is by running Windows' regsvr32.exe with the path to the dll as the argument. This needs to be done with elevated permissions on Vista/7. We've used the Inno Setup tool to create installers that install GME components in this way (i.e. with the &quot;regserver&quot; flag).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Technical details on this technique (&quot;self-registration&quot;) are available here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms694515(v=vs.85).aspx<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Self-registration has fallen out of favor (<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa371608(v=vs.85).aspx)">http://msdn.microsoft.com/en-us/library/windows/desktop/aa371608(v=vs.85).aspx)</a>. It's now suggested to explicitly enumerate the registry keys your component requires. The GME installer uses WiX for this. For example, here is the installer code for AutoLayout:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;Component Id=&quot;AutoLayout.dll&quot;&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;File Id=&quot;AutoLayout.dll&quot; Name=&quot;AutoLayout.dll&quot; KeyPath=&quot;yes&quot; Source=&quot;..\Tools\AutoLayout\$(var.Release)\AutoLayout.dll&quot;&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;TypeLib Id=&quot;E0EDD212-6AEC-41AE-8F45-GUID&quot; Description=&quot;MGA Interpreter TypeLibrary (AutoLayout)&quot; Language=&quot;0&quot; MajorVersion=&quot;1&quot; MinorVersion=&quot;0&quot;&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;Class Id=&quot;{DB312634-F076-4FB2-BCA9-GUID}&quot; Context=&quot;InprocServer32&quot; Description=&quot;MGA.Interpreter.AutoLayout&quot;&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ProgId Id=&quot;MGA.Interpreter.AutoLayout&quot; Description=&quot;MGA.Interpreter.AutoLayout&quot; /&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;/Class&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;/TypeLib&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;/File&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;RegistryKey Root='HKLM' Key='Software\GME\Components\Mga.Interpreter.AutoLayout'&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryValue Name='Description' Type='string' Value='AutoLayout'/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryValue Name='Icon' Type='string' Value=',IDI_COMPICON'/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryValue Name='Paradigm' Type='string' Value='*'/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryValue Name='Tooltip' Type='string' Value='Auto Layout PlugIn'/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryValue Name='Type' Type='integer' Value='12'/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;RegistryKey Key='Associated'&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;RegistryValue Name='HFSM' Type='string' Value=''/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;RegistryValue Name='MetaGME' Type='string' Value=''/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;RegistryValue Name='SF' Type='string' Value=''/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp;&nbsp;&nbsp; &lt;RegistryValue Name='UML' Type='string' Value=''/&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&nbsp; &lt;/RegistryKey&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;/RegistryKey&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>&lt;/Component&gt;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>('Type' is from Mga.idl's componenttype_enum, and should be 2 for AddOns and 1 for Interpreters)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Note that you should also distribute the VC2010 (or VC2010SP1) &quot;redistributable&quot; package, which includes .dlls that your .dll depends on. This is available as an .exe installer or Windows Installer Merge Module. <a href="http://www.microsoft.com/download/en/details.aspx?id=8328">http://www.microsoft.com/download/en/details.aspx?id=8328</a> . GME installs this (since it is built using VS2010), but future versions of GME may not necessarily install it.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>To be able to debug the distributed .dll, you should set Visual Studio to produce .pdb files, and you should save the .pdb, .dll, and source code.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Kevin<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> gme-users-bounces@list.isis.vanderbilt.edu [mailto:gme-users-bounces@list.isis.vanderbilt.edu] <b>On Behalf Of </b>Jae young Bang<br><b>Sent:</b> Monday, April 23, 2012 4:18 PM<br><b>To:</b> gme-users<br><b>Subject:</b> [gme-users] Question regarding distribution of an add-on<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Hello.<o:p></o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I use GME 12.3.13 with VS 2010 to develop an add-on.<o:p></o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>When I distribute an add-on I build, I used to pass over the entire code and let the users build with VS 2010. It takes too much effort (especially the use of VS 2010).<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Is there any easier way to distribute my add-on? Maybe I could hand over the DLL and somehow set it up on the other machines? ...<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Thank you very much!<o:p></o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><div><div><div><div><div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'>~Jae<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><a href="mailto:jaeyounb@USC.edu">jaeyounb@USC.edu</a><o:p></o:p></span></p></div></div></div></div></div></div></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></div></div></div></body></html>