# How to open windows application from ignition?

**URL:** <https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696>\
**Category:** Ignition\
**Created:** [October 17, 2017, 7:48pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696 "2017-10-17T19:48:39Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![guillermo\_m](https://avatars.discourse-cdn.com/v4/letter/g/90db22/32.png) [@guillermo\_m](https://forum.inductiveautomation.com/u/guillermo_m)\
**Post date:** [October 17, 2017, 7:48pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/1 "2017-10-17T19:48:39Z")

</div>

Good afternoon,

What would be the script if I wanted to open a windows program (for example skipe).

I have to link this action to a button on the scada.

Thank you

---

<div class="post-metadata">

**Author:** ![nmudge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nmudge/32/3394_2.png) [@nmudge](https://forum.inductiveautomation.com/u/nmudge)\
**Post date:** [October 17, 2017, 7:50pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/2 "2017-10-17T19:50:53Z")

</div>

Take a look at [system.util.execute](https://docs.inductiveautomation.com/display/DOC79/system.util.execute).

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [October 18, 2017, 5:13pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/3 "2017-10-18T17:13:15Z")

</div>

You need to be careful as system.util.execute will launch new instances of the application each time.  
We found this after having over 100 calculators open in the background 😮😅

So we now issue a taskkill before the launch.

> import time  
> system.util.execute(["taskkill","/f","/im","calc.exe"])  
> time.sleep(.5)  
> system.util.execute(["calc.exe"])

---

<div class="post-metadata">

**Author:** ![janallanlim](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@janallanlim](https://forum.inductiveautomation.com/u/janallanlim)\
**Post date:** [November 1, 2017, 9:02am UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/4 "2017-11-01T09:02:10Z")

</div>

What if it is not a default windows app like for example -

C:\Program Files\uvnc bvba\UltraVNC.

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [November 1, 2017, 11:37am UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/5 "2017-11-01T11:37:37Z")

</div>

Just pass it the full path to the exe

---

<div class="post-metadata">

**Author:** ![samngeru](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/samngeru/32/6007_2.png) [@samngeru](https://forum.inductiveautomation.com/u/samngeru)\
**Post date:** [November 1, 2017, 9:25pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/6 "2017-11-01T21:25:14Z")

</div>

This should open each file or application exactly how the OS would.

```auto
import subprocess

subprocess.Popen(["C:\\Shared Gateway\\IgnitionTagHistory.pdf"],shell=True)
subprocess.Popen(["C:\\Program Files (x86)\\Google\\\Chrome\\Application\\chrome.exe"],shell=True)

```

---

<div class="post-metadata">

**Author:** ![guillermo\_m](https://avatars.discourse-cdn.com/v4/letter/g/90db22/32.png) [@guillermo\_m](https://forum.inductiveautomation.com/u/guillermo_m)\
**Post date:** [November 9, 2017, 8:02pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/7 "2017-11-09T20:02:56Z")

</div>

> [@janallanlim](#):
>
> What if it is not a default windows app like for example -
> 
> C:\Program Files\uvnc bvba\UltraVNC.

thanks for your answer

---

<div class="post-metadata">

**Author:** ![janallanlim](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@janallanlim](https://forum.inductiveautomation.com/u/janallanlim)\
**Post date:** [November 9, 2017, 11:24pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/8 "2017-11-09T23:24:05Z")

</div>

I didn’t notice the double backslash at first. That should have been in the manual.

---

<div class="post-metadata">

**Author:** ![cbanzet](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cbanzet/32/6207_2.png) [@cbanzet](https://forum.inductiveautomation.com/u/cbanzet)\
**Post date:** [January 29, 2020, 5:36pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/9 "2020-01-29T17:36:59Z")

</div>

Thank you samngeru. This is exactly what I needed.

---

<div class="post-metadata">

**Author:** ![samngeru](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/samngeru/32/6007_2.png) [@samngeru](https://forum.inductiveautomation.com/u/samngeru)\
**Post date:** [January 29, 2020, 7:07pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/10 "2020-01-29T19:07:55Z")

</div>

No problem.

---

<div class="post-metadata">

**Author:** ![HAKEEM\_DAYARAJU](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hakeem_dayaraju/32/76842_2.png) [@HAKEEM\_DAYARAJU](https://forum.inductiveautomation.com/u/HAKEEM_DAYARAJU)\
**Post date:** [February 21, 2025, 7:59am UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/11 "2025-02-21T07:59:35Z")

</div>

This works fine for vision, how to open this from perspective.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [February 21, 2025, 9:36am UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/12 "2025-02-21T09:36:49Z")

</div>

You can't.  
Allowing a browser to launch an OS application would be a major security flaw and therefore the functionality doesn't exist.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 21, 2025, 1:12pm UTC](https://forum.inductiveautomation.com/t/how-to-open-windows-application-from-ignition/15696/13 "2025-02-21T13:12:05Z")

</div>

The closest you can get is to have an application _ **pre- installed** _ on the client machine that registers a custom URL protocol handler that opens that application. Similar to the way `mailto:someEmailAddress?subject=someSubject` launches Thunderbird on my workstation and starts creating a new message with that information.

(This is coming in v8.3 to launch Vision, Perspective Workstation, and Designers.)
