<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10 in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668115#M17931</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Neil, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the detailed reply -- very helpful.&amp;nbsp; I am fairly sure about what to do, but just to clarify something....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no longer a need to have that Installer Component/Class that contains Uninstall/Install Subs to register/unregister the assembly and instead I should replace those Subs with the esriRegAsm code you posted?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't mean to be redundant, just wanted to verify I am understanding correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I chose the option to modify the project file to call esriRegAsm.exe instead of using the Add from File option.&lt;BR /&gt;&lt;BR /&gt;The project I migrated used a standard Visual Studio Deployment project to create the installer.&amp;nbsp; I removed the code in the Installer class to register my classes with the ESRI component categories.&amp;nbsp; I then added code to call esriRegAsm to perform the category component registration.&amp;nbsp; This is the code I added to the OnAfterInstall event in the installer class:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnAfterInstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnAfterInstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;This is the code I added to the OnBeforeUninstall event:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnBeforeUninstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnBeforeUninstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /u /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 04:14:12 GMT</pubDate>
    <dc:creator>JamesCrandall</dc:creator>
    <dc:date>2021-12-12T04:14:12Z</dc:date>
    <item>
      <title>ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668112#M17928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, I am having diffiuclty locating an answer on this and hope someone could help.&amp;nbsp; I have several applications that I maintain/support across an organizations IT infrastructure, all are developed with .NET Framewrok 3.5 SP1 and are all ICommand/ITooblar interfaces that run in ArcGIS Desktop 9.3/9.3.1 versions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Will these need modification to be installed with ArcGIS Desktop 10?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1.&amp;nbsp; Will I need to bind these components to ArcGIS? For ex, will I need to include:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;'Insert this line before invoking any ArcObjects to bind Engine runtime.
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2.&amp;nbsp; Will my existing Setup.exe packages still function?&amp;nbsp; Do they need modification?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for any input.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jan 2011 16:35:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668112#M17928</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2011-01-03T16:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668113#M17929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've only migrated one project so far, but I followed these instructions and ran into no problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Migrating_ArcGIS_9_3_Desktop_and_Engine_custom_components_to_ArcGIS_10/0001000002m2000000/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Migrating_ArcGIS_9_3_Desktop_and_Engine_custom_components_to_ArcGIS_10/0001000002m2000000/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I chose the option to modify the project file to call esriRegAsm.exe instead of using the Add from File option.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The project I migrated used a standard Visual Studio Deployment project to create the installer.&amp;nbsp; I removed the code in the Installer class to register my classes with the ESRI component categories.&amp;nbsp; I then added code to call esriRegAsm to perform the category component registration.&amp;nbsp; This is the code I added to the OnAfterInstall event in the installer class:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnAfterInstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnAfterInstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the code I added to the OnBeforeUninstall event:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnBeforeUninstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnBeforeUninstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /u /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:14:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668113#M17929</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2021-12-12T04:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668114#M17930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Personally I prefer programs that can be installed through a simple installer and that don't require any later adjustments by the end-user in ArcMap. You will likely get more satisfied users and less demand for installation support. ESRI has created a good example on how to achieve this: &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//00010000016r000000"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//00010000016r000000&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The process is a bit time-consuming, especially the first time you give this a try, but most of the code can easily be reused in other projects.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 08:28:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668114#M17930</guid>
      <dc:creator>StephenK</dc:creator>
      <dc:date>2011-01-04T08:28:11Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668115#M17931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Neil, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the detailed reply -- very helpful.&amp;nbsp; I am fairly sure about what to do, but just to clarify something....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no longer a need to have that Installer Component/Class that contains Uninstall/Install Subs to register/unregister the assembly and instead I should replace those Subs with the esriRegAsm code you posted?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't mean to be redundant, just wanted to verify I am understanding correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I chose the option to modify the project file to call esriRegAsm.exe instead of using the Add from File option.&lt;BR /&gt;&lt;BR /&gt;The project I migrated used a standard Visual Studio Deployment project to create the installer.&amp;nbsp; I removed the code in the Installer class to register my classes with the ESRI component categories.&amp;nbsp; I then added code to call esriRegAsm to perform the category component registration.&amp;nbsp; This is the code I added to the OnAfterInstall event in the installer class:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnAfterInstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnAfterInstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;This is the code I added to the OnBeforeUninstall event:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected override void OnBeforeUninstall(IDictionary savedState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnBeforeUninstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string regAsmPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\\bin\\ESRIRegAsm.exe");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string args = "\"" + appPath + "\" /p:Desktop /u /s";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo);
}&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:14:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668115#M17931</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T04:14:12Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668116#M17932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;That is correct, the old Install/Uninstall code is no longer needed.&amp;nbsp; I commented out that code and added the code I posted earlier.&amp;nbsp; I used the same Installer class so that I wouldn't have to add new Custom Actions for a new Installer class.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 20:08:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668116#M17932</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-01-04T20:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668117#M17933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;That is correct, the old Install/Uninstall code is no longer needed.&amp;nbsp; I commented out that code and added the code I posted earlier.&amp;nbsp; I used the same Installer class so that I wouldn't have to add new Custom Actions for a new Installer class.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Perfect!&amp;nbsp; I really appreciate your help on this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Take Care,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;James&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 22:04:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668117#M17933</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2011-01-04T22:04:47Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668118#M17934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;That is correct, the old Install/Uninstall code is no longer needed.&amp;nbsp; I commented out that code and added the code I posted earlier.&amp;nbsp; I used the same Installer class so that I wouldn't have to add new Custom Actions for a new Installer class.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Neil,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just finally had an opportunity to get going on this and have re-built and tested my .NET assembly on the dev workstation that has ArcGIS10 installed -- everything is working great!&amp;nbsp; So, now I am on to creating the Setup.exe and just had a quick observation/concern....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After adding the original Setup.exe project the solution (.sln), I noticed 2 new things in the Detected Dependencies list:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. ESRI.ArcGIS.Search.dll is new and not excluded.&amp;nbsp; Should this be excluded like all of the others (SystemUI, Editor, Geometery, etc)???&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Should I just start with a brand new Setup assembly?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also: the code you posted is C#, correct?&amp;nbsp; Is there a VB.NET version?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for your help on this!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Take Care,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 12:53:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668118#M17934</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2011-01-12T12:53:19Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668119#M17935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes, exclude all of the ESRI references.&amp;nbsp; The code I posted is in C# and I don't have a VB.NET version.&amp;nbsp; This is an untested conversion of the first routine:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myBase.OnAfterInstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim regAsmPath As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\bin\ESRIRegAsm.exe")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim appPath As String = System.Reflection.Assembly.GetExecutingAssembly().Location
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim args As String = """" &amp;amp; appPath &amp;amp; """ /p:Desktop /s"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim startInfo As System.Diagnostics.ProcessStartInfo = new System.Diagnostics.ProcessStartInfo()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:14:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668119#M17935</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2021-12-12T04:14:14Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668120#M17936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Yes, exclude all of the ESRI references.&amp;nbsp; The code I posted is in C# and I don't have a VB.NET version.&amp;nbsp; This is an untested conversion of the first routine:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myBase.OnAfterInstall(savedState);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim regAsmPath As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles), "ArcGIS\bin\ESRIRegAsm.exe")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim appPath As String = System.Reflection.Assembly.GetExecutingAssembly().Location
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim args As String = """" &amp;amp; appPath &amp;amp; """ /p:Desktop /s"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim startInfo As System.Diagnostics.ProcessStartInfo = new System.Diagnostics.ProcessStartInfo()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.FileName = regAsmPath
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startInfo.Arguments = args
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Process.Start(startInfo)
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Well, I was a bit impatient and attempted to build the Setup package --- I found this,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_deploy_a_custom_component_using_a_setup_project/00010000016r000000/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_deploy_a_custom_component_using_a_setup_project/00010000016r000000/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Which says to add an entirely NEW assembly/project soley for the purpose of adding the Installer Class file (instead of just having it inside of the target assembly that I want to register/install) -- the code they suggest is about midway down that page:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Imports System.ComponentModel
Imports System.Configuration.Install

Public Class Installer1
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'This call is required by the Component Designer.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add initialization code after the call to InitializeComponent.
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.Install(stateSaver)
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Register the custom component.
&amp;nbsp;&amp;nbsp;&amp;nbsp; '-----------------------------
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'The default location of the ESRIRegAsm utility.
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Note how the whole string is embedded in quotes because of the spaces in the path.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cmd1 As String = """" + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + "\ArcGIS\bin\ESRIRegAsm.exe" + """"
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Obtain the input argument (via the CustomActionData Property) in the setup project.
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'An example CustomActionData property that is passed through might be something like:
&amp;nbsp;&amp;nbsp;&amp;nbsp; '/arg1="[ProgramFilesFolder]\[ProductName]\bin\ArcMapClassLibrary_Implements.dll",
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'which translates to the following on a default install:
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'C:\Program Files\MyGISApp\bin\ArcMapClassLibrary_Implements.dll.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim part1 As String = Me.Context.Parameters.Item("arg1")
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add the appropriate command line switches when invoking the ESRIRegAsm utility.
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'In this case: /p:Desktop = means the ArcGIS Desktop product, /s = means a silent install.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim part2 As String = " /p:Desktop /s"
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'It is important to embed the part1 in quotes in case there are any spaces in the path.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cmd2 As String = """" + part1 + """" + part2
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Call the routing that will execute the ESRIRegAsm utility.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim exitCode As Integer = ExecuteCommand(cmd1, cmd2, 10000)
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
End Sub

Public Overrides Sub Uninstall(ByVal savedState As System.Collections.IDictionary)
MyBase.Uninstall(savedState)

'Unregister the custom component.
'---------------------------------

'The default location of the ESRIRegAsm utility.
'Note how the whole string is embedded in quotes because of the spaces in the path.
Dim cmd1 As String = """" + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + "\ArcGIS\bin\ESRIRegAsm.exe" + """"

'Obtain the input argument (via the CustomActionData Property) in the setup project.
'An example CustomActionData property that is passed through might be something like:
'/arg1="[ProgramFilesFolder]\[ProductName]\bin\ArcMapClassLibrary_Implements.dll",
'which translates to the following on a default install:
'C:\Program Files\MyGISApp\bin\ArcMapClassLibrary_Implements.dll.
Dim part1 As String = Me.Context.Parameters.Item("arg1")

'Add the appropriate command line switches when invoking the ESRIRegAsm utility.
'In this case: /p:Desktop = means the ArcGIS Desktop product, /u = means unregister the Custom Component, /s = means a silent install.
Dim part2 As String = " /p:Desktop /u /s"

'It is important to embed the part1 in quotes in case there are any spaces in the path.
Dim cmd2 As String = """" + part1 + """" + part2

'Call the routing that will execute the ESRIRegAsm utility.
Dim exitCode As Integer = ExecuteCommand(cmd1, cmd2, 10000)

End Sub

Public Shared Function ExecuteCommand(ByVal Command1 As String, ByVal Command2 As String, ByVal Timeout As Integer) As Integer

'Set up a ProcessStartInfo using your path to the executable (Command1) and the command line arguments (Command2).
Dim ProcessInfo As ProcessStartInfo = New ProcessStartInfo(Command1, Command2)
ProcessInfo.CreateNoWindow = True
ProcessInfo.UseShellExecute = False

'Invoke the process.
Dim Process As Process = Process.Start(ProcessInfo)
Process.WaitForExit(Timeout)

'Finish.
Dim ExitCode As Integer = Process.ExitCode
Process.Close()
Return ExitCode
End Function

End Class&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, I didn't see how this related to the code you provided.&amp;nbsp; Well, actually, I didn't put much effort into attempting to modify it because I thought this would actually perform the register for me.&amp;nbsp; But it doesn't do as expected --- I ran the Setup.exe on a workstation and everything installed just fine!&amp;nbsp; BUT!&amp;nbsp; It did not register the .dll(s) with ArcGIS/Map -- and I had to select the "add from file" command from the Customize menu.&amp;nbsp; And this actually did add the new toolbar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway -- Thanks for your help and I'll attempt to alter the Installer class with the translated VB.NET code you've provided.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!!!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EDIT: I think I will re-try with the entirely different Assembly that contains the new Installer class.&amp;nbsp; I was a bit confused on whether or not I could just use the existing one in my target assembly and just replace/update the code in the Installer class file.&amp;nbsp; Probably something really simple was left out.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:14:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668120#M17936</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T04:14:17Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668121#M17937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The solution in that link is pretty much the same thing as the code I posted except they're putting the installer class in its own project.&amp;nbsp; They then add new custom actions to the installer project to call this installer class.&amp;nbsp; I used the same installer class that I had been using just so that I wouldn't have to remove the old custom actions and add new ones (not that it would take any real effort to do so).&amp;nbsp; The big difference between their solution and mine is how the installer class get the path to your assembly.&amp;nbsp; In my code, I'm using the Reflection namespace to get the needed path.&amp;nbsp; It's easy and it works.&amp;nbsp; Their solution is getting the path through a property you have to set inside your installer project.&amp;nbsp; This is what they're doing in the walkthrough when they are setting the CustomActionData property in the custom action properties dialog.&amp;nbsp; If you use this solution, you'll have to change this so that it uses the location of the assembly you want to register.&amp;nbsp; I haven't tried it but you'll probably need to change the value to something like this:&amp;nbsp; /arg1="[TARGETDIR]\yourAssemblyName.dll".&amp;nbsp; This is assuming you're installing the assembly directly to the target directory.&amp;nbsp; Othewise you'll also have to append whatever subdirectory path you're installing to before the assembly filename.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 16:23:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668121#M17937</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-01-12T16:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668122#M17938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;The solution in that link is pretty much the same thing as the code I posted except they're putting the installer class in its own project.&amp;nbsp; They then add new custom actions to the installer project to call this installer class.&amp;nbsp; I used the same installer class that I had been using just so that I wouldn't have to remove the old custom actions and add new ones (not that it would take any real effort to do so).&amp;nbsp; The big difference between their solution and mine is how the installer class get the path to your assembly.&amp;nbsp; In my code, I'm using the Reflection namespace to get the needed path.&amp;nbsp; It's easy and it works.&amp;nbsp; Their solution is getting the path through a property you have to set inside your installer project.&amp;nbsp; This is what they're doing in the walkthrough when they are setting the CustomActionData property in the custom action properties dialog.&amp;nbsp; If you use this solution, you'll have to change this so that it uses the location of the assembly you want to register.&amp;nbsp; I haven't tried it but you'll probably need to change the value to something like this:&amp;nbsp; /arg1="[TARGETDIR]\yourAssemblyName.dll".&amp;nbsp; This is assuming you're installing the assembly directly to the target directory.&amp;nbsp; Othewise you'll also have to append whatever subdirectory path you're installing to before the assembly filename.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd rather just use your approach -- I am all about simplicity.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for your comments, I appreciate it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;james&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 17:30:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668122#M17938</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2011-01-12T17:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668123#M17939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Can you guys give some help on this.&amp;nbsp; I'm using the sample that Neil provided and it will register and unregister if I just do a install and then unistall right after it.&amp;nbsp; If I install then open arcmap and test the tools, then uninstall the toolbar, the dll gets removed before the unregister happens.&amp;nbsp; Have either of you experienced this?&amp;nbsp; I have the un registration in the before uninstall sub.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Feb 2011 13:52:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668123#M17939</guid>
      <dc:creator>PhilBlondin</dc:creator>
      <dc:date>2011-02-10T13:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: ArcObjects in ArcGIS Desktop 9.3.1 and 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668124#M17940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Nevermind, thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Feb 2011 15:15:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcobjects-in-arcgis-desktop-9-3-1-and-10/m-p/668124#M17940</guid>
      <dc:creator>PhilBlondin</dc:creator>
      <dc:date>2011-02-10T15:15:09Z</dc:date>
    </item>
  </channel>
</rss>

