Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows MSI installer broken #842

Closed
ineeee opened this issue Feb 14, 2015 · 9 comments
Closed

Windows MSI installer broken #842

ineeee opened this issue Feb 14, 2015 · 9 comments
Labels
windows Issues and PRs related to the Windows platform.

Comments

@ineeee
Copy link

ineeee commented Feb 14, 2015

Windows installer for io.js version 1.2.0 (iojs-v1.2.0-x86.msi) is broken. Sometimes. Four out of five times. Yay.

I tried installing 4 times and it didn't work:
ayy

BUT the 5th time, it did work: http://puu.sh/fT7wz.webm
lmao

Its confusing. I don't know what causes the error.

@mathiask88
Copy link
Contributor

Can you run the installer with msiexec /i iojs-v1.2.0-x86.msi /l*v InstallLog.txt from cmd and gist the content if the error occurred?

@piscisaureus
Copy link
Contributor

It looks like creating the hard link failed. Was node.exe present in c:\dev\iojs and running?

@brendanashworth brendanashworth added the windows Issues and PRs related to the Windows platform. label Feb 22, 2015
@ineeee
Copy link
Author

ineeee commented Mar 10, 2015

Wow did it really take me this long to reply

Running msiexec /i iojs-v1.2.0-x64.msi /L*V installation.log and generating the expected error...


Returned this massive 14 MiB error log (that I had to compress because I have bad internet): http://puu.sh/gv6Js.zip

@mathiask88
Copy link
Contributor

Better late than never! 😉

MSI (s) (58:A4) [20:02:07:510]: Executing op: ActionStart(Name=LinkNodeExeToIojsExe,,)
Action 20:02:07: LinkNodeExeToIojsExe. 
MSI (s) (58:A4) [20:02:07:510]: Executing op: CustomActionSchedule(Action=LinkNodeExeToIojsExe,ActionType=3090,Source=D:\dev\iojs\iojs.exe,Target=-e " require('fs').linkSync(process.execPath, require('path').resolve(process.execPath, '../node.exe')); ",)
CustomAction LinkNodeExeToIojsExe returned actual error code 1 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (58:A4) [20:02:08:137]: Note: 1: 1722 2: LinkNodeExeToIojsExe 3: D:\dev\iojs\iojs.exe 4: -e " require('fs').linkSync(process.execPath, require('path').resolve(process.execPath, '../node.exe')); " 
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action LinkNodeExeToIojsExe, location: D:\dev\iojs\iojs.exe, command: -e " require('fs').linkSync(process.execPath, require('path').resolve(process.execPath, '../node.exe')); " 
MSI (s) (58:A4) [20:03:28:448]: Product: io.js -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action LinkNodeExeToIojsExe, location: D:\dev\iojs\iojs.exe, command: -e " require('fs').linkSync(process.execPath, require('path').resolve(process.execPath, '../node.exe')); " 

This is the position where the error occurs and @piscisaureus was right. So can you look if node.exe is present in D:\dev\iojs while the error dialogue is displayed?

@ineeee
Copy link
Author

ineeee commented Mar 13, 2015

Why is node.exe needed? At this point you guys should just keep iojs.exe

The D:\dev\iojs folder is there with all the files but node.exe:

@mathiask88
Copy link
Contributor

node.exeis a hardlink to iojs.exe and is needed for node.js compatibility, in short that you can use the node shortcut in cmd. If the returned error code (ERROR_INVALID_FUNCTION) is right this is usually because the fs does not support hardlinks. Is D:\ a local NTFS hard drive?

@ineeee
Copy link
Author

ineeee commented Mar 15, 2015

Iojs team should look into making a node.cmd file with iojs %* and forget about it.
Yes, of course D:\ is a NTFS drive (the 5th time I ran the installer it worked, duh).

@piscisaureus
Copy link
Contributor

The problem with a .cmd files are:

  • arguments cannot be forwarded exactly
  • spawn() can't run cmd files

@Fishrock123
Copy link
Contributor

I think this is probably related to #751

Closing since the issue is stale and this won't be an issue in the converged node?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

No branches or pull requests

5 participants