Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Installation failed: node-v0.10.13-x64.msi #5849

Closed
Spetnik opened this issue Jul 14, 2013 · 21 comments
Closed

Installation failed: node-v0.10.13-x64.msi #5849

Spetnik opened this issue Jul 14, 2013 · 21 comments
Assignees
Milestone

Comments

@Spetnik
Copy link

Spetnik commented Jul 14, 2013

When installign node-v0.10.13-x64.msi on my Windows 7 64bit machine, it fails with the message "node.js setup wizard ended prematurely". This is the install log: http://pastebin.com/NYT18xkA

Any help would be greatly appreciated.

Thanks
Aaron

@Mithgol
Copy link

Mithgol commented Jul 15, 2013

You could try installing manually.

@tjfontaine
Copy link

@Spetnik are you still getting this with v0.10.15 installer? what more information can you provide about your environment, specifically how you are installing (as an admin user or with run as or whatever)

@Spetnik
Copy link
Author

Spetnik commented Aug 19, 2013

I ended up just installing manually and have not yet had time to try the newer installer. I am an admin on a Win 7 Pro 64 bit machine.

@gwa
Copy link

gwa commented Oct 17, 2013

Getting the same message on Windows 7 64Bit with v0.10.20

@JimF42
Copy link

JimF42 commented Jan 6, 2014

I think I may have found a reason for this error (at least in my case) and a possible workaround. (also posted on StackOverflow http://stackoverflow.com/questions/12472079/node-js-setup-wizard-ended-prematurely/20958355#20958355)

I got a similar message from the installer and found that I could go to command prompt and run the MSI with a command line option to make it create a log file (like node-v0.10.24-x64.msi /lxv C:\Logs\Nodejs.log), where you can choose what the log is called and where it goes.

In my case, we are running in an Active Directory domain environment and some of our folders that are normally local are redirected to a network share so they are always there no matter what computer we log into. Mostly for the benefit of our "My Documents" folder.

When looking through the log I found the actual error that I was getting:

  • WixCreateInternetShortcuts: Error 0x80070005: failed to save shortcut '\ad.local\system\users[myAcctName]\Start Menu\Programs\Node.js\Node.js website.url'
  • WixCreateInternetShortcuts: Error 0x80070005: failed to create Internet shortcut
  • CustomAction WixCreateInternetShortcuts returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox).

Resolution (for me)

Oddly enough, just running an admin escalated command prompt first, and then running the MSI lets it install correctly.

I think the difference is that when you double-click on an MSI and it escalates, it runs as TrustedInstaller and while that account has access to everything on my box, it does not have network access. When I run an escalated command prompt, it is running as me, but already escalated (the MSI never needs to ask for escalation), so it works.

@jasnell
Copy link
Member

jasnell commented May 26, 2015

Appears to no longer be an issue. Can reopen if new information is presented.

@jasnell jasnell closed this as completed May 26, 2015
@JimF42
Copy link

JimF42 commented May 27, 2015

I just downloaded node-v0.12.4-x64.msi and can confirm that this is indeed still an issue, albeit a slight different error message is presented, but it is still the same problem that I posted above on 1/6/2014.

The messages now are:

  • MSI (s) (D4:68) [16:36:54:599]: Executing op: ActionStart(Name=CreateFolders,Description=Creating folders,Template=Folder: [1])
  • MSI (s) (D4:68) [16:36:54:599]: Executing op: FolderCreate(Folder=\ad.local\system\users[myAcctName]\Start Menu\Programs\Node.js,Foreign=0,SecurityDescriptor=BinaryData,)
  • Info 1926.Could not set file security for file '\ad.local\system\users[myAcctName]\Start Menu\Programs\Node.js'. Error: 0. Verify that you have sufficient privileges to modify the security permissions for this file.
  • MSI (s) (D4:68) [16:36:54:654]: Error in rollback skipped. Return: 3

If you like, I can get you the entire log file. Also, due to the nature of the error (at least in my case) I understand that this is not easily recreated by most developers as you need an environment where your user documents (normally located at C:\Users[myAcctName] is relocated to a network server. See https://technet.microsoft.com/en-us/library/cc732275.aspx for details.

I do not know if I am allowed to reopen this issue myself, so if I can't, then the owner may need to.

@jasnell
Copy link
Member

jasnell commented May 27, 2015

hmm... @orangemocha ... thoughts?

@jasnell jasnell reopened this May 27, 2015
@JimF42
Copy link

JimF42 commented May 27, 2015

Hey @jasnell, @orangemocha, I think I have a clue. I looked at the file properties of your msi to see if I could determine what "brand" it was (appears to be Microsoft's installer toolkit) to see if I could search for the issue via the installer docs.

I didn't get quite that far since I found this forum post that probably gives the correct answer regardless of which installer you are using.

In short, some installers give the option of asking the user if they want to install for "Just for me" (not escalated) or for "Everyone" (definitely escalated). If you are installing for "Everyone", wouldn't it make sense to put the shortcut for the Start Menu under the "All Users" Start Menu instead of the current user's? The All Users Start Menu would never be redirected by Folder Redirection, only the logged in user gets redirected.

If you really want to install to the current user's Start Menu, the accepted answer points to another web page which may give you a clue as to how that is done. Since I don't use the Windows Installer, so I will have to leave the details of how either way that is actually done to you folks...

If you tweak the install package, feel free to post a comment back on the forum of where I can find a new MSI and I will be happy to try it out for you.

@orangemocha
Copy link
Contributor

@JimF42 , thanks for the detailed report.

I think the difference is that when you double-click on an MSI and it escalates, it runs as TrustedInstaller and while that account has access to everything on my box, it does not have network access. When I run an escalated command prompt, it is running as me, but already escalated (the MSI never needs to ask for escalation), so it works.

This sounds like a plausible explanation. I will try to reproduce it and do a bit of research to determine the best practice in this case.

In the meantime, can you please share the entire log file?

@orangemocha orangemocha self-assigned this May 27, 2015
@JimF42
Copy link

JimF42 commented May 27, 2015

@orangemocha, How would I get you the log file? The file is +11MB and I can't seem to attach a file to this post in github.

As far as determining the best practice, that sounds great, but keep in mind even for users where the installation does not error out, I still think (in hindsight) the installation is not correct. You are installing the software for "Everyone", but only installing the start menu item "Just for me" (the current user). I bet if you log on to your own computer as a different user you will find that there is no start menu item for jsnode. Mind you, I say all of this without testing it myself... 😏

@orangemocha
Copy link
Contributor

@JimF42 can you upload the log file to a cloud storage service (eg DropBox, OneDrive, etc) and post the link here?

@JimF42
Copy link

JimF42 commented May 27, 2015

@orangemocha you can find the log files at Dropbox. As an added bonus I also sent you the log file from the failed 10.24 install from January. It may not be of any interest or use to you--do whatever you wish with that one...

Each one is designated with the program version in the file name.

@misterdjules misterdjules added this to the 0.12.5 milestone Jun 11, 2015
@orangemocha orangemocha added P-1 and removed P-2 labels Jun 11, 2015
@misterdjules misterdjules modified the milestones: 0.12.5, 0.12.6 Jun 22, 2015
@misterdjules misterdjules modified the milestones: 0.12.6, 0.12.7 Jul 6, 2015
@misterdjules misterdjules modified the milestones: 0.12.7, 0.12.8 Jul 10, 2015
joaocgreis added a commit that referenced this issue Jul 22, 2015
The MSI install scope was set to the WiX default, which is per-user.
However, with UAC, it could not be installed by a standard user because
InstallPrivileges is elevated by default, hence the install scope
should be set to per-machine. Furthermore, the default install path is
a per-machine location and setting the system path requires
administrator privileges.

By changing the InstallScope to perMachine, Start Menu shortcuts are
placed in ProgramData and not the installing user's AppData folder,
making the shortcuts available to other users. This also fixes the
installation when AppData is a network folder.

The custom action is necessary to allow upgrades. Since a per-machine
MSI cannot upgrade an application installed per-user, the custom action
checks if there is going to be an upgrade to a previous version
installed per-user and sets the installation as per-user to allow
upgrading. Hence, the advantages of installing per-machine will only
apply in fresh installations.

Fixes #5849
Fixes #7629

PR-URL: #25640
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
@joaocgreis
Copy link
Member

Fixed by 8e80528. Thank you!

@JimF42
Copy link

JimF42 commented Jul 22, 2015

Would you like me to retest the install in my environment? If so, let me know where I can get the MSI?

@orangemocha
Copy link
Contributor

@JimF42 if you want to test an unsigned version of the MSI, here it is: link removed

You'll need to uninstall any prior installation of node, because the fix only works on fresh installs.

@JimF42
Copy link

JimF42 commented Jul 22, 2015

Yes, I can confirm that this package installs just fine with no special intervention in my environment.

Thanks!

@orangemocha
Copy link
Contributor

Great to know, thank you @JimF42 !

Removing the link...

@orangemocha
Copy link
Contributor

The fix will be included in the 0.12.8 release.

joaocgreis added a commit to JaneaSystems/node that referenced this issue Aug 28, 2015
This is an adaptation of 8e80528.

Original commit message:

  The MSI install scope was set to the WiX default, which is per-user.
  However, with UAC, it could not be installed by a standard user
  because InstallPrivileges is elevated by default, hence the install
  scope should be set to per-machine. Furthermore, the default install
  path is a per-machine location and setting the system path requires
  administrator privileges.

  By changing the InstallScope to perMachine, Start Menu shortcuts are
  placed in ProgramData and not the installing user's AppData folder,
  making the shortcuts available to other users. This also fixes the
  installation when AppData is a network folder.

  The custom action is necessary to allow upgrades. Since a per-machine
  MSI cannot upgrade an application installed per-user, the custom
  action checks if there is going to be an upgrade to a previous
  version installed per-user and sets the installation as per-user to
  allow upgrading. Hence, the advantages of installing per-machine will
  only apply in fresh installations.

  Fixes nodejs/node-v0.x-archive#5849
  Fixes nodejs/node-v0.x-archive#7629

  PR-URL: nodejs/node-v0.x-archive#25640
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
  Reviewed-By: Bert Belder <bertbelder@gmail.com>

The original commit was adapted to search all upgrade codes listed in
the upgrade table, as the current installer tries to upgrade from two
different upgrade codes.

PR-URL: nodejs#2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
rvagg pushed a commit to rvagg/io.js that referenced this issue Aug 29, 2015
This is an adaptation of 8e80528.

Original commit message:

  The MSI install scope was set to the WiX default, which is per-user.
  However, with UAC, it could not be installed by a standard user
  because InstallPrivileges is elevated by default, hence the install
  scope should be set to per-machine. Furthermore, the default install
  path is a per-machine location and setting the system path requires
  administrator privileges.

  By changing the InstallScope to perMachine, Start Menu shortcuts are
  placed in ProgramData and not the installing user's AppData folder,
  making the shortcuts available to other users. This also fixes the
  installation when AppData is a network folder.

  The custom action is necessary to allow upgrades. Since a per-machine
  MSI cannot upgrade an application installed per-user, the custom
  action checks if there is going to be an upgrade to a previous
  version installed per-user and sets the installation as per-user to
  allow upgrading. Hence, the advantages of installing per-machine will
  only apply in fresh installations.

  Fixes nodejs/node-v0.x-archive#5849
  Fixes nodejs/node-v0.x-archive#7629

  PR-URL: nodejs/node-v0.x-archive#25640
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
  Reviewed-By: Bert Belder <bertbelder@gmail.com>

The original commit was adapted to search all upgrade codes listed in
the upgrade table, as the current installer tries to upgrade from two
different upgrade codes.

PR-URL: nodejs#2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
@hnhegde
Copy link

hnhegde commented Jun 27, 2016

Hello,
I see this issue is closed. But am trying to install nodejs on Windows 10 64 bit. Fails with 1603. Please see message extract below. Complete log file attached. Appreciate solutions. Tried most of the ones already mentioned above. None worked.

nodejs-install-admin_log.txt

`MSI (s) (50:A4) [19:34:10:839]: Running installation inside multi-package transaction D:\Downloads\node-v4.4.6-x64.msi
MSI (s) (50:A4) [19:34:10:839]: Grabbed execution mutex.
MSI (s) (50:A8) [19:34:10:843]: MainEngineThread is returning 1603
MSI (s) (50:A4) [19:34:10:850]: User policy value 'DisableRollback' is 0
MSI (s) (50:A4) [19:34:10:850]: Machine policy value 'DisableRollback' is 0
MSI (s) (50:A4) [19:34:10:850]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (50:A4) [19:34:10:850]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (50:A4) [19:34:10:852]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (50:A4) [19:34:10:852]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (20:D0) [19:34:10:856]: Back from server. Return value: 1603
MSI (c) (20:D0) [19:34:10:856]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (20:D0) [19:34:10:856]: PROPERTY CHANGE: Deleting SECONDSEQUENCE property. Its current value is '1'.
Action ended 19:34:10: ExecuteAction. Return value 3.
MSI (c) (20:D0) [19:34:10:857]: Doing action: FatalError
MSI (c) (20:D0) [19:34:10:857]: Note: 1: 2205 2: 3: ActionText
Action start 19:34:10: FatalError.
Action ended 19:34:11: FatalError. Return value 2.
Action ended 19:34:11: INSTALL. Return value 3.
MSI (c) (20:D0) [19:34:11:842]: Destroying RemoteAPI object.
MSI (c) (20:58) [19:34:11:842]: Custom Action Manager thread ending.
=== Logging stopped: 27-Jun-16 19:34:11 ===
MSI (c) (20:D0) [19:34:11:849]: Note: 1: 1708
MSI (c) (20:D0) [19:34:11:849]: Product: Node.js -- Installation failed.

MSI (c) (20:D0) [19:34:11:853]: Windows Installer installed the product. Product Name: Node.js. Product Version: 4.4.6. Product Language: 1033. Manufacturer: Node.js Foundation. Installation success or error status: 1603.

MSI (c) (20:D0) [19:34:11:857]: Grabbed execution mutex.
MSI (c) (20:D0) [19:34:11:857]: Cleaning up uninstalled install packages, if any exist
MSI (c) (20:D0) [19:34:11:858]: MainEngineThread is returning 1603
=== Verbose logging stopped: 27-Jun-16 19:34:11 ===
`

@MylesBorins
Copy link

@hnhegde can you please open a new issue over at https://github.com/nodejs/node/issues

This issue tracker is deprecated

jBarz pushed a commit to ibmruntimes/node that referenced this issue Nov 4, 2016
The MSI install scope was set to the WiX default, which is per-user.
However, with UAC, it could not be installed by a standard user because
InstallPrivileges is elevated by default, hence the install scope
should be set to per-machine. Furthermore, the default install path is
a per-machine location and setting the system path requires
administrator privileges.

By changing the InstallScope to perMachine, Start Menu shortcuts are
placed in ProgramData and not the installing user's AppData folder,
making the shortcuts available to other users. This also fixes the
installation when AppData is a network folder.

The custom action is necessary to allow upgrades. Since a per-machine
MSI cannot upgrade an application installed per-user, the custom action
checks if there is going to be an upgrade to a previous version
installed per-user and sets the installation as per-user to allow
upgrading. Hence, the advantages of installing per-machine will only
apply in fresh installations.

Fixes nodejs#5849
Fixes nodejs#7629

PR-URL: nodejs#25640
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants