Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

node-v0.8.9-x64.msi fails to install on windows hyper-v server 2012 #4021

Closed
jdef opened this Issue · 17 comments

7 participants

@jdef

This variant of Windows is very, very similar to a core install in that there is no typical windows gui (so, no Internet Explorer). Hence, the IUniformResourceLocatorW interface does not exist.

The msi logs from the failed install show the following:

Action 2:32:50: WixRollbackInternetShortcuts
Action 2:32:50: WixCreateInternetShortcuts
WixCreateInternetShortcuts: Creating IUniformResourceLocatorW shortcut 'C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Node.js (x64)\Node.js website.url' target 'http://nodejs.org/'
WixCreateInternetShortcuts: Error 0x80040154: failed to create an instance of IUniformResourceLocatorW
WixCreateInternetShortcuts: Error 0x80040154: failed to create internet shortcut
CustomAction WixCreateInternetShortcuts returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 2:32:50: InstallFinalize. Return value 3.
Action 2:32:50: Rollback. Rolling back action:
...

@bnoordhuis

It seems it's because we use <util:InternetShortcut /> in our product.wxs file. The problem is that it doesn't support a ContinueOnError element like some actions do.

@piscisaureus I had a look at the wix source code and it looks like adding ContinueOnError is pretty straightforward. Might be a nice side project.

@skotchio

I have the same issue on my Windows 7 x64 machine. Is it possible to install a nodejs msi without shortcut?

@domus71

Same situation on Win7 x64. Is there a solution?
Is it possible to install it with an option DISABLESHORTCUTS=1 ?

@bnoordhuis

Is there a solution?

Yes. Someone needs to fix wix.

@sblom
Owner

I'll work with WiX to get this fixed.

@jchoover

I don't have a core OS to test on, so this is a blind fix but should be a good starting point.

http://wix.codeplex.com/SourceControl/network/forks/jchoover/WixStdBA

The change to fix this issue is in rev 120, the other commits are for action data messaging which I don't think they will make the 3.7 release.

As for Win 7 x64, the install works fine for me. If you could generate a reproducible test case or provide your install logs I could take a stab at it.

@adunkman

Observed this same issue on Windows Server 2008 R2; important bits:

Action start 10:39:36: InstallFinalize.
WixCreateInternetShortcuts:  Creating IUniformResourceLocatorW shortcut 'c:\Windows\system32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Node.js (x64)\Node.js website.url' target 'http://nodejs.org'
WixCreateInternetShortcuts:  Error 0x80004005: failed to save shortcut 'c:\Windows\system32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Node.js (x64)\Node.js website.url'
WixCreateInternetShortcuts:  Error 0x80004005: failed to create Internet shortcut
CustomAction WixCreateInternetShortcuts returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)

The issue happens when the MSI is run as Local System. The MSI installs cleanly when run as Administrator.

@jchoover

That is a different issue than my fix was targeting. In your case, the shell classes are registered and it's the saving of the shortcut that fails. I am confused why you would be running a MSI as Local System, it could be some over zealous antivirus software blocking the creation of the shortcut. (If it was a permissions issue I would expect a more meaningful message than E_FAIL).

Error 0x80004005 = E_FAIL Unspecified failure

One thing I did notice, when I ran a command prompt as local system (psexec \127.0.0.1 -i 0 -s cmd) the Start Menu folder doesn't exist (on Win 7 Pro x64).

@adunkman

The MSI is being installed by puppet, which is running as Local System.

On the Windows Server 2008 R2 machine I'm using this path exists but is empty:
C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Windows

Creating the full path does not affect the error.
C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

@jchoover

Local testing shows that the full path must exist before the file can be created. Now the question I have is if the path is really correct or not. The roaming profile on a Local System account doesn't feel right. Any chance you could post a link to a full log? (The shortcut creation shouldn't be creating the folders, Windows Installer should as it's defined in the directory table.)

@adunkman

I don't have that machine anymore; but just hit the same problem on Windows 7.

https://gist.github.com/4164506

@adunkman

I don't have that machine anymore unfortunately, but I just observed the same problem on Windows 7:

https://gist.github.com/4164506

@jchoover

Was a Wix bug ever filed for this? Now that they are on Git I am going to isolate the fix in a branch and submit a pull request.

@bnoordhuis

No one from the core team filed a bug AFAIK unless @sblom contacted the WiX people through other channels.

@sblom
Owner

Hey, @jchoover. I think most of my interaction was on the wix-dev mailing list and in person with Rob. It doesn't look like I filed a bug. We're working around this now, and it looks like I need to update this issue to reflect that. I'm still happy to help you test your fix on Windows Server Core if you need it.

@sblom
Owner

You can now install Node without shortcut creation by either deselecting the features that you don't want (i.e. shortcut creation) in the installer dialog, or by running msiexec explicitly with a list of the features that you'd like installed.

For example, to install node.exe and npm, you can do: msiexec /q /i node-v0.11.2-x86.msi ADDDEFAULT=NodeRuntime,npm

Other features include:

  • EnvironmentPath
  • NodeEtwSupport
  • NodePerfCtrSupport
  • DocumentationShortcuts
@sblom sblom closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.