# Node-red-windows-installer

**URL:** <https://discourse.nodered.org/t/node-red-windows-installer/77148>\
**Category:** Share Your Projects\
**Tags:** windows-installer\
**Created:** [1 April 2023 21:01 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148 "2023-04-01T21:01:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [1 April 2023 21:01 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/1 "2023-04-01T21:01:56Z")

</div>

Based on the discussion we had lately ...

> [@Problems Installing NodeRED](https://discourse.nodered.org/t/problems-installing-nodered/77046/21):
>
> Someone may have done something like that, but nothing that got as far as being contributed back to the project for us to document. If anyone is interested in help create a windows-installer equivalent of [GitHub - node-red/linux-installers: Node-RED install scripts for various flavours of Linux](https://github.com/node-red/linux-installers) then please do let me know.

I've taken the opportunity of a bad weather day to start into this journey:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/0/a0d81a3347503c28c3a6a371659b37a2146a973c.png)

It's not doing anything valuable so far ... but at least it looks nice.

Technically it's based on Inno Setup; the [repo is here](https://github.com/ralphwetzel/node-red-windows-installer), discussion is open.

Anyone out there having an interest in creating a nice looking side-panel icon for this project?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [1 April 2023 21:14 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/2 "2023-04-01T21:14:11Z")

</div>

@ralphwetzel

I had time to kill, so fancied a doodle 🤓

![NR](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/8/483d5b005742bb7aea7c36108a0678aa428d5297.png)

 ![Demo](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/9/692fcc20491e880ea7dd4b151056477f60070e6d.png)

Will likely need the input from the maintainers however.

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [1 April 2023 21:24 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/3 "2023-04-01T21:24:12Z")

</div>

Hi @marcus-j-davies !

> [@marcus-j-davies](#):
>
> Will likely need the input from the maintainers however.

Whatever they say - it definitely looks great!  
I'll take that - if I may - as a contribution for the dev phase.

Do you want to raise a PR ... or shall I move it into the repo?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [1 April 2023 21:25 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/4 "2023-04-01T21:25:40Z")

</div>

I'll raise a PR to add the PNG and source file - I use Affinity Photo 👍

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [1 April 2023 21:26 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/5 "2023-04-01T21:26:27Z")

</div>

> [@marcus-j-davies](#):
>
> add the PNG

Please convert it to BMP. That's the only format understood by the compiler...

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [1 April 2023 21:33 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/6 "2023-04-01T21:33:40Z")

</div>

PR Raised 👍

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [1 April 2023 22:47 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/7 "2023-04-01T22:47:14Z")

</div>

If we want to formalise this as something the project provides, the sooner we move it into the Node-RED org on GitHub the better imho. Is that something you're open to @ralphwetzel ?

In terms of the artwork, if I'm going to be picky about consistency with the project branding, it is missing the hyphen between the words and should use Roboto Slab as the font.

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [2 April 2023 06:26 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/8 "2023-04-02T06:26:11Z")

</div>

> [@knolleary](#):
>
> If we want to formalise this as something the project provides, the sooner we move it into the Node-RED org on GitHub the better imho. Is that something you're open to @ralphwetzel ?

Sure! 👍

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [2 April 2023 06:27 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/9 "2023-04-02T06:27:41Z")

</div>

Graphic updated

![Screenshot 2023-04-02 at 07.27.02](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/d/0d87a15cef52dc95c62e1e0fab2084c288e187fe.png)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [2 April 2023 09:38 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/10 "2023-04-02T09:38:59Z")

</div>

How do I test this?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [2 April 2023 10:14 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/11 "2023-04-02T10:14:28Z")

</div>

Can we assume that the text regarding node.js versions updates along with the base version which I assume is a parameter somewhere in your code? 🤔

Also, will it have the option to create an auto-start? If so, what approaches are being considered and do we need to have a discussion about that?

And lest you think I'm being picky or criticising - let me just say: BRILLIANT!

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [2 April 2023 18:43 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/12 "2023-04-02T18:43:17Z")

</div>

> [@Colin](#):
>
> How do I test this?

> [@ralphwetzel](#):
>
> It's not doing anything valuable so far ... but at least it looks nice.

Once it's doing more than looking nice, I'll call for testers...

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [2 April 2023 18:47 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/13 "2023-04-02T18:47:14Z")

</div>

> [@TotallyInformation](#):
>
> Can we assume that the text regarding node.js versions updates along with the base version which I assume is a parameter somewhere in your code? 🤔

Supported versions et al. will be read from an ini file by a preprocessor...

> [@TotallyInformation](#):
>
> Also, will it have the option to create an auto-start? If so, what approaches are being considered and do we need to have a discussion about that?

Discussion is always good; let me get to that point and then we'll see...

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [3 April 2023 21:27 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/14 "2023-04-03T21:27:45Z")

</div>

Status update:

Welcome Page  
 License Node.js  
 Node.js version selection  
 License Node-RED  
 Node-RED version selection  
 File Download  
 ...

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/3/e381e8a5136e0a110db69fe44dae6b3b35b6fbfd.png)

---

<div class="post-metadata">

**Author:** ![omrid](https://avatars.discourse-cdn.com/v4/letter/o/77aa72/32.png) [@omrid](https://discourse.nodered.org/u/omrid)\
**Post date:** [6 April 2023 09:16 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/15 "2023-04-06T09:16:35Z")

</div>

Great initiative, thanks!

The default installation of NodeJS & Node-red on Windows is personalized, i.e. uses the user's home & AppData folders.

However, when we install on a project server, we do not want to rely on any specific user account, so tweak the NPM prefix & Node-red user directory into directories within ProgramData.

Is there a way to select the installation mode (personal/shared) in the installer?

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [6 April 2023 09:42 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/16 "2023-04-06T09:42:37Z")

</div>

> [@omrid](#):
>
> tweak the NPM prefix & Node-red user directory into directories within ProgramData.
> 
> Is there a way to select the installation mode (personal/shared) in the installer?

That's a topic we definitely need to discuss.  
Changing the NPM prefix impacts - as far as I understand the situation - the whole Node.js / NPM environment on a given Windows system. I have my doubts that this should be doable by an installer of a single product - even on request of a user.

I could imagine offering this yet as an option in the very narrow case of a clean system - when the installer detects that the NPM prefix is not defined.

**@all:** Any opinions on that - or alternative options?

@omrid Do you apply additional changes - that could be automated by the installer?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [6 April 2023 11:35 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/17 "2023-04-06T11:35:20Z")

</div>

I had time to kill - as for the Node RED install itself;

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/4/74cbba143d58f145b4f9dfea89e98711ab14937c.png)

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [6 April 2023 15:27 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/18 "2023-04-06T15:27:00Z")

</div>

Your right path looks like the idea to support more than one installation of node-red on one Windows system.  
How does this fit to the [instruction in the docu](https://nodered.org/docs/getting-started/windows#2-install-node-red) to install node-red with the global flag?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [6 April 2023 16:01 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/19 "2023-04-06T16:01:50Z")

</div>

Was mainly just thinking out loud.

Here is a more detailed version - probably pushing the abilities of the script at this point 😂 - but could be a guide into the type of interaction it will offer.

i.e there can only be one global instance

 ![Screenshot 2023-04-06 at 17.01.26](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/4/e4a8fc2f3fc5965332190f17af16bfc022d0003e.png)

EDIT  
Just realised, everything I do - its now Node RED'ed 😂

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [6 April 2023 16:30 UTC](https://discourse.nodered.org/t/node-red-windows-installer/77148/20 "2023-04-06T16:30:44Z")

</div>

> [@ralphwetzel](#):
>
> **@all:** Any opinions on that - or alternative options?

The "normal" approach on Windows appears to be to select to install for "All Users" instead of a single user. This uses the all users profile and requires local or domain administrator rights.

[Next page](https://discourse.nodered.org/t/node-red-windows-installer/77148.md?page=2)
