# Launch client from another client Advice/Help

**URL:** <https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [April 8, 2020, 3:24am UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766 "2020-04-08T03:24:43Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 3:24am UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/1 "2020-04-08T03:24:43Z")

</div>

I want to launch a client from another client holding another project.  
system.util.retargeting() is not an option since that client is replaced by the "new" client and the old client gets closed/replaced.  
Maybe is possible to use retargeting without closing the current client and open as a new instance??  
Any advice?  
The idea is to create a master project that manages the others.  
Another option could be to launch the same client multiple times and from there I could use retargeting from one of a particular client.  
This is driving me crazy since it's seems easy but it's actually hard.  
Please help!!

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [April 8, 2020, 11:12am UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/2 "2020-04-08T11:12:50Z")

</div>

I’d say you would have to use system.util.execute to create a new instance.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 5:11pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/3 "2020-04-08T17:11:05Z")

</div>

This does give a clue, however there's a couple things that are not clear for me:  
I'm using V.8.0.9  
First, should I find the path where visionclientlaucher. exe, I realized that in the documentation, they refer to it as "clientlauncher.exe". Is it the same?

Second, the rest of the command should something like this `scope=C project=myproject windowmode=window`, but are those next command to perform in `system.util.execute()`  
I mean:  
`system.util.execute(["C:\ClientLauncher\clientlauncher.exe", "application=myproject"])`  
or  
`system.util.execute(["C:\ClientLauncher\clientlauncher.exe application=myproject"])`  
or  
`system.util.execute(["C:\ClientLauncher\clientlauncher.exe" application=myproject])`  
Which should work?

I had checked:

> [@System.util.execute](https://forum.inductiveautomation.com/t/system-util-execute/10056/6):
>
> Try using something like this:

But it's been applied for another purpose...

Thanks for reply Mr. @JordanCClark

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [April 8, 2020, 5:18pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/4 "2020-04-08T17:18:12Z")

</div>

> [@jespinmartin1](#):
>
> `system.util.execute([“C:\ClientLauncher\clientlauncher.exe”, “application=myproject”])`

Is the correct syntax. `clientlauncher.exe` is the 7.9 and prior version's executable; `visionclientlauncher.exe` is the 8.0 version executable.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 5:37pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/5 "2020-04-08T17:37:50Z")

</div>

Thanks MR. @paul-griffith for clarification. Let’s forget about .execute for a moment  
I just want to launch a client executing a project from cmd (windows)  
In cmd I’m running

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/6/67ade55935e1beb4395e064492d516787acd576a.png)

This doesn’t not lunch the client, this launches the Vision Client Launcher…

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/b/bcbfef2271241a373d73c418e282fefe5d446b15.png)

I mean. I want the ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/5644ff3ca35f38762d846afc69ab07d17f0e8e6d.png) to run with a project and not the ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/3/35ea33ec1ed9211dbc832cebd9af542b5cc0523f.png)  
I’ve been thinking on creating a “Desktop Shortcut” and then try to run it from the cmd. But it’s kind of redundant.

Please some help…

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [April 8, 2020, 5:52pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/6 "2020-04-08T17:52:34Z")

</div>

Try checking the `visionclientlauncher.log` in `.ignition/clientlauncher-data/`; you should see something like this; recreating that (not all of those parameters are strictly necessary) would be the way to directly launch a client, just like the launchers do themselves:  
`INFO [LaunchUtil] [2020/01/15 09:18:53]: Starting Java with the following parameters: C:\Users\pgriffith\.ignition\clientlauncher-data\..\cache\resources\runtimes\11.0.5\bin\java.exe -classpath C:\Users\pgriffith\.ignition\clientlauncher-data\launchclient.jar -Djavaws.sr.gateway.addr.0=http://docker.ia.local:51942 -Djavaws.sr.launchts=1579108733090 -Djavaws.sr.main=com.inductiveautomation.factorypmi.application.runtime.ClientLaunchHook -Djavaws.sr.platform.edition= -Xms32M -Xmx256M -Djavaws.sr.memory.init=32M -Djavaws.sr.memory.max=256M -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=false -Djavaws.sr.screen=0 -Djavaws.sr.scope=C -Djavaws.sr.project=PR7942_Docker_20191211 com.inductiveautomation.ignition.client.launch.BootstrapSwing`

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 5:58pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/7 "2020-04-08T17:58:48Z")

</div>

mmm I see… I need to check this paraments cuz I’m getting an error  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/6/6af23d6b90f948f3736a175a0c4dd8305e348165.png)

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 6:12pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/8 "2020-04-08T18:12:21Z")

</div>

Ok Mr. @paul-griffith, I successfully launched the client from cmd. Thanks!!  
Now how can I apply this inside ` system.util.execute()` in a button from another Client.  
Would be as easy to copy `C:\Users\pgriffith.ignition\clientlauncher-… inside the function?`

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 6:43pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/9 "2020-04-08T18:43:26Z")

</div>

I feel I’m so close but nothing yet.  
From cmd I can launch client, now the idea is to perform it from a button in another client

I tried `system.util.execute([“C:\windows\system32\cmd.exe”,"/C",“start”,"C:\Users\jespin\.`

But this button is not doing nothing.  
I addition I made a test on a button with:  
` system.util.execute([‘notepad.exe’,‘c:\program files\inductive automation\ignition\license.txt’])` and works perfecty!!

Is something with the call from cmd that I’m not doing it right, please some help…

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 8:46pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/11 "2020-04-08T20:46:42Z")

</div>

I have this barely working, the client is launching but never complete the manifest

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/c/caa0911be033788c08c565e56a66b7f4120567de.png)

It’s been loading for more than a minute…

I’ve seen so many option in the usage of “/” “\” “” and even with the single and double (’ “”). and I need some clarification because if use some of them I seems to be doing something and other times don’t

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 8:49pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/12 "2020-04-08T20:49:31Z")

</div>

Thanks for reply Mr. @jcoffman and advice, I’ll try it and keep you online

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 8, 2020, 9:09pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/13 "2020-04-08T21:09:53Z")

</div>

Thanks @jcoffman, @paul-griffith, @JordanCClark Now I have all pieces to make it work!

---

<div class="post-metadata">

**Author:** ![AIO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aio/32/87549_2.png) [@AIO](https://forum.inductiveautomation.com/u/AIO)\
**Post date:** [October 13, 2023, 10:42pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/14 "2023-10-13T22:42:25Z")

</div>

Hate to dig up a dead thread like this, but jcoffman's reply appears to have been removed, hoping you can help fill in the details here. I'm at the same point you were, launching from command line, but cannot seem to translate this to system.util.execute() with the information here and in the docs.

Where I'm at. The system provides no feedback, so it's tough to know where the error is here.

```auto
system.util.execute(["C:\\Users\\AIO\\.ignition\\cache\\resources\\runtimes\\11.0.16.1\\bin\\java.exe", "-classpath C:\\Users\\AIO\\.ignition\\cache\\resources\\platform\\launchclient.jar\\00000000EDEEDC49\\launchclient.jar", "-Djavaws.sr.gateway.addr.0=localhost:8088" "-Djavaws.sr.launchts=1697234442948", "-Djavaws.sr.main=com.inductiveautomation.factorypmi.application.runtime.ClientLaunchHook", "-Djavaws.sr.platform.edition=", "-Djavaws.sr.platform.plugins=", "-Xms32M", "-Xmx256M", "-Djavaws.sr.memory.init=32M", "-Djavaws.sr.memory.max=256M", "-Dsun.java2d.d3d=false", "-Dsun.java2d.noddraw=false", "-Djavaws.sr.screen=0", "-Djavaws.sr.scope=C", "-Djavaws.sr.project=Project", "com.inductiveautomation.ignition.client.launch.BootstrapSwing"])

```

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [October 14, 2023, 11:58am UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/15 "2023-10-14T11:58:15Z")

</div>

> [@AIO](#):
>
> but jcoffman's reply appears to have been removed

That does spark curiosity doesn't it? What sort of information did the post contain? Why was it necessary to remove it?

In any case, perhaps rewrite it like this to make it easier to spot typos:

```python
system.util.execute([
	"C:\\Users\\AIO\\.ignition\\cache\\resources\\runtimes\\11.0.16.1\\bin\\java.exe",
	"-classpath",
	"C:\\Users\\AIO\\.ignition\\cache\\resources\\platform\\launchclient.jar\\00000000EDEEDC49\\launchclient.jar",
	"-Djavaws.sr.gateway.addr.0=localhost:8088",
	"-Djavaws.sr.launchts=1697234442948",
	"-Djavaws.sr.main=com.inductiveautomation.factorypmi.application.runtime.ClientLaunchHook",
	"-Djavaws.sr.platform.edition=",
	"-Djavaws.sr.platform.plugins=",
	"-Xms32M",
	"-Xmx256M",
	"-Djavaws.sr.memory.init=32M",
	"-Djavaws.sr.memory.max=256M",
	"-Dsun.java2d.d3d=false",
	"-Dsun.java2d.noddraw=false",
	"-Djavaws.sr.screen=0",
	"-Djavaws.sr.scope=C",
	"-Djavaws.sr.project=Project",
	"com.inductiveautomation.ignition.client.launch.BootstrapSwing"
])

```

---

<div class="post-metadata">

**Author:** ![AIO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aio/32/87549_2.png) [@AIO](https://forum.inductiveautomation.com/u/AIO)\
**Post date:** [October 16, 2023, 5:11pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/16 "2023-10-16T17:11:27Z")

</div>

Thank you, Justin.

The formatting feels like a facepalm moment in retrospect, and I appreciate you taking the time to fix my errors while you were at it.

Cheers!

---

<div class="post-metadata">

**Author:** ![jcoffman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jcoffman/32/6429_2.png) [@jcoffman](https://forum.inductiveautomation.com/u/jcoffman)\
**Post date:** [October 18, 2023, 3:48pm UTC](https://forum.inductiveautomation.com/t/launch-client-from-another-client-advice-help/33766/17 "2023-10-18T15:48:24Z")

</div>

Huh, thats weird about the post removal, I don't recall that.

iirc its more or less what Justin posted. You can see the launch command used in the `/.ignition/clientlauncher-data/visionclientlauncher.log` file specifically and craft it from that.

That is, until the DeepLink support we add in 8.3 😉
